From 3c884ccd7b51edf3b36840bf99de5edaa41a38a7 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期三, 12 十月 2022 19:05:28 +0800
Subject: [PATCH] 三说会堂事件流程处理

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java |  155 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 148 insertions(+), 7 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 ad42d5b..1ab0d6d 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
@@ -7,6 +7,13 @@
 
 import javax.annotation.Resource;
 
+import com.panzhihua.common.model.dtos.common.PageComActEasyPhotoEvaluateDto;
+import com.panzhihua.common.model.vos.common.ComActEasyPhotoHandlerVo;
+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;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -69,7 +76,14 @@
     private ComActReserveMapper comActReserveMapper;
     @Resource
     private ComActActivityDAO comActActivityDAO;
-
+    @Resource
+    private SysTemplateConfigDao sysTemplateConfigDao;
+    @Resource
+    private ComActEasyPhotoHandlerService easyPhotoHandlerService;
+    @Resource
+    private ComActEasyPhotoEvaluateMapper comActEasyPhotoEvaluateMapper;
+    @Resource
+    private ComActReserveRecordMapper comActReserveRecordMapper;
     /**
      * 分页查询随手拍
      *
@@ -106,7 +120,7 @@
                 }
 
                 if (comActEasyPhotoVO1.getActivityId() != null
-                    && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.ywc)) {
+                    && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.dpj)) {
                     // 查询随手拍活动
                     ComActEasyPhotoActivityDO photoActivityDO =
                         comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO1.getActivityId());
@@ -185,6 +199,10 @@
                 comActEasyPhotoVO.setEasyPhotoActivityVO(easyPhotoActivityVO);
             }
         }
+        PageComActEasyPhotoEvaluateDto evaluateDto = new PageComActEasyPhotoEvaluateDto();
+        evaluateDto.setServiceId(id);
+        evaluateDto.setServiceType(ComActEasyPhotoEvaluate.ServiceType.SSP);
+        comActEasyPhotoVO.setEvaluateList(comActEasyPhotoEvaluateMapper.queryAllByList(evaluateDto));
         return R.ok(comActEasyPhotoVO);
     }
 
@@ -288,10 +306,10 @@
                     cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.yes);
                     cmActEasyPhotoDO.setTransferReason(comActEasyPhotoVO.getTransferReason());
                     cmActEasyPhotoDO.setTransferTime(nowDate);
+
                 } else {
                     cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.no);
                 }
-                cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getHandlerId());
                 cmActEasyPhotoDO.setExamineAt(nowDate);
                 cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
                 if (StringUtils.isNotEmpty(comActEasyPhotoVO.getHandleResult())
@@ -308,6 +326,15 @@
                 // 审核通过判断随手拍是否有活动并计算用户收益
                 comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(), comActEasyPhotoVO.getId(),
                     comActEasyPhotoVO.getUserId(), BigDecimal.ZERO);
+
+                //添加分配人员
+                if(comActEasyPhotoVO.getHandleList() != null && comActEasyPhotoVO.getHandleList().size() > 0){
+                    comActEasyPhotoVO.getHandleList().forEach(handle -> {
+                        cmActEasyPhotoDO.setHandlerId(handle.getUserId());
+                        easyPhotoHandlerService.addHandleRecord(cmActEasyPhotoDO.getCommunityId(),handle.getUserId()
+                                ,cmActEasyPhotoDO.getId(),handle.getType(), ComActEasyPhotoHandler.ServiceType.SSP,comActEasyPhotoVO.getSponsorId());
+                    });
+                }
                 break;
             case 2:
                 // if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
@@ -332,7 +359,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())
@@ -354,7 +381,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);
@@ -594,10 +621,11 @@
                 Map<String, String> map = comActActSignDAO.getUserOpenId(easyPhotoDO.getSponsorId());
                 if (map != null) {
                     String openid = map.get("openid");
+                    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(), "随手拍有奖活动",
-                            grantRewardDTO.getAmount(), activityType);
+                        WxUtil.sendSubscribeJLDZ(openid, util.getAccessToken(), "随手拍有奖活动",
+                            grantRewardDTO.getAmount(), activityType,sysTemplateConfig.getTemplateId());
                     } catch (Exception e) {
                         log.error("消息推送失败,失败原因:" + e.getMessage());
                     }
@@ -691,7 +719,79 @@
         //查询社区正在进行中的应用预约/登记列表
         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
+        List<BannerVO> bannerVOS=this.comActEasyPhotoDAO.banner(communityId);
+        if(!bannerVOS.isEmpty()){
+            easyPhotoRewardVO.setBannerVOS(bannerVOS);
+        }
+        return R.ok(easyPhotoRewardVO);
+    }
+
+    /**
+     * 获取首页弹窗接口
+     *
+     * @param userId
+     *            用户id
+     * @param communityId
+     *            社区id
+     * @return 首页弹窗接口
+     */
+    @Override
+    public R getUserRewards(Long userId, Long communityId) {
+        // 结果返回参数
+        ComActEasyPhotoRewardVO easyPhotoRewardVO = new ComActEasyPhotoRewardVO();
+        // 查询随手拍活动
+        ComActEasyPhotoActivityVO photoActivityVO = new ComActEasyPhotoActivityVO();
+        Date nowDate = DateUtils.getCurrentDate(DateUtils.ymdhms_format);
+        List<ComActEasyPhotoActivityDO> photoActivityDOS =
+                comActEasyPhotoActivityMapper.selectList(new QueryWrapper<ComActEasyPhotoActivityDO>().lambda()
+                        .eq(ComActEasyPhotoActivityDO::getCommunityId, communityId)
+                        .eq(ComActEasyPhotoActivityDO::getStatus, ComActEasyPhotoActivityDO.status.jxz)
+                        .le(ComActEasyPhotoActivityDO::getActivityStartAt, nowDate)
+                        .ge(ComActEasyPhotoActivityDO::getActivityEndAt, nowDate));
+        if (!photoActivityDOS.isEmpty()) {
+            ComActEasyPhotoActivityDO photoActivityDO = photoActivityDOS.get(0);
+            BeanUtils.copyProperties(photoActivityDO, photoActivityVO);
+            easyPhotoRewardVO.setEasyPhotoActivityVO(photoActivityVO);
+        }
+        if (userId != null && userId != 0L) {
+            // 查询用户未读奖励金额
+            BigDecimal amount = comActEasyPhotoRewardMapper.getUserReward(userId, communityId);
+            if (amount != null) {
+                easyPhotoRewardVO.setAmount(amount);
+            }
+        }
+        // 查询当前社区正在进行中的弹窗调查问卷
+        ComActQuestnaireDO popupQuestnaireDO = comActQuestnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>()
+                .lambda().le(ComActQuestnaireDO::getStartTime, nowDate).ge(ComActQuestnaireDO::getEndTime, nowDate)
+                .eq(ComActQuestnaireDO::getCommunityId, communityId).eq(ComActQuestnaireDO::getState, 2)
+                .eq(ComActQuestnaireDO::getAdverPositionPopup, ComActQuestnaireDO.isOk.yes));
+        if (popupQuestnaireDO != null) {
+            ComActQuestnaireAppVO popupQuestnaireVO = new ComActQuestnaireAppVO();
+            BeanUtils.copyProperties(popupQuestnaireDO, popupQuestnaireVO);
+            if (userId != null) {
+                if (popupQuestnaireDO.getIsForce().equals(ComActQuestnaireDO.isOk.no)) {
+                    // 查询用户是否已点击不再提醒
+                    Integer count = comActQuestnaireDAO.getNoRemindCount(userId, popupQuestnaireVO.getId());
+                    if (count <= 0) {
+                        popupQuestnaireVO.setIsDisplay(ComActQuestnaireDO.isOk.yes);
+                    }
+                } else {
+                    popupQuestnaireVO.setIsDisplay(ComActQuestnaireDO.isOk.yes);
+                }
+            }
+            easyPhotoRewardVO.setPopupQuestnaireVO(popupQuestnaireVO);
         }
         return R.ok(easyPhotoRewardVO);
     }
@@ -781,4 +881,45 @@
         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();
+    }
+
 }

--
Gitblit v1.7.1