spring mybatis汇总统计处理的示例分析
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,这篇文章主要为大家展示了"spring mybatis汇总统计处理的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"spring mybatis汇总
千家信息网最后更新 2025年02月22日spring mybatis汇总统计处理的示例分析
这篇文章主要为大家展示了"spring mybatis汇总统计处理的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"spring mybatis汇总统计处理的示例分析"这篇文章吧。
public PageInfo getCenterInvestAnswerSum(GetCenterInvestSumReq askReq) throws BusinessException { PageInfo pageResult = new PageInfo(); final String METHOD = "getCenterAskInvestSum"; try { PageHelper.startPage(askReq.getPageNum(), askReq.getPageSize()); LogUtil.logInput(LOG_TYPE.BIZ.val, this, METHOD, askReq); // 1.如果存在投顾,es查询投顾信息 List adviserIdList = null; Map adviserMap = null; if (StringUtils.hasLength(askReq.getInvestAdviserName())) { AdviserEsReq adviserEsReq = new AdviserEsReq(); adviserEsReq.setInvestAdviserName(askReq.getInvestAdviserName()); adviserEsReq.setPageSize(1000); PageInfo pageInfo = AdviserEsUtils.findByParams(adviserEsReq); if (CollectionUtils.isEmpty(pageInfo.getList())) { return pageResult; } adviserIdList = new ArrayList(); adviserMap = new HashMap(); for (VdInvestAdviser adviser : pageInfo.getList()) { adviserIdList.add(adviser.getId()); adviserMap.put(adviser.getId(), adviser); } } // 2.查询需要统计的问股数据 AskStockStatisticsReq statisticsReq = new AskStockStatisticsReq(); statisticsReq.setBeginDate(DateUtils.toDate(askReq.getStartDate(), DateFormat.YEAR_MONTH_DAY)); statisticsReq.setEndDate( DateUtils.nextDays(DateUtils.toDate(askReq.getEndDate(), DateFormat.YEAR_MONTH_DAY), 1)); statisticsReq.setAdviserIdList(adviserIdList); List askList = this.apAskExtMapper.findByCreateTime(statisticsReq); if (CollectionUtils.isEmpty(askList)) { return pageResult; } // 3.判断是否需要查询投顾信息,用户未根据投顾姓名搜索则需要重新查询投顾信息 if (CollectionUtils.isEmpty(adviserIdList)) { adviserIdList = new ArrayList();// 最后循环组数据要用 Set adviserIdSet = new HashSet();// 去重用 adviserMap = new HashMap(); askList.forEach(ask -> { adviserIdSet.add(ask.getAdviserId()); }); adviserIdList.addAll(adviserIdSet); List adviserList = AdviserEsUtils.findByIds(adviserIdList); for (VdInvestAdviser adviser : adviserList) { adviserMap.put(adviser.getId(), adviser); } } // 4.统计数据 Map askCountMap = new HashMap();// 提问数map Map answerCountMap = new HashMap();// 解答数map Map reportCountMap = new HashMap();// 举报数map Map qualifiedCountMap = new HashMap();// 合格数map Map complianceCountMap = new HashMap();// 合规数map askList.forEach(ask -> { Long key = ask.getAdviserId(); setDataMap(askCountMap, key, 1); if (ask.getAnswerFlag() != null && ask.getAnswerFlag()) { setDataMap(answerCountMap, key, 1); } if (ask.getReportFlag() != null && ask.getReportFlag()) { setDataMap(reportCountMap, key, 1); } if (ask.getQualifiedFlag() != null && ask.getQualifiedFlag()) { setDataMap(qualifiedCountMap, key, 1); } if (ask.getComplianceFlag() != null && ask.getComplianceFlag()) { setDataMap(complianceCountMap, key, 1); } }); // 5.组返回页面数据 List resultList = new ArrayList(); for (Long adviserId : adviserIdList) { VdInvestAdviser adviser = adviserMap.get(adviserId); GetCenterInvestSumRes res = new GetCenterInvestSumRes(); res.setAdviserId(adviserId); res.setInvestAdviserName(adviser.getInvestAdviserName()); res.setInvestAdviserDept(adviser.getInvestAdviserDept()); res.setSatisfied(adviser.getAverageSatisfied()); res.setYybCode(adviser.getYybCode()); res.setAskAdviserCount(answerCountMap.containsKey(adviserId) ? answerCountMap.get(adviserId) : 0); res.setAskCount(askCountMap.containsKey(adviserId) ? askCountMap.get(adviserId) : 0); res.setQualifiedCount(qualifiedCountMap.containsKey(adviserId) ? qualifiedCountMap.get(adviserId) : 0); res.setComplianceCount( complianceCountMap.containsKey(adviserId) ? complianceCountMap.get(adviserId) : 0); res.setReportFlagCount(reportCountMap.containsKey(adviserId) ? reportCountMap.get(adviserId) : 0); resultList.add(res); } pageResult.setList(resultList); } catch (Exception e) { LogUtil.logError(LOG_TYPE.BIZ.val, this, METHOD, e); throw ExceptionUtil.generateException("统计解答问股的投股信息", e); } return pageResult; }
以上是"spring mybatis汇总统计处理的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
统计
信息
数据
查询
示例
分析
处理
内容
篇文章
学习
帮助
解答
姓名
易懂
更多
条理
用户
知识
统计数据
编带
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
党政机关网络安全问题
怎么看服务器里面文件
厦门吉比特网络技术股吧
大专计算机网络技术专业工资
集合和数据库
ftp服务器登陆失败是什么意思
p2p网络技术实现原理
讯飞输入法关闭网络安全吗
c 连接mysql数据库
一商店服务器失败
美团软件开发项目管理
软件开发工作分类知乎
有人能背国网络安全法
山西大学生网络安全与信息化
网络安全鸟巢技术
闵行区互联网软件开发大概费用
网络安全专硕学校调剂
存储在特征工程数据库
数据库作小区物业管理系统
我在数据库输入了
数据库事物处理的艺术
广东商城软件开发收费
农总行软件开发
腾讯云服务器为什么不能玩传奇
和龙软件开发公司在哪里
互联网展示科技馆设计
网络安全宣传工作思路
靖江巨型网络技术厂家价格
谈网络安全法
katalon使用数据库