千家信息网

spring mybatis汇总统计处理的示例分析

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要为大家展示了"spring mybatis汇总统计处理的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"spring mybatis汇总
千家信息网最后更新 2025年01月19日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安全错误 数据库的锁怎样保障安全 拓邦单片机软件开发工程师 养殖场智能综合管理系统软件开发 极路由2刷机打印服务器 网络安全裁员厉害吗 软件开发厂的工业因素 万年历代码软件开发 区住建局网络安全应急事件预案 泰安联想服务器代理客服电话 ad域服务器时间同步 农安先进网络技术咨询哪家好 公司邮箱提示无法写入数据库 小学生简单的网络安全ppt课件 福建华为服务器维修云主机 eclipse连接数据库案例 如何用亚马逊云服务器建网站 甘州区公安局网络安全大队刘伟 真实的网络安全大赛 汽车软件开发成本 百度网盘服务器出错了错误码2 连接杀手2服务器 vb软件开发环境有哪些 雷霆之击服务器职业 服务器管理器易语言源码 网络安全防范企业信息泄密宣传 完美服务器反作弊启动失败 工业网络安全毛利率 天津金泉软件开发 在软件开发中不属于 网络技术专业岗位 大行业软件开发是什么
0