真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

springmybatis匯總統(tǒng)計處理的示例分析

這篇文章主要為大家展示了“spring mybatis匯總統(tǒng)計處理的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“spring mybatis匯總統(tǒng)計處理的示例分析”這篇文章吧。

10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有閩侯免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

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.查詢需要統(tǒng)計的問股數(shù)據(jù)
   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.判斷是否需要查詢投顧信息,用戶未根據(jù)投顧姓名搜索則需要重新查詢投顧信息
   if (CollectionUtils.isEmpty(adviserIdList)) {
    adviserIdList = new ArrayList();// 最后循環(huán)組數(shù)據(jù)要用
    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.統(tǒng)計數(shù)據(jù)
   Map askCountMap = new HashMap();// 提問數(shù)map
   Map answerCountMap = new HashMap();// 解答數(shù)map
   Map reportCountMap = new HashMap();// 舉報數(shù)map
   Map qualifiedCountMap = new HashMap();// 合格數(shù)map
   Map complianceCountMap = new HashMap();// 合規(guī)數(shù)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.組返回頁面數(shù)據(jù)
   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("統(tǒng)計解答問股的投股信息", e);
  }
  return pageResult;
 }

以上是“spring mybatis匯總統(tǒng)計處理的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享文章:springmybatis匯總統(tǒng)計處理的示例分析
分享路徑:http://weahome.cn/article/picpes.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部