From b591b26cc9290e1469281e3bc22b8aea4f8d061a Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期三, 06 七月 2022 15:30:05 +0800
Subject: [PATCH] 应急队伍

---
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java |  162 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 146 insertions(+), 16 deletions(-)

diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java
index 5c5c0ef..b40fdf9 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java
@@ -10,6 +10,7 @@
 import com.gkhy.safePlatform.emergency.entity.*;
 import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
 import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamFileReqDTO;
 import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamMemberReqDTO;
 import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamReqDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamDetailRespDTO;
@@ -30,6 +31,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service("emergencyTeamService")
 public class EmergencyTeamServiceImpl implements EmergencyTeamService {
@@ -81,7 +83,6 @@
 
     @Override
     public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
-
         //必填项验证
         checkRequired(emergencyTeamReqDTO);
 
@@ -94,30 +95,43 @@
         emergencyTeamInfo.setGmtCreate(nowDate);
         emergencyTeamInfoService.addEmergencyTeam(emergencyTeamInfo);
         //2.新增应急队伍附件
-        List<EmergencyTeamFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(), EmergencyTeamFileInfo.class);
+        addEmergencyTeamFile(emergencyTeamInfo.getId(),uid,nowDate,emergencyTeamReqDTO.getFileList());
+        //3.新增应急队伍人员
+        addEmergencyTeamMember(emergencyTeamInfo.getId(),uid,nowDate,emergencyTeamReqDTO.getMemberList());
+
+        return new ResultVO(ResultCodes.OK);
+    }
+
+    private void  addEmergencyTeamFile(Long teamId ,Long uid , Date nowDate , List<EmergencyTeamFileReqDTO> emergencyTeamFileReqDTOList){
+        List<EmergencyTeamFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(emergencyTeamFileReqDTOList, EmergencyTeamFileInfo.class);
         fileInfoList.forEach(EmergencyTeamFileInfo -> {
-            EmergencyTeamFileInfo.setTeamId(emergencyTeamInfo.getId());
+            EmergencyTeamFileInfo.setTeamId(teamId);
             EmergencyTeamFileInfo.setDelFlag(false);
             EmergencyTeamFileInfo.setCreateUid(uid);
             EmergencyTeamFileInfo.setGmtCreate(nowDate);
         });
-        emergencyTeamFileInfoService.addEmergencyTeamFile(fileInfoList);
-        //3.新增应急队伍人员
-        List<EmergencyTeamMemberInfo> memberInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getMemberList(), EmergencyTeamMemberInfo.class);
-        memberInfoList.forEach(EmergencyTeamMemberInfo -> {
-            EmergencyTeamMemberInfo.setTeamId(emergencyTeamInfo.getId());
-            EmergencyTeamMemberInfo.setDelFlag(false);
-            EmergencyTeamMemberInfo.setCreateUid(uid);
-            EmergencyTeamMemberInfo.setGmtCreate(nowDate);
-        });
-        emergencyTeamMemberInfoService.addEmergencyTeamMember(memberInfoList);
+        for (EmergencyTeamFileInfo emergencyTeamFileInfo :fileInfoList){
+            emergencyTeamFileInfoService.addEmergencyTeamFile(emergencyTeamFileInfo);
+        }
+    }
 
-        return new ResultVO(ResultCodes.OK);
+    private void  addEmergencyTeamMember(Long teamId ,Long uid , Date nowDate , List<EmergencyTeamMemberReqDTO> emergencyTeamMemberReqDTOList){
+        List<EmergencyTeamMemberInfo> memberInfoList = BeanCopyUtils.copyBeanList(emergencyTeamMemberReqDTOList, EmergencyTeamMemberInfo.class);
+        memberInfoList.forEach(EmergencyTeamFileInfo -> {
+            EmergencyTeamFileInfo.setTeamId(teamId);
+            EmergencyTeamFileInfo.setDelFlag(false);
+            EmergencyTeamFileInfo.setCreateUid(uid);
+            EmergencyTeamFileInfo.setGmtCreate(nowDate);
+        });
+        for (EmergencyTeamMemberInfo emergencyTeamMemberInfo : memberInfoList){
+            emergencyTeamMemberInfoService.addEmergencyTeamMember(emergencyTeamMemberInfo);
+        }
     }
 
     @Override
     public ResultVO<EmergencyTeamDetailRespDTO> getEmergencyTeamById(Long id) {
         EmergencyTeamDetailRespDTO emergencyTeamDetailRespDTO = new EmergencyTeamDetailRespDTO();
+        //查询是否存在
         EmergencyTeamInfoDetailDO emergencyTeamInfoDetailDO = emergencyTeamInfoService.selectEmergencyTeamById(id);
         if (emergencyTeamInfoDetailDO==null){
             throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST);
@@ -140,9 +154,126 @@
         return new ResultVO<>(ResultCodes.OK ,emergencyTeamDetailRespDTO);
     }
 
+    @Override
+    public ResultVO updateEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
+        //查询是否存在
+        EmergencyTeamInfoDetailDO emergencyTeamInfoDetailDO = emergencyTeamInfoService.selectEmergencyTeamById(uid);
+        if (emergencyTeamInfoDetailDO==null){
+            throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST);
+        }else{
+            EmergencyTeamInfo emergencyTeamInfo = new EmergencyTeamInfo();
+            BeanUtils.copyProperties(emergencyTeamReqDTO,emergencyTeamInfo);
+            emergencyTeamInfo.setUpdateUid(uid);
+            emergencyTeamInfo.setGmtModitify(new Date());
+            emergencyTeamInfoService.updateEmergencyTeam(emergencyTeamInfo);
+            //修改应急队伍附件
+            updateEmergencyTeamFile(uid,emergencyTeamReqDTO.getId(),emergencyTeamReqDTO.getFileList());
+        }
+        return new ResultVO(ResultCodes.OK);
+    }
+
+    private void updateEmergencyTeamFile(Long uid ,Long teamId ,List<EmergencyTeamFileReqDTO> emergencyTeamFileReqDTOList){
+        Date nowDate = new Date();
+
+        List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(teamId);
+        List<Long> oldIdsList = emergencyTeamFileInfoDOList.stream().map(EmergencyTeamFileInfoDO::getId).collect(Collectors.toList());
+        List<Long> newIdsList = new ArrayList<>();
+
+        //新增的附件集合
+        List<EmergencyTeamFileInfo> addList = new ArrayList<>();
+        //删除的附件集合(id)
+        List<Long> deleteList = new ArrayList<>();
+        for (EmergencyTeamFileReqDTO emergencyTeamFileReqDTO : emergencyTeamFileReqDTOList){
+            //如果不存在id则表示页面新增的附件
+            if (emergencyTeamFileReqDTO.getId() == null){
+                EmergencyTeamFileInfo emergencyTeamFileInfo = new EmergencyTeamFileInfo();
+                BeanUtils.copyProperties(emergencyTeamFileReqDTO,emergencyTeamFileInfo);
+                emergencyTeamFileInfo.setDelFlag(false);
+                emergencyTeamFileInfo.setGmtCreate(nowDate);
+                emergencyTeamFileInfo.setCreateUid(uid);
+                emergencyTeamFileInfo.setTeamId(teamId);
+                addList.add(emergencyTeamFileInfo);
+            }
+            //如果存在id则判断页面是否删除
+            else{
+                newIdsList.add(emergencyTeamFileReqDTO.getId());
+            }
+        }
+        for (Long oldId : oldIdsList){
+            if (!newIdsList.contains(oldId)){
+                deleteList.add(oldId);
+            }
+        }
+        if (!CollectionUtils.isEmpty(addList)){
+            for (EmergencyTeamFileInfo emergencyTeamFileInfo : addList){
+                emergencyTeamFileInfoService.addEmergencyTeamFile(emergencyTeamFileInfo);
+            }
+        }
+        if (!CollectionUtils.isEmpty(deleteList)){
+            emergencyTeamFileInfoService.deleteEmergencyTeamFileByIds(deleteList);
+        }
+    }
+
+    @Override
+    public ResultVO addEmergencyTeamMember(Long uid, EmergencyTeamMemberReqDTO emergencyTeamMemberReqDTO) {
+        EmergencyTeamMemberInfo emergencyTeamMemberInfo = new EmergencyTeamMemberInfo();
+        BeanUtils.copyProperties(emergencyTeamMemberReqDTO,emergencyTeamMemberInfo);
+        emergencyTeamMemberInfo.setCreateUid(uid);
+        emergencyTeamMemberInfo.setGmtCreate(new Date());
+        emergencyTeamMemberInfo.setDelFlag(false);
+        emergencyTeamMemberInfoService.addEmergencyTeamMember(emergencyTeamMemberInfo);
+        return new ResultVO(ResultCodes.OK);
+    }
+
+    @Override
+    public ResultVO updateEmergencyTeamMember(Long uid, EmergencyTeamMemberReqDTO emergencyTeamMemberReqDTO) {
+        //查询是否存在
+        EmergencyTeamMemberInfoDO emergencyTeamMemberInfoDO = emergencyTeamMemberInfoService.selectEmergencyTeamMemberById(emergencyTeamMemberReqDTO.getId());
+        if (emergencyTeamMemberInfoDO==null){
+            throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NOT_EXIST);
+        }else{
+            EmergencyTeamMemberInfo emergencyTeamMemberInfo = new EmergencyTeamMemberInfo();
+            BeanUtils.copyProperties(emergencyTeamMemberReqDTO,emergencyTeamMemberInfo);
+            emergencyTeamMemberInfo.setUpdateUid(uid);
+            emergencyTeamMemberInfo.setGmtModitify(new Date());
+            emergencyTeamMemberInfoService.updateEmergencyTeamMember(emergencyTeamMemberInfo);
+        }
+        return new ResultVO(ResultCodes.OK);
+    }
+
+    @Override
+    public ResultVO deleteEmergencyTeam(Long id) {
+        //查询是否存在
+        EmergencyTeamInfoDetailDO emergencyTeamInfoDetailDO = emergencyTeamInfoService.selectEmergencyTeamById(id);
+        if (emergencyTeamInfoDetailDO==null){
+            throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST);
+        }else{
+            Long teamId = emergencyTeamInfoDetailDO.getId();
+            //删除人员
+            emergencyTeamMemberInfoService.deleteEmergencyTeamMemberByTeamId(teamId);
+            //删除附件
+            emergencyTeamFileInfoService.deleteEmergencyTeamFileByTeamId(teamId);
+            //删除应急队伍
+            emergencyTeamInfoService.deleteEmergencyTeamById(teamId);
+        }
+        return new ResultVO(ResultCodes.OK);
+    }
+
+    @Override
+    public ResultVO deleteEmergencyTeamMember(Long id) {
+        //查询是否存在
+        EmergencyTeamMemberInfoDO emergencyTeamMemberInfoDO = emergencyTeamMemberInfoService.selectEmergencyTeamMemberById(id);
+        if (emergencyTeamMemberInfoDO==null){
+            throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NOT_EXIST);
+        }else{
+            emergencyTeamMemberInfoService.deleteEmergencyTeamMemberById(id);
+        }
+        return new ResultVO(ResultCodes.OK);
+    }
+
+
     /**
      * 验证必填项
-     *
      * @return
      */
     private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO) {
@@ -159,7 +290,6 @@
             throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL);
         }
         //负责人部门
-
         if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) {
             throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL);
         }

--
Gitblit v1.9.2