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