From 6741baac0cdaa19e0ab9fa8ccd595337abb6dbaa Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期一, 30 八月 2021 14:18:30 +0800
Subject: [PATCH] 微心愿改版

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java |  102 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 71 insertions(+), 31 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java
index a7088ca..2824001 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java
@@ -7,20 +7,28 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenMicroListDTO;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComActMicroWishFeedbackVO;
+import com.panzhihua.common.model.vos.community.ComActMicroWishOperationRecordVO;
 import com.panzhihua.common.model.vos.community.ComActMicroWishVO;
 import com.panzhihua.common.model.vos.community.TodoEventsVO;
 import com.panzhihua.common.model.vos.community.screen.work.MicroListVO;
 import com.panzhihua.common.utlis.SensitiveUtil;
 import com.panzhihua.service_community.dao.ComActMicroWishDAO;
+import com.panzhihua.service_community.dao.ComActMicroWishFeedbackMapper;
+import com.panzhihua.service_community.dao.ComActMicroWishOperationRecordMapper;
 import com.panzhihua.service_community.dao.ComActMicroWishUserDAO;
 import com.panzhihua.service_community.model.dos.ComActMicroWishDO;
+import com.panzhihua.service_community.model.dos.ComActMicroWishFeedbackDO;
+import com.panzhihua.service_community.model.dos.ComActMicroWishOperationRecordDO;
 import com.panzhihua.service_community.model.dos.ComActMicroWishUserDO;
 import com.panzhihua.service_community.service.ComActMicroWishService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -37,7 +45,10 @@
     private ComActMicroWishDAO comActMicroWishDAO;
     @Resource
     private ComActMicroWishUserDAO comActMicroWishUserDAO;
-
+    @Resource
+    private ComActMicroWishFeedbackMapper comActMicroWishFeedbackMapper;
+    @Resource
+    private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper;
     /**
      * 分页查询微心愿
      *
@@ -108,6 +119,18 @@
                 comActMicroWishVO.setHaveGiveThumbsUp(1);
             }
         }
+        //查询反馈列表
+        if(comActMicroWishVO.getStatus()==5||comActMicroWishVO.getStatus()==6){
+            List<ComActMicroWishFeedbackVO> list=comActMicroWishFeedbackMapper.selectByWishId(id);
+            if(!list.isEmpty()){
+                comActMicroWishVO.setFeedbackVOList(list);
+            }
+        }
+        //查询操作记录
+        List<ComActMicroWishOperationRecordVO> list=comActMicroWishOperationRecordMapper.getByWishId(id);
+        if(!list.isEmpty()){
+            comActMicroWishVO.setOperationRecordVOList(list);
+        }
         comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone()));
         return R.ok(comActMicroWishVO);
     }
@@ -119,6 +142,7 @@
      * @return 操作结果
      */
     @Override
+    @Transactional
     public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
         Long id = comActMicroWishVO.getId();
         int type = comActMicroWishVO.getType().intValue();
@@ -129,16 +153,27 @@
         ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO();
         comActMicroWishDO.setId(id);
         Date date = new Date();
+        ComActMicroWishOperationRecordDO comActMicroWishOperationRecordDO=new ComActMicroWishOperationRecordDO();
+        comActMicroWishOperationRecordDO.setCreateTime(date);
+        comActMicroWishOperationRecordDO.setUserId(comActMicroWishVO.getUserId());
+        comActMicroWishOperationRecordDO.setWishId(comActMicroWishVO.getId());
 //        1 审核通过 2驳回 3分配人员 4发起活动 5反馈
         switch (type){
             case 1:
                 comActMicroWishDO.setExamineAt(date);
-                comActMicroWishDO.setStatus(2);//待分配
+                comActMicroWishDO.setAimNum(comActMicroWishVO.getAimNum());
+                comActMicroWishDO.setStatus(7);//集心中
+                comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.sh);
+                comActMicroWishOperationRecordDO.setContent("审核通过");
+                comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
                 break;
             case 2:
                 comActMicroWishDO.setExamineAt(date);
                 comActMicroWishDO.setRejectReason(rejectReason);
                 comActMicroWishDO.setStatus(4);//驳回
+                comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.bh);
+                comActMicroWishOperationRecordDO.setContent("审核未通过");
+                comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
                 break;
             case 3:
                 comActMicroWishDO.setDistributionAt(date);
@@ -156,13 +191,15 @@
                 if(comActMicroWishVO.getFeedback().length() > 200){
                     return R.fail("反馈字数不得超过200字");
                 }
-                comActMicroWishDO.setFeedbackAt(date);
-                comActMicroWishDO.setStatus(5);//待确认
-                comActMicroWishDO.setFeedback(feedback);
-                comActMicroWishDO.setFinish(feedback);
-                comActMicroWishDO.setFinishPhotoPathList(feedbackPhotoPathList);
-                comActMicroWishDO.setFinishAt(date);
-                comActMicroWishDO.setFeedbackPhotoPathList(feedbackPhotoPathList);
+                //新增反馈记录
+                ComActMicroWishFeedbackDO comActMicroWishFeedbackDO=new ComActMicroWishFeedbackDO();
+                comActMicroWishFeedbackDO.setCreatTime(date);
+                comActMicroWishFeedbackDO.setContent(feedback);
+                comActMicroWishFeedbackDO.setImgUrl(feedbackPhotoPathList);
+                comActMicroWishFeedbackDO.setMicroId(comActMicroWishVO.getId());
+                comActMicroWishFeedbackDO.setUserId(comActMicroWishVO.getUserId());
+                comActMicroWishDO.setStatus(5);
+                comActMicroWishFeedbackMapper.insert(comActMicroWishFeedbackDO);
                 break;
             default:
                 break;
@@ -181,33 +218,36 @@
      * @return 操作结果
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public R comActMicroWishVO(ComActMicroWishVO comActMicroWishVO) {
-        Integer haveGiveThumbsUp = comActMicroWishVO.getHaveGiveThumbsUp();
         Long userId = comActMicroWishVO.getSponsorId();
         Long microWishId = comActMicroWishVO.getId();
-        ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId).eq(ComActMicroWishUserDO::getUserId, userId));
-        boolean empty = ObjectUtils.isEmpty(comActMicroWishUserDO);
-        int num=0;
-        if (haveGiveThumbsUp.intValue()==1) {
-            if (empty) {
-                ComActMicroWishUserDO comActMicroWishUserDO1=new ComActMicroWishUserDO();
-                comActMicroWishUserDO1.setMicroWishId(microWishId);
-                comActMicroWishUserDO1.setUserId(userId);
-                num=comActMicroWishUserDAO.insert(comActMicroWishUserDO1);
-            }else{
-                return R.ok();
-            }
-        }else {
-            if (empty) {
-                return R.ok();
-            } else {
-                num= comActMicroWishUserDAO.deleteById(comActMicroWishUserDO.getId());
+        //查询微心愿集心数并判断修改微心愿状态
+        ComActMicroWishDO comActMicroWishDO=comActMicroWishDAO.selectById(microWishId);
+        Integer count=comActMicroWishUserDAO.selectCount(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId));
+        if(comActMicroWishDO!=null&&comActMicroWishDO.getAimNum()!=null&&count<comActMicroWishDO.getAimNum()){
+            if(comActMicroWishDO.getStatus()==ComActMicroWishDO.status.jx){
+                ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId).eq(ComActMicroWishUserDO::getUserId, userId));
+                boolean empty = ObjectUtils.isEmpty(comActMicroWishUserDO);
+                int num=0;
+                if (empty) {
+                    ComActMicroWishUserDO comActMicroWishUserDO1=new ComActMicroWishUserDO();
+                    comActMicroWishUserDO1.setMicroWishId(microWishId);
+                    comActMicroWishUserDO1.setUserId(userId);
+                    num=comActMicroWishUserDAO.insert(comActMicroWishUserDO1);
+                }else{
+                    return R.fail("无法重新点心");
+                }
+                if (num>0) {
+                    if(count>=comActMicroWishDO.getAimNum()-1){
+                        comActMicroWishDO.setStatus(ComActMicroWishDO.status.dfp);
+                        comActMicroWishDAO.updateById(comActMicroWishDO);
+                    }
+                    return R.ok();
+                }
             }
         }
-        if (num>0) {
-            return R.ok();
-        }
-        return R.fail();
+        return R.fail("该微心愿不可点心");
     }
 
     /**

--
Gitblit v1.7.1