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/ComActMicroWishServiceImpl.java |  136 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 131 insertions(+), 5 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 73f8308..b0c1a5b 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
@@ -1,6 +1,7 @@
 package com.panzhihua.service_community.service.impl;
 
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.DesensitizedUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -21,10 +22,12 @@
 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.entity.ComActEasyPhotoHandler;
 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.ComActEasyPhotoHandlerService;
 import com.panzhihua.service_community.service.ComActMicroWishOperationRecordService;
 import com.panzhihua.service_community.service.ComActMicroWishService;
 import lombok.extern.slf4j.Slf4j;
@@ -56,6 +59,8 @@
     private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper;
     @Resource
     private ComActMicroWishOperationRecordService wishOperationRecordService;
+    @Resource
+    private ComActEasyPhotoHandlerService easyPhotoHandlerService;
     /**
      * 分页查询微心愿
      *
@@ -125,6 +130,33 @@
         return R.ok(iPage);
     }
 
+    @Override
+    public R pageMicroWishAppletsDesensitize(ComActMicroWishVO comActMicroWishVO) {
+        Long userId = comActMicroWishVO.getResponsibleId();
+        IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWishApplets(new Page(comActMicroWishVO.getPageNum()
+                ,comActMicroWishVO.getPageSize()), comActMicroWishVO);
+        List<ComActMicroWishVO> records = iPage.getRecords();
+        if (!ObjectUtils.isEmpty(records)) {
+            records.forEach(comActMicroWishVO1 -> {
+                if(userId != null){
+                    Long id = comActMicroWishVO1.getId();
+                    ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
+                            .eq(ComActMicroWishUserDO::getUserId, userId));
+                    if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
+                        comActMicroWishVO1.setHaveGiveThumbsUp(0);
+                    } else {
+                        comActMicroWishVO1.setHaveGiveThumbsUp(1);
+                    }
+                }
+                comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
+                comActMicroWishVO1.setSponsorName(DesensitizedUtil.chineseName(comActMicroWishVO1.getSponsorName()));
+                comActMicroWishVO1.setResponsibleName(DesensitizedUtil.chineseName(comActMicroWishVO1.getResponsibleName()));
+            });
+            iPage.setRecords(records);
+        }
+        return R.ok(iPage);
+    }
+
     /**
      * 心愿详情
      *
@@ -173,6 +205,59 @@
         comActMicroWishVO.setResponsibleName(this.getWishHandleName(comActMicroWishVO.getHandleId()));
         return R.ok(comActMicroWishVO);
     }
+    /**
+     * 心愿详情 - 脱敏
+     *
+     * @param id 查询主键
+     * @param userId 登录用户id
+     * @return 心愿内容
+     */
+    @Override
+    public R detailMicroWishDesensitize(Long id, Long userId) {
+        ComActMicroWishVO comActMicroWishVO = comActMicroWishDAO.detailMicroWish(id);
+        if (ObjectUtils.isEmpty(comActMicroWishVO)) {
+            return R.fail("微心愿不存在");
+        }
+        Integer starNum = comActMicroWishVO.getStarNum();
+        if (null==starNum) {
+            comActMicroWishVO.setStarNum(0);
+        }
+        if (ObjectUtils.isEmpty(comActMicroWishVO)) {
+            return R.fail("心愿不存在");
+        }
+        if(userId != null){
+            ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id));
+            if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
+                comActMicroWishVO.setHaveGiveThumbsUp(0);
+            }else {
+                comActMicroWishVO.setHaveGiveThumbsUp(1);
+            }
+        }
+        //查询反馈列表
+        List<ComActMicroWishFeedbackVO> feedList=comActMicroWishFeedbackMapper.selectByWishId(id);
+        if(!feedList.isEmpty()){
+            for (ComActMicroWishFeedbackVO comActMicroWishFeedbackVO : feedList) {
+                comActMicroWishFeedbackVO.setName(DesensitizedUtil.chineseName(comActMicroWishFeedbackVO.getName()));
+            }
+            comActMicroWishVO.setFeedbackVOList(feedList);
+        }
+        //查询操作记录
+        List<ComActMicroWishOperationRecordVO> operationList=comActMicroWishOperationRecordMapper.getByWishId(id);
+        if(!operationList.isEmpty()){
+            comActMicroWishVO.setOperationRecordVOList(operationList);
+        }
+        comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone()));
+        comActMicroWishVO.setSponsorName(DesensitizedUtil.chineseName(comActMicroWishVO.getSponsorName()));
+        comActMicroWishVO.setResponsibleName(DesensitizedUtil.chineseName(comActMicroWishVO.getResponsibleName()));
+        //查询同类型id数组
+        List<Long> idList=comActMicroWishOperationRecordMapper.selectId(comActMicroWishVO);
+        if(!idList.isEmpty()){
+            comActMicroWishVO.setIdList(idList);
+        }
+        //查询处理人
+        comActMicroWishVO.setResponsibleName(DesensitizedUtil.chineseName(this.getWishHandleName(comActMicroWishVO.getHandleId())));
+        return R.ok(comActMicroWishVO);
+    }
 
     /**
      * 审核、分配、反馈心愿
@@ -182,7 +267,7 @@
      */
     @Override
     @Transactional
-    public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
+    public synchronized R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
         Long id = comActMicroWishVO.getId();
         int type = comActMicroWishVO.getType().intValue();
         String rejectReason = comActMicroWishVO.getRejectReason();
@@ -201,6 +286,7 @@
         if(microWishDO == null){
             return R.fail("未查询到该微心愿记录");
         }
+
 //        1 审核通过 2驳回 3分配人员 4发起活动 5反馈
         switch (type){
             case 1:
@@ -230,20 +316,53 @@
                 comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
                 break;
             case 3:
+                /**
+                 * 状态
+                 * 状态 1待审核  2待分配 3进行中  4已驳回 5待确认6 已完成
+                 */
+                if(comActMicroWishDO.getStatus()!=null && comActMicroWishDO.getStatus()!=2)
+                {
+                    return R.fail("该微心愿已认领,不可重复认领");
+                }
+
                 isUpdate = true;
                 comActMicroWishDO.setDistributionAt(date);
                 comActMicroWishDO.setResponsibleId(responsibleId);
                 comActMicroWishDO.setStatus(3);//进行中
-                comActMicroWishDO.setForm(1);
+//                comActMicroWishDO.setForm(1);
                 if(comActMicroWishVO.getHandleIds() != null && comActMicroWishVO.getHandleIds().size() > 0){
                     comActMicroWishDO.setHandleId(Joiner.on(",").join(comActMicroWishVO.getHandleIds()));
                 }
                 //添加操作记录
                 comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fp);
-                comActMicroWishOperationRecordDO.setContent("分配心愿");
-                comActMicroWishOperationRecordDO.setRemark("分配心愿");
+                if(comActMicroWishDO.getForm()!=null)
+                {
+                    if(comActMicroWishDO.getForm()==3)
+                    {
+                        comActMicroWishOperationRecordDO.setContent("认领心愿");
+                        comActMicroWishOperationRecordDO.setRemark("认领心愿");
+                    }
+                    else
+                    {
+                        comActMicroWishOperationRecordDO.setContent("分配心愿");
+                        comActMicroWishOperationRecordDO.setRemark("分配心愿");
+                    }
+                }
+                else
+                {
+                    comActMicroWishOperationRecordDO.setContent("分配心愿");
+                    comActMicroWishOperationRecordDO.setRemark("分配心愿");
+                }
                 comActMicroWishOperationRecordDO.setUserId(responsibleId);
                 comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
+
+                //添加分配人员
+                if(comActMicroWishVO.getHandleList() != null && comActMicroWishVO.getHandleList().size() > 0){
+                    comActMicroWishVO.getHandleList().forEach(handle -> {
+                        easyPhotoHandlerService.addHandleRecord(microWishDO.getCommunityId(),handle.getUserId()
+                                ,microWishDO.getId(),handle.getType(), ComActEasyPhotoHandler.ServiceType.WXY,comActMicroWishVO.getSponsorId());
+                    });
+                }
                 break;
             case 4:
                 isUpdate = true;
@@ -289,7 +408,14 @@
                     //添加操作记录
                     comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fk);
                     comActMicroWishOperationRecordDO.setContent(feedback);
-                    comActMicroWishOperationRecordDO.setRemark("社区反馈");
+                    if(comActMicroWishVO.getForm()==null || comActMicroWishVO.getForm() ==3  )
+                    {
+                        comActMicroWishOperationRecordDO.setRemark("用户反馈");
+                    }
+                    else
+                    {
+                        comActMicroWishOperationRecordDO.setRemark("社区反馈");
+                    }
                     comActMicroWishOperationRecordDO.setImgUrl(feedbackPhotoPathList);
                     comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
                 }

--
Gitblit v1.7.1