![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Problems
CCCCCCCYYY_
不会翻身的咸鱼一条
展开
-
【工作问题】多叉树的应用:用户代理等级升级策略
前言还是项目的新需求:每天进行一次更新用户等级,具体等级要求如下:很明显的是,高等级用户依赖于低等级用户的业绩和社区等级进行升级。也就是说需要从低等级用户开始升级,层层递进到高等级用户。这个时候选择一个合适的数据结构在开发中能省很多功夫,比如多叉树。多叉树实现其实不管是初始化树还是遍历的思路跟二叉树都是一样的。树的节点:@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)public class UserTr原创 2021-03-22 14:40:40 · 218 阅读 · 0 评论 -
【工作问题】MYSQL中字符串Id数组如何全部转换为中文?GROUP_CANCAT()
最近的需求有这么个场景:一张表存了开票主体的数据,其中权限设置包含了能使用这个主体开票的部门Id字符串(例如这样的:23,424,525,122,3232),做某张报表的时候要求把这些部门Id都转为中文显示出来。一开始也是觉得用SQL怎么可能实现呢?我只知道怎么去查一个部门的名字,Like一下就能查出来。但查出来之后还要怎么拼接起来再保存为一列呢?这用代码不就一行的事情,非要搞这么复杂ε=(´ο`*)))唉。GROUP_CANCAT()然后翻了一下Google(面向搜索引擎编程)发现了GROUP原创 2020-11-16 15:05:40 · 665 阅读 · 0 评论 -
【工作问题】略复杂Sql实现:如何把业务逻辑揉进Sql语句中?
场景最近在做公司的泛微二次开发,遇到了一个算麻烦的问题。有个需求大概是这样:返回实时计算剩余额度的开票公司主体列表。按一般MVC逻辑就很简单,先把公司主体列表全部取出来,再for循环一次遍历按照各种不同的条件计算好额度赋值后,返回给前端。但泛微这边不行(开发过的兄弟应该都懂…),因为前端经过了深度的封装,无法通过调用外部接口和传参进行实现该需求。那剩下的只有一个办法,就是业务逻辑全部通过sql实现,泛微前端通过调用该sql和传参,进行实时计算后返回。拆分需求一开始我觉得这是无法实现的,哪有业务逻辑写原创 2020-10-05 16:00:28 · 1038 阅读 · 0 评论 -
【工作问题】SpringAOP+注解实现接口出入口日志
AOP面向切面编程。将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。像平时开发,基本都要求在接口出入口增加Logback日志记录,方便调试排查问题。最简单的方法当然就是手动添加Log.info();但为什么不尝试Aop呢?一个注解就可以解决所有的出入口日志,不仅如此还可以同时记录接口执行时间Spring AOP在Spring中:1、如果目标对象实现了接原创 2020-09-05 23:44:42 · 281 阅读 · 0 评论 -
【工作问题】Mysql的Group By查询报错问题
Mysql的Group By查询报错问题最近用FineReport弄了几个报表,原先在测试数据库环境下跑的溜溜的,结果一切到正式数据库,报错了:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.user.user_id' which is not functionally dependent on columns in原创 2020-07-30 22:57:06 · 267 阅读 · 0 评论 -
【工作问题】URLConnection中文乱码问题
今天遇到一个很“奇怪”的问题,使用URLConnection发送POST请求调用中台某个接口一直返回500错误。那就开始排查问题吧。确认了请求参数的格式没有错误,标点符号都是对的,并且加了请求头参数connection.setRequestProperty("Accept-Charset", "UTF-8");,再次调用还是返回500错误。看了一眼我的请求参数,突然意识到是不是我传了中文的问题?于是把中文全部换成英文,调用成功。那问题来了,为什么有中文服务器就会返回500呢?我很确定传过去的JSO原创 2020-06-10 00:02:57 · 562 阅读 · 0 评论 -
【工作问题】Idea死活不能引用本地Class类(Import Class)导致报红问题
今天项目的service类玩着玩着就突然报红了,Import Class不行,就是死活找不到类,导致override等各种报错。撤销所有更改,也不行还是爆红无法找到类。但是项目可以运行,接口也能使用,那问题出在哪里呢。。。搜了一会,发现了解决办法记录一下。原因:IDEA中的缓存。项目中的缓存,建立的索引报错了,导致不能正常引用现有的类。解决:清理idea缓存,如图。点击后清理缓存并重...原创 2020-05-07 16:58:03 · 4786 阅读 · 1 评论 -
【工作问题】SpringContextUtils.getBean和@Autowired的问题
今天写了一个类实现的是UncaughtExceptionHandler接口,用于捕获未处理的异常,然后将报错信息存入数据库。 @Autowired ExceptionMsgService exceptionMsgService;//null ExceptionMsgService exceptionMsgService = SpringContextUtils.getBe...原创 2020-04-09 12:54:03 · 4463 阅读 · 1 评论 -
【工作问题】Double类型不使用e指数打印展示
今天遇到了一个Double类型展示的问题。取出来数据后直接打印出来,会转换为5.212412417E14这样带e指数的格式。如果不需要转为e指数,则需要用到Java中的DecimalFormat格式进行转换。代码: DecimalFormat doubleFormat = new DecimalFormat(); doubleFormat.setMaximumFractionDigit...原创 2020-03-30 09:49:30 · 804 阅读 · 0 评论 -
【工作问题】RestTemplate的三种使用方式?
第一种,URL写死:RestTemplate restTemplate = new RestTemplate();String response = restTemplate.getForObject("http://127.0.0.1:8080/log",String.class);第二种,用loadBalancerClient(SpringCloud提供)通过service名来获取ur...原创 2020-03-04 23:44:42 · 122 阅读 · 0 评论 -
【工作问题】数据库查询如何取同表内的关联数据?
比如说一张表organ内有这样几个字段:ID | parent_ID | NAME 现在取了上面三个字段后,想通过这条数据的parent_ID取到他的parent的NAME值首先实用了并表:SELECT a.name,b.name as superior FROM ORGAN aLEFT JOIN ORGAN bON a.PARENT_ID=b.ID经过测试,这样写效率没有...原创 2020-03-04 14:47:23 · 235 阅读 · 0 评论 -
【工作问题】Elasticsearch的最大字符数
org.apache.lucene.util.automaton.TooComplexToDeterminizeException:Determinizing automaton with 55142 states and 127502 transitions wouldresult in more than 10000 states. atorg.apache.lucene.util.a...原创 2020-03-03 21:35:58 · 1445 阅读 · 0 评论