From 15fa9d64f49b8d1ae7d75a535ed45bb359e26024 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期一, 30 八月 2021 17:04:37 +0800
Subject: [PATCH] bug修复

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java |   90 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 78 insertions(+), 12 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
index a8f2b20..a128e4c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
@@ -2,13 +2,16 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.model.dtos.community.reserve.*;
 import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeDetailAdminVO;
-import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeOperationAdminVO;
-import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterStatisticsAdminVO;
+import com.panzhihua.common.model.vos.community.reserve.*;
 import com.panzhihua.common.utlis.DateUtils;
+import com.panzhihua.service_community.dao.ComActReserveAnswerContentMapper;
+import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper;
+import com.panzhihua.common.model.dtos.community.CancelRecordDTO;
+import com.panzhihua.common.model.vos.R;
 import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper;
 import com.panzhihua.service_community.dao.ComActReserveRecordMapper;
 import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO;
@@ -25,6 +28,9 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
 
 /**
  * @auther lyq
@@ -34,13 +40,47 @@
 @Slf4j
 @Service
 public class ComActReserveRecordServiceImpl extends ServiceImpl<ComActReserveRecordMapper, ComActReserveRecordDO> implements ComActReserveRecordService {
-
-    @Resource
-    private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper;
     @Resource
     private ComActReserveRecordMapper comActReserveRecordMapper;
     @Resource
+    private ComActReserveAnswerContentMapper comActReserveAnswerContentMapper;
+    @Resource
+    private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper;
+    @Resource
     private ComActReserveOperationRecordService comActReserveOperationRecordService;
+
+    private final static String CANCEL="用户取消";
+    @Override
+    @Transactional
+    public R cancel(CancelRecordDTO comActReserveRecord) {
+        if(comActReserveRecord!=null&&comActReserveRecord.getId()!=null){
+            //查询当前操作数据并判断取消状态
+            ComActReserveRecordDO comActReserveRecordDO=comActReserveRecordMapper.selectById(comActReserveRecord.getId());
+            if(comActReserveRecordDO!=null&&comActReserveRecordDO.getStatus()!=ComActReserveRecordDO.status.yqx){
+                comActReserveRecordDO.setStatus(ComActReserveRecordDO.status.yqx);
+                comActReserveRecordDO.setContent(comActReserveRecord.getContent());
+                int result =comActReserveRecordMapper.updateById(comActReserveRecordDO);
+                //判断取消状态并添加操作记录
+                if(result>0){
+                    ComActReserveOperationRecordDO comActReserveOperationRecordDO=new ComActReserveOperationRecordDO();
+                    comActReserveOperationRecordDO.setReserveId(comActReserveRecordDO.getReserveId());
+                    comActReserveOperationRecordDO.setReserveRecordId(comActReserveRecordDO.getId());
+                    comActReserveOperationRecordDO.setType(ComActReserveOperationRecordDO.type.br);
+                    comActReserveOperationRecordDO.setCreateAt(DateUtil.date());
+                    comActReserveOperationRecordDO.setReserveContent(CANCEL);
+                    comActReserveOperationRecordDO.setPhone(comActReserveRecordDO.getPhone());
+                    comActReserveOperationRecordDO.setStatus(ComActReserveOperationRecordDO.status.qx);
+                    comActReserveOperationRecordDO.setUserId(comActReserveRecordDO.getUserId());
+                    comActReserveOperationRecordMapper.insert(comActReserveOperationRecordDO);
+                    return R.ok();
+                }
+            }
+            return R.fail("无法重复取消");
+        }
+
+        return R.fail("参数异常");
+    }
+
 
     /**
      * 社区后台-根据预约id查询预约明细
@@ -88,7 +128,7 @@
                     //添加操作记录
                     comActReserveOperationRecordService.addReserveOperationRecord(reserveRecordDO.getReserveId()
                             ,reserveRecordDO.getId(),reserveRecordDO.getUserId(),ComActReserveOperationRecordDO.type.sq,null
-                            ,"社区管理员取消预约",reserveRecordDTO.getRemark(),ComActReserveOperationRecordDO.status.qx,userId);
+                            ,"社区管理员取消预约",reserveRecordDTO.getRemark(),ComActReserveOperationRecordDO.status.qx,userId,null);
                 }
             });
             return R.ok();
@@ -176,20 +216,21 @@
         makeHandleDTO.getIds().forEach(id -> {
             ComActReserveRecordDO reserveRecordDO = this.baseMapper.selectById(id);
             if(reserveRecordDO != null){
+                Date reserveTime = DateUtils.stringToDate(makeHandleDTO.getMakeTime(),DateUtils.ymdhms_format);
                 //判断处理是否通过
                 if(makeHandleDTO.getIsOk().equals(MakeHandleAdminDTO.isOk.yes)){
-                    reserveRecordDO.setStatus(ComActReserveRecordDO.status.yycg);
+                    reserveRecordDO.setStatus(ComActReserveRecordDO.status.cg);
                     comActReserveOperationRecordService.addReserveOperationRecord(reserveRecordDO.getReserveId()
                             ,id,reserveRecordDO.getUserId(),ComActReserveOperationRecordDO.type.sq,null
-                            ,"社区管理员处理预约成功",remark,ComActReserveOperationRecordDO.status.yycg,userId);
+                            ,"社区管理员处理预约成功",remark,ComActReserveOperationRecordDO.status.cg,userId,reserveTime);
                 }else if(makeHandleDTO.getIsOk().equals(MakeHandleAdminDTO.isOk.no)){
-                    reserveRecordDO.setStatus(ComActReserveRecordDO.status.yysb);
+                    reserveRecordDO.setStatus(ComActReserveRecordDO.status.sb);
                     comActReserveOperationRecordService.addReserveOperationRecord(reserveRecordDO.getReserveId()
                             ,id,reserveRecordDO.getUserId(),ComActReserveOperationRecordDO.type.sq,null
-                            ,"社区管理员处理预约失败",remark,ComActReserveOperationRecordDO.status.yysb,userId);
+                            ,"社区管理员处理预约失败",remark,ComActReserveOperationRecordDO.status.sb,userId,null);
                 }
                 reserveRecordDO.setActRemark(remark);
-                reserveRecordDO.setReserveTime(DateUtils.stringToDate(makeHandleDTO.getMakeTime(),DateUtils.ymdhms_format));
+                reserveRecordDO.setReserveTime(reserveTime);
                 reserveRecordDO.setUpdateAt(nowDate);
                 reserveRecordDO.setUpdateBy(userId);
                 updateList.add(reserveRecordDO);
@@ -212,4 +253,29 @@
         return R.ok(this.baseMapper.exportMakeHandleAdmin(pageMakeHandleDTO));
     }
 
+    @Override
+    public R registerDetailedDetailAdmin(Long reserveRecordId){
+        //查询用户信息
+        ComActReserveRegisterDetailedVO registerDetailedVO = this.baseMapper.getRegisterDetailedByRecordId(reserveRecordId);
+        if(registerDetailedVO != null){
+            //组装用户身份信息
+            StringBuilder sb = new StringBuilder();
+            if(registerDetailedVO.getIsPartymember().equals(1)){
+                sb.append("党员/");
+            }
+            if(registerDetailedVO.getIsVolunteer().equals(1)){
+                sb.append("志愿者/");
+            }
+            if(sb.length() == 0){
+                sb.append("居民/");
+            }
+            String identity = sb.toString();
+            registerDetailedVO.setIdentity(identity.substring(0,identity.length()-1));
+            //查询答题数据
+            List<ComActReserveRegisterDetailedAnswerVO> answerList = comActReserveAnswerContentMapper.getRegisterDetailedAnswerList(reserveRecordId);
+            registerDetailedVO.setAnswerList(answerList);
+        }
+        return R.ok(registerDetailedVO);
+    }
+
 }

--
Gitblit v1.7.1