From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java | 389 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 376 insertions(+), 13 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java index fcd9303..c312a0d 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java @@ -1,13 +1,21 @@ package com.panzhihua.service_community.service.impl; import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.time.LocalDate; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; import javax.annotation.Resource; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.DesensitizedUtil; +import com.alibaba.fastjson.JSONObject; +import com.panzhihua.common.model.dtos.common.PageComActEasyPhotoEvaluateDto; +import com.panzhihua.common.model.vos.common.ComActEasyPhotoHandlerVo; +import com.panzhihua.common.model.vos.community.acid.ComActAcidColorChartsVO; import com.panzhihua.common.model.vos.community.easyPhoto.BannerVO; +import com.panzhihua.service_community.entity.ComActEasyPhotoEvaluate; import com.panzhihua.service_community.entity.ComActEasyPhotoHandler; import com.panzhihua.service_community.entity.SysTemplateConfig; import com.panzhihua.service_community.service.ComActEasyPhotoHandlerService; @@ -77,6 +85,10 @@ private SysTemplateConfigDao sysTemplateConfigDao; @Resource private ComActEasyPhotoHandlerService easyPhotoHandlerService; + @Resource + private ComActEasyPhotoEvaluateMapper comActEasyPhotoEvaluateMapper; + @Resource + private ComActReserveRecordMapper comActReserveRecordMapper; /** * 分页查询随手拍 * @@ -113,7 +125,7 @@ } if (comActEasyPhotoVO1.getActivityId() != null - && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.ywc)) { + && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.dpj)) { // 查询随手拍活动 ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO1.getActivityId()); @@ -138,6 +150,51 @@ } return R.ok(iPage); } + + @Override + public R pageEasyPhotoAdminLC(Long pageNum,Long pageSize) { + Page page = new Page<>(); + if (null == pageNum || 0 == pageNum) { + pageNum = 1l; + } + if (null == pageSize || 0 == pageSize) { + pageSize = 10l; + } + page.setSize(pageSize); + page.setCurrent(pageNum); + IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoAdminLC(page); + List<ComActEasyPhotoVO> records = iPage.getRecords(); + if (!ObjectUtils.isEmpty(records)) { + records.forEach(comActEasyPhotoVO1 -> { + Long id = comActEasyPhotoVO1.getId(); + + if (comActEasyPhotoVO1.getActivityId() != null + && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.dpj)) { + // 查询随手拍活动 + ComActEasyPhotoActivityDO photoActivityDO = + comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO1.getActivityId()); + if (photoActivityDO != null) { + if (comActEasyPhotoVO1.getActivityType() != null) { + if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)) { + comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getGoodReward()); + } else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)) { + comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getExcellentReward()); + } else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)) { + comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getOrdinaryReward()); + } else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)) { + comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getCommonlyReward()); + } else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.wu)) { + comActEasyPhotoVO1.setActivityMoney(BigDecimal.ZERO); + } + } + } + } + }); + iPage.setRecords(records); + } + return R.ok(iPage); + } + /** * 随手拍详情 @@ -173,7 +230,8 @@ // } // 查询反馈信息 - List<ComActEasyPhotoFeedbackVO> photoFeedbackList = comActEasyPhotoFeedbackMapper.getPhotoFeedbackList(id); + List<ComActEasyPhotoFeedbackVO> photoFeedbackList = + comActEasyPhotoFeedbackMapper.getPhotoFeedbackList(id); if (!photoFeedbackList.isEmpty()) { comActEasyPhotoVO.setPhotoFeedbackList(photoFeedbackList); } @@ -192,6 +250,70 @@ comActEasyPhotoVO.setEasyPhotoActivityVO(easyPhotoActivityVO); } } + PageComActEasyPhotoEvaluateDto evaluateDto = new PageComActEasyPhotoEvaluateDto(); + evaluateDto.setServiceId(id); + evaluateDto.setServiceType(ComActEasyPhotoEvaluate.ServiceType.SSP); + comActEasyPhotoVO.setEvaluateList(comActEasyPhotoEvaluateMapper.queryAllByList(evaluateDto)); + return R.ok(comActEasyPhotoVO); + } + /** + * 随手拍详情 - 脱敏 + * + * @param id + * 随手拍主键 + * @param userId + * @return 详情内容 + */ + @Override + public R detailEasyPhotoDesensitize(Long id, Long userId) { + ComActEasyPhotoVO comActEasyPhotoVO = comActEasyPhotoDAO.detailEasyPhoto(id); + Integer status = comActEasyPhotoVO.getStatus(); + if (ObjectUtils.isEmpty(comActEasyPhotoVO) || null == status) { + return R.fail("随手拍不存在"); + } + if (!userId.equals(0L)) { + ComActEasyPhotoUserDO comActEasyPhotoUserDO = + comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda() + .eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId)); + if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) { + comActEasyPhotoVO.setHaveGiveThumbsUp(0); + } else { + comActEasyPhotoVO.setHaveGiveThumbsUp(1); + } + } + comActEasyPhotoVO.setSponsorName(DesensitizedUtil.chineseName(comActEasyPhotoVO.getSponsorName())); + comActEasyPhotoVO.setHandlerName(DesensitizedUtil.chineseName(comActEasyPhotoVO.getHandlerName())); + comActEasyPhotoVO.setCompleteName(DesensitizedUtil.chineseName(comActEasyPhotoVO.getCompleteName())); + comActEasyPhotoVO.setPhone(DesensitizedUtil.mobilePhone(comActEasyPhotoVO.getPhone())); + + // 查询反馈信息 + List<ComActEasyPhotoFeedbackVO> photoFeedbackList = comActEasyPhotoFeedbackMapper.getPhotoFeedbackList(id); + if (!photoFeedbackList.isEmpty()) { + if (CollUtil.isNotEmpty(photoFeedbackList)){ + for (ComActEasyPhotoFeedbackVO comActEasyPhotoFeedbackVO : photoFeedbackList) { + comActEasyPhotoFeedbackVO.setCreateByName(DesensitizedUtil.chineseName(comActEasyPhotoFeedbackVO.getCreateByName())); + } + } + comActEasyPhotoVO.setPhotoFeedbackList(photoFeedbackList); + } + + if (comActEasyPhotoVO.getAddrRemark() == null) { + comActEasyPhotoVO.setAddrRemark(""); + } + + if (comActEasyPhotoVO.getActivityId() != null) { + ComActEasyPhotoActivityDO photoActivityDO = + comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO.getActivityId()); + if (photoActivityDO != null) { + ComActEasyPhotoActivityVO easyPhotoActivityVO = new ComActEasyPhotoActivityVO(); + BeanUtils.copyProperties(photoActivityDO, easyPhotoActivityVO); + comActEasyPhotoVO.setEasyPhotoActivityVO(easyPhotoActivityVO); + } + } + PageComActEasyPhotoEvaluateDto evaluateDto = new PageComActEasyPhotoEvaluateDto(); + evaluateDto.setServiceId(id); + evaluateDto.setServiceType(ComActEasyPhotoEvaluate.ServiceType.SSP); + comActEasyPhotoVO.setEvaluateList(comActEasyPhotoEvaluateMapper.queryAllByList(evaluateDto)); return R.ok(comActEasyPhotoVO); } @@ -222,7 +344,9 @@ } int insert = comActEasyPhotoDAO.insert(comActEasyPhotoDO); if (insert > 0) { - return R.ok(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("id",comActEasyPhotoDO.getId()); + return R.ok(jsonObject); } return R.fail(); } @@ -287,6 +411,7 @@ case 1: if (!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)) { return R.fail("该随手拍已处理,不可重复操作"); +// return R.ok(); } cmActEasyPhotoDO.setStatus(2);// 进行中 cmActEasyPhotoDO.setIsNeedFeedBack(1); @@ -297,9 +422,8 @@ cmActEasyPhotoDO.setTransferTime(nowDate); } else { - cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.no); + cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.no ); } - cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getHandlerId()); cmActEasyPhotoDO.setExamineAt(nowDate); cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType()); if (StringUtils.isNotEmpty(comActEasyPhotoVO.getHandleResult()) @@ -320,8 +444,9 @@ //添加分配人员 if(comActEasyPhotoVO.getHandleList() != null && comActEasyPhotoVO.getHandleList().size() > 0){ comActEasyPhotoVO.getHandleList().forEach(handle -> { - easyPhotoHandlerService.addHandleRecord(cmActEasyPhotoDO.getCommunityId(),comActEasyPhotoVO.getUserId() - ,cmActEasyPhotoDO.getId(),handle.getType(), ComActEasyPhotoHandler.ServiceType.SSP); + cmActEasyPhotoDO.setHandlerId(handle.getUserId()); + easyPhotoHandlerService.addHandleRecord(cmActEasyPhotoDO.getCommunityId(),handle.getUserId() + ,cmActEasyPhotoDO.getId(),handle.getType(), ComActEasyPhotoHandler.ServiceType.SSP,comActEasyPhotoVO.getSponsorId()); }); } break; @@ -348,7 +473,7 @@ comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO); break; case 4: - if (cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.ywc)) { + if (cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.ypj)) { return R.fail("该随手拍已完成,不可重复操作"); } if (StringUtils.isNotEmpty(comActEasyPhotoVO.getHandleResult()) @@ -370,7 +495,7 @@ // comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(),comActEasyPhotoVO.getId(),comActEasyPhotoVO.getUserId(),BigDecimal.ZERO); // } cmActEasyPhotoDO.setFeedbackAt(nowDate); - cmActEasyPhotoDO.setStatus(ComActEasyPhotoDO.status.ywc); + cmActEasyPhotoDO.setStatus(ComActEasyPhotoDO.status.dpj); cmActEasyPhotoDO.setCompleteId(comActEasyPhotoVO.getUserId()); if(comActEasyPhotoVO.getUrbanStatus()!=null&&comActEasyPhotoVO.getUrbanStatus()==2){ cmActEasyPhotoDO.setUrbanStatus(2); @@ -378,6 +503,9 @@ break; default: break; + } + if (!ObjectUtils.isEmpty(comActEasyPhotoVO.getIsReportDpc())){ + cmActEasyPhotoDO.setIsReportDpc(comActEasyPhotoVO.getIsReportDpc()); } if (!type.equals(3)) { int update = comActEasyPhotoDAO.updateById(cmActEasyPhotoDO); @@ -453,6 +581,65 @@ } /** + * 小程序分页查询随手拍 脱敏 + * + * @param comActEasyPhotoVO + * 查询参数 + * @return 返回结果 + */ + @Override + public R pageEasyPhotoAppletsDesensitize(ComActEasyPhotoVO comActEasyPhotoVO) { + Page page = new Page<>(); + Long pageNum = comActEasyPhotoVO.getPageNum(); + Long pageSize = comActEasyPhotoVO.getPageSize(); + Long userId = comActEasyPhotoVO.getLogInUserId(); + if (null == pageNum || 0 == pageNum) { + pageNum = 1l; + } + if (null == pageSize || 0 == pageSize) { + pageSize = 10l; + } + page.setSize(pageSize); + page.setCurrent(pageNum); + IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoApplets(page, comActEasyPhotoVO); + List<ComActEasyPhotoVO> records = iPage.getRecords(); + if (userId != null) { + if (!ObjectUtils.isEmpty(records)) { + records.forEach(comActEasyPhotoVO1 -> { + Long id = comActEasyPhotoVO1.getId(); + Integer status = comActEasyPhotoVO1.getStatus(); + Date feedbackAt = comActEasyPhotoVO1.getFeedbackAt(); + comActEasyPhotoVO1.setSponsorName(DesensitizedUtil.chineseName(comActEasyPhotoVO1.getSponsorName())); + comActEasyPhotoVO1.setHandlerName(DesensitizedUtil.chineseName(comActEasyPhotoVO1.getHandlerName())); + comActEasyPhotoVO1.setCompleteName(DesensitizedUtil.chineseName(comActEasyPhotoVO1.getCompleteName())); + comActEasyPhotoVO1.setPhone(DesensitizedUtil.mobilePhone(comActEasyPhotoVO1.getPhone())); + List<ComActEasyPhotoUserDO> comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectList( + new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id) + .eq(ComActEasyPhotoUserDO::getUserId, userId)); + if (comActEasyPhotoUserDO == null || comActEasyPhotoUserDO.size() == 0) { + comActEasyPhotoVO1.setHaveGiveThumbsUp(0); + } else { + comActEasyPhotoVO1.setHaveGiveThumbsUp(1); + } + if (status.intValue() == 4 && null == feedbackAt) { + comActEasyPhotoVO1.setFeedbackAt(comActEasyPhotoVO1.getExamineAt()); + } + //反馈信息列表 + List<ComActEasyPhotoFeedbackVO> photoFeedbackList = comActEasyPhotoVO1.getPhotoFeedbackList(); + if (CollUtil.isNotEmpty(photoFeedbackList)){ + for (ComActEasyPhotoFeedbackVO comActEasyPhotoFeedbackVO : photoFeedbackList) { + comActEasyPhotoFeedbackVO.setCreateByName(DesensitizedUtil.chineseName(comActEasyPhotoFeedbackVO.getCreateByName())); + } + } + comActEasyPhotoVO1.setPhotoFeedbackList(photoFeedbackList); + }); + iPage.setRecords(records); + } + } + return R.ok(iPage); + } + + /** * 随手拍评论分页查询 * * @param pageComActEasyPhotoCommentDTO @@ -476,6 +663,39 @@ comActEasyPhotoCommentDAO.pageComActEasyPhotoComment(page, pageComActEasyPhotoCommentDTO); if (!iPage.getRecords().isEmpty()) { for (ComActEasyPhotoCommentVO commentVO : iPage.getRecords()) { + if (StringUtils.isEmpty(commentVO.getName())) { + commentVO.setName(commentVO.getNickName()); + } + } + } + return R.ok(iPage); + } + + /** + * 随手拍评论分页查询 - 脱敏 + * + * @param pageComActEasyPhotoCommentDTO + * 查询参数 + * @return 查询结果 + */ + @Override + public R pageComActEasyPhotoCommentDesensitize(PageComActEasyPhotoCommentDTO pageComActEasyPhotoCommentDTO) { + Page page = new Page<>(); + Long pageNum = pageComActEasyPhotoCommentDTO.getPageNum(); + Long pageSize = pageComActEasyPhotoCommentDTO.getPageSize(); + if (null == pageNum || 0 == pageNum) { + pageNum = 1l; + } + if (null == pageSize || 0 == pageSize) { + pageSize = 10l; + } + page.setSize(pageSize); + page.setCurrent(pageNum); + IPage<ComActEasyPhotoCommentVO> iPage = + comActEasyPhotoCommentDAO.pageComActEasyPhotoComment(page, pageComActEasyPhotoCommentDTO); + if (!iPage.getRecords().isEmpty()) { + for (ComActEasyPhotoCommentVO commentVO : iPage.getRecords()) { + commentVO.setNickName(DesensitizedUtil.chineseName(commentVO.getNickName())); if (StringUtils.isEmpty(commentVO.getName())) { commentVO.setName(commentVO.getNickName()); } @@ -613,7 +833,7 @@ SysTemplateConfig sysTemplateConfig=sysTemplateConfigDao.selectOne(new QueryWrapper<SysTemplateConfig>().lambda().eq(SysTemplateConfig::getAreaCode, grantRewardDTO.getAreaCode()).eq(SysTemplateConfig::getType,7)); WxXCXTempSend util = new WxXCXTempSend(); try { - WxUtil.sendSubscribeJLDZ(openid, util.getAppAccessToken(), "随手拍有奖活动", + WxUtil.sendSubscribeJLDZ(openid, util.getAccessToken(), "随手拍有奖活动", grantRewardDTO.getAmount(), activityType,sysTemplateConfig.getTemplateId()); } catch (Exception e) { log.error("消息推送失败,失败原因:" + e.getMessage()); @@ -708,6 +928,15 @@ //查询社区正在进行中的应用预约/登记列表 List<ComActReserveIndexVo> comActReserveIndexApplicationVos=comActReserveMapper.indexApplication(communityId); if(!comActReserveIndexApplicationVos.isEmpty()){ + comActReserveIndexApplicationVos.forEach(comActReserveIndexVo -> { + Integer count=comActReserveRecordMapper.selectCount(new QueryWrapper<ComActReserveRecordDO>().lambda().eq(ComActReserveRecordDO::getReserveId,comActReserveIndexVo.getId()).eq(ComActReserveRecordDO::getUserId,userId)); + if(count>0){ + comActReserveIndexVo.setIsCommit(1); + } + else { + comActReserveIndexVo.setIsCommit(2); + } + }); easyPhotoRewardVO.setComActReserveIndexApplicationVos(comActReserveIndexApplicationVos); } //查询banner @@ -861,4 +1090,138 @@ return R.ok(this.baseMapper.easyPhotoNoHandleIds(communityId)); } + /** + * 获取人大代表反馈记录 + * @param id 随手拍id + * @return + */ + @Override + public R getFeedbackList(Long id) { + return R.ok(comActEasyPhotoFeedbackMapper.getPhotoFeedbackListForDpc(id)); + } + + /** + * 人大代表反馈随手拍 + * @param comActEasyPhotoVO + * @return + */ + @Override + public R addEasyPhotoFeedbackForDpc(ComActEasyPhotoVO comActEasyPhotoVO) { + Date nowDate = new Date(); + // 操作类型 1审核通过 2驳回 3反馈 4完成随手拍 + ComActEasyPhotoDO cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId()); + if (cmActEasyPhotoDO == null) { + return R.fail("未查询到随手拍记录"); + } + if (!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)) { + return R.fail("该随手拍不是进行中状态,不可进行反馈"); + } + // 给随手拍新增反馈信息 + ComActEasyPhotoFeedbackDO photoFeedbackDO = new ComActEasyPhotoFeedbackDO(); + photoFeedbackDO.setEasyId(comActEasyPhotoVO.getId()); + photoFeedbackDO.setFeedbackContent(comActEasyPhotoVO.getHandleResult()); + photoFeedbackDO.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList()); + photoFeedbackDO.setType(2); + photoFeedbackDO.setCreateAt(nowDate); + photoFeedbackDO.setCreateBy(comActEasyPhotoVO.getUserId()); + int result = comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO); + if (result > 0) { + return R.ok(); + } + return R.fail(); + } + + /** + * 获取社区置顶动态banner + * @param communityId + * */ + @Override + public R getUserRewardNew(Long userId, Long communityId) { + ComActEasyPhotoRewardVO easyPhotoRewardVO=new ComActEasyPhotoRewardVO(); + List<BannerVO> bannerVOS=this.comActEasyPhotoDAO.getBanner(communityId); + if(!bannerVOS.isEmpty()){ + easyPhotoRewardVO.setBannerVOS(bannerVOS); + } + return R.ok(easyPhotoRewardVO); + } + + @Override + public R selectStatisticsPhoto(){ + //所有分组 + List<StatisticsPhotoVO> statisticsPhotoVOS = this.baseMapper.selectPhotoAll(); + int all = statisticsPhotoVOS.stream().mapToInt(StatisticsPhotoVO::getCountNum).sum(); + for (StatisticsPhotoVO statisticsPhotoVO : statisticsPhotoVOS) { + if (0!=all){ + BigDecimal countNum = new BigDecimal(statisticsPhotoVO.getCountNum()); + BigDecimal allDecimal = new BigDecimal(all); + BigDecimal percent = countNum.divide(allDecimal,4, BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(100)); + statisticsPhotoVO.setPercent(percent); + } + } +// Map<String, StatisticsPhotoVO> circleMap = statisticsPhotoVOS +// .stream() +// .collect(Collectors.toMap(StatisticsPhotoVO::getCountName, Function.identity())); + + + //按月份查询 + List<StatisticsPhotoVO> statisticsPhotoVOS1 = this.baseMapper.selectPhotoByMonth(); + //按类型分组求和 + Map<String, IntSummaryStatistics> statusCollect = statisticsPhotoVOS1 + .stream() + .collect(Collectors.groupingBy(StatisticsPhotoVO::getCountName, + Collectors.summarizingInt(StatisticsPhotoVO::getCountNum))); + + for (StatisticsPhotoVO statisticsPhotoVO : statisticsPhotoVOS1) { + String countName = statisticsPhotoVO.getCountName(); + if (statusCollect.containsKey(countName)){ + IntSummaryStatistics intSummaryStatistics = statusCollect.get(countName); + long sum = intSummaryStatistics.getSum(); + if (0L!=sum) { + BigDecimal countNum = new BigDecimal(statisticsPhotoVO.getCountNum()); + BigDecimal sumDecimal = new BigDecimal(sum); + BigDecimal percent = countNum.divide(sumDecimal, 4, BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(100)); + statisticsPhotoVO.setPercent(percent); + } + } + } + Map<String, Map<String, StatisticsPhotoVO>> chartMap = statisticsPhotoVOS1.stream().collect(Collectors.groupingBy(StatisticsPhotoVO::getStatisticsDate, Collectors.toMap(StatisticsPhotoVO::getCountName, Function.identity()))); + + + + + // 状态 1待处理 2进行中 3已驳回 4待评价 5.已完成 + String[] statusArr = {"待处理","进行中","已驳回","待评价","已完成"}; + List<String> latest12Month = DateUtils.getLatest12Month(LocalDate.now(), 10); + for (String month : latest12Month) { + Map<String, StatisticsPhotoVO> map1; + if(chartMap.containsKey(month)){ + map1 = chartMap.get(month); + }else { + map1 = new HashMap<>(); + } + for (String status : statusArr) { + if (!map1.containsKey(status)){ + StatisticsPhotoVO statisticsPhotoVO = new StatisticsPhotoVO(); + statisticsPhotoVO.setCountNum(0); + statisticsPhotoVO.setStatisticsDate(month); + statisticsPhotoVO.setCountName(status); + statisticsPhotoVOS1.add(statisticsPhotoVO); + map1.put(status,statisticsPhotoVO); + } + } + chartMap.put(month,map1); + } + Map<String, List<StatisticsPhotoVO>> stringListMap = statisticsPhotoVOS1 + .stream() + .sorted(Comparator.comparing(StatisticsPhotoVO::getStatisticsDate)) + .collect(Collectors.groupingBy(StatisticsPhotoVO::getCountName)); + + + Map<String,Object> retMap = new HashMap<>(); + retMap.put("statisticsPhotoVOS",statisticsPhotoVOS); + retMap.put("monthMap",stringListMap); + + return R.ok(retMap); + } + } -- Gitblit v1.7.1