From d015cc0b48ca51a2b93b6c60c91dc352a104b1e7 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 23 九月 2024 10:41:50 +0800
Subject: [PATCH] 删除密码加密

---
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java |  332 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 316 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 f553a86..b19852a 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
@@ -4,26 +4,35 @@
 import com.gkhy.safePlatform.commons.enums.ResultCodes;
 import com.gkhy.safePlatform.commons.query.PageQuery;
 import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+import com.gkhy.safePlatform.commons.utils.StringUtils;
 import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.vo.SearchResultVO;
-import com.gkhy.safePlatform.emergency.entity.EmergencyTeamFileInfo;
-import com.gkhy.safePlatform.emergency.entity.EmergencyTeamFileInfoDO;
-import com.gkhy.safePlatform.emergency.entity.EmergencyTeamInfoPageDO;
+import com.gkhy.safePlatform.emergency.entity.*;
+import com.gkhy.safePlatform.emergency.enums.TeamLevelEnum;
+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;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamFileRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamMemberRespDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamPageRespDTO;
 import com.gkhy.safePlatform.emergency.query.EmergencyTeamQuery;
 import com.gkhy.safePlatform.emergency.query.db.EmergencyTeamDBQuery;
 import com.gkhy.safePlatform.emergency.service.EmergencyTeamService;
 import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamFileInfoService;
 import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamInfoService;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamMemberInfoService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service("emergencyTeamService")
 public class EmergencyTeamServiceImpl implements EmergencyTeamService {
@@ -33,6 +42,9 @@
 
     @Autowired
     private EmergencyTeamFileInfoService emergencyTeamFileInfoService;
+
+    @Autowired
+    private EmergencyTeamMemberInfoService emergencyTeamMemberInfoService;
 
     @Override
     public SearchResultVO<List<EmergencyTeamPageRespDTO>> selectEmergencyTeamList(PageQuery<EmergencyTeamQuery> query) {
@@ -46,15 +58,15 @@
         }
 
         List<EmergencyTeamPageRespDTO> respList = new ArrayList<>();
-        List<EmergencyTeamInfoPageDO> emergencyTeamInfoPageDOList = emergencyTeamInfoService.selectEmergencyTeamList(page,emergencyTeamDBQuery);
+        List<EmergencyTeamInfoPageDO> emergencyTeamInfoPageDOList = emergencyTeamInfoService.selectEmergencyTeamList(page, emergencyTeamDBQuery);
 
-        if (!CollectionUtils.isEmpty(emergencyTeamInfoPageDOList)){
-            for (int i = 0 ; i < emergencyTeamInfoPageDOList.size() ; i++){
-                List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(emergencyTeamInfoPageDOList.get(i).getId());
-                List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList =  BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList, EmergencyTeamFileRespDTO.class);
+        if (!CollectionUtils.isEmpty(emergencyTeamInfoPageDOList)) {
+            for (EmergencyTeamInfoPageDO emergencyTeamInfoPageDO : emergencyTeamInfoPageDOList) {
+                List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(emergencyTeamInfoPageDO.getId());
+                List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList, EmergencyTeamFileRespDTO.class);
 
                 EmergencyTeamPageRespDTO emergencyTeamPageRespDTO = new EmergencyTeamPageRespDTO();
-                BeanUtils.copyProperties(emergencyTeamInfoPageDOList.get(i),emergencyTeamPageRespDTO);
+                BeanUtils.copyProperties(emergencyTeamInfoPageDO, emergencyTeamPageRespDTO);
                 emergencyTeamPageRespDTO.setFileList(emergencyTeamFileRespDTOList);
                 respList.add(emergencyTeamPageRespDTO);
             }
@@ -63,18 +75,306 @@
         return new SearchResultVO<>(
                 true,
                 pageIndex,
-                pageSize,
+                pageSize,page.getPages(),
                 page.getTotal(),
                 respList,
                 ResultCodes.OK
-                );
+        );
     }
 
     @Override
-    public ResultVO<String> add(Long valueOf, EmergencyTeamReqDTO emergencyTeamReqDTO) {
-        //新增应急预案
-        //新增应急预案使用部门表
-        //
-        return null;
+    public ResultVO<EmergencyTeamDetailRespDTO> addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
+        //必填项验证
+        checkRequired(emergencyTeamReqDTO);
+        // 验证枚举
+        checkEnum(emergencyTeamReqDTO);
+
+        Date nowDate = new Date();
+        //1.新增应急队伍
+        EmergencyTeamInfo emergencyTeamInfo = new EmergencyTeamInfo();
+        BeanUtils.copyProperties(emergencyTeamReqDTO, emergencyTeamInfo);
+        emergencyTeamInfo.setDelFlag(false);
+        emergencyTeamInfo.setCreateUid(uid);
+        emergencyTeamInfo.setGmtCreate(nowDate);
+        emergencyTeamInfoService.addEmergencyTeam(emergencyTeamInfo);
+        //2.新增应急队伍附件
+        if (!CollectionUtils.isEmpty(emergencyTeamReqDTO.getFileList())){
+            addEmergencyTeamFile(emergencyTeamInfo.getId(),uid,nowDate,emergencyTeamReqDTO.getFileList());
+        }
+        //3.新增应急队伍人员
+        if (!CollectionUtils.isEmpty(emergencyTeamReqDTO.getMemberList())){
+            addEmergencyTeamMember(emergencyTeamInfo.getId(),uid,nowDate,emergencyTeamReqDTO.getMemberList());
+        }
+        EmergencyTeamDetailRespDTO emergencyTeamDetailRespDTO = new EmergencyTeamDetailRespDTO();
+        BeanUtils.copyProperties(emergencyTeamInfo,emergencyTeamDetailRespDTO);
+        return new ResultVO<>(ResultCodes.OK,emergencyTeamDetailRespDTO);
     }
+
+    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(teamId);
+            EmergencyTeamFileInfo.setDelFlag(false);
+            EmergencyTeamFileInfo.setCreateUid(uid);
+            EmergencyTeamFileInfo.setGmtCreate(nowDate);
+        });
+        for (EmergencyTeamFileInfo emergencyTeamFileInfo :fileInfoList){
+            emergencyTeamFileInfoService.addEmergencyTeamFile(emergencyTeamFileInfo);
+        }
+    }
+
+    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);
+        }else{
+            BeanUtils.copyProperties(emergencyTeamInfoDetailDO,emergencyTeamDetailRespDTO);
+            //查找对应的附件
+            List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(id);
+            if (!CollectionUtils.isEmpty(emergencyTeamFileInfoDOList)){
+                List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList , EmergencyTeamFileRespDTO.class);
+                emergencyTeamDetailRespDTO.setFileList(emergencyTeamFileRespDTOList);
+            }
+
+            //查找对应的人员
+            List<EmergencyTeamMemberInfoDO> emergencyTeamMemberInfoDOList = emergencyTeamMemberInfoService.selectByEmergencyTeamId(id);
+            if (!CollectionUtils.isEmpty(emergencyTeamMemberInfoDOList)){
+                List<EmergencyTeamMemberRespDTO> emergencyTeamMemberRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamMemberInfoDOList , EmergencyTeamMemberRespDTO.class);
+                emergencyTeamDetailRespDTO.setMemberList(emergencyTeamMemberRespDTOList);
+            }
+            return new ResultVO<>(ResultCodes.OK ,emergencyTeamDetailRespDTO);
+        }
+    }
+
+    @Override
+    public ResultVO updateEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
+        // 验证枚举
+        checkEnum(emergencyTeamReqDTO);
+        Date nowDate = new Date();
+        //查询是否存在
+        EmergencyTeamInfoDetailDO emergencyTeamInfoDetailDO = emergencyTeamInfoService.selectEmergencyTeamById(emergencyTeamReqDTO.getId());
+        if (emergencyTeamInfoDetailDO==null){
+            throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST);
+        }else{
+            EmergencyTeamInfo emergencyTeamInfo = new EmergencyTeamInfo();
+            BeanUtils.copyProperties(emergencyTeamReqDTO,emergencyTeamInfo);
+            emergencyTeamInfo.setUpdateUid(uid);
+            emergencyTeamInfo.setGmtModitify(nowDate);
+            emergencyTeamInfoService.updateEmergencyTeam(emergencyTeamInfo);
+            //修改应急队伍附件
+            updateEmergencyTeamFile(uid,emergencyTeamReqDTO.getId(),nowDate,emergencyTeamReqDTO.getFileList());
+            return new ResultVO(ResultCodes.OK);
+        }
+    }
+
+    private void updateEmergencyTeamFile(Long uid ,Long teamId ,Date nowDate,List<EmergencyTeamFileReqDTO> emergencyTeamFileReqDTOList){
+
+        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 batchDeleteEmergencyTeam(Long[] ids) {
+        if (ids == null ||  ids.length==0){
+            throw new EmergencyException(EmergencyResultCodes.TEAM_NULL);
+        }else{
+            for (Long id : ids){
+                deleteEmergencyTeam(id);
+            }
+            return new ResultVO(ResultCodes.OK);
+        }
+    }
+
+    @Override
+    public ResultVO getEmergencyTeamMemberByTeamId(Long teamId) {
+        List<EmergencyTeamMemberInfoDO> emergencyTeamMemberInfoDOList = emergencyTeamMemberInfoService.selectByEmergencyTeamId(teamId);
+        List<EmergencyTeamMemberRespDTO> emergencyTeamMemberRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamMemberInfoDOList , EmergencyTeamMemberRespDTO.class);
+        return new ResultVO<>(ResultCodes.OK,emergencyTeamMemberRespDTOList);
+    }
+
+    private void 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);
+        }
+    }
+
+    @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);
+        }
+    }
+
+    @Override
+    public ResultVO<EmergencyTeamMemberRespDTO> getEmergencyTeamMemberById(Long id) {
+        //查询是否存在
+        EmergencyTeamMemberInfoDO emergencyTeamMemberInfoDO = emergencyTeamMemberInfoService.selectEmergencyTeamMemberById(id);
+        if (emergencyTeamMemberInfoDO==null){
+            throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NOT_EXIST);
+        }else{
+            EmergencyTeamMemberRespDTO emergencyTeamMemberRespDTO = new EmergencyTeamMemberRespDTO();
+            BeanUtils.copyProperties(emergencyTeamMemberInfoDO,emergencyTeamMemberRespDTO);
+            return new ResultVO<>(ResultCodes.OK ,emergencyTeamMemberRespDTO);
+        }
+    }
+
+
+    /**
+     * 验证必填项
+     * @return
+     */
+    private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO) {
+        //名称
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamName())) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_NAME_NULL);
+        }
+        //级别
+        if (emergencyTeamReqDTO.getTeamLevel() == null) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_LEVEL_NULL);
+        }
+        //负责人
+        if (emergencyTeamReqDTO.getPrincipalUid() == null || emergencyTeamReqDTO.getPrincipalUid() == 0) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL);
+        }
+        //负责人部门
+        if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL);
+        }
+        //负责人手机
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalPhone())) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL);
+        }
+        //固定电话
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getTelephoneNumber())) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL);
+        }
+        //人员列表如果不为空,则需要验证其中的必填项
+        if (!CollectionUtils.isEmpty(emergencyTeamReqDTO.getMemberList())){
+            for(EmergencyTeamMemberReqDTO emergencyTeamMemberReqDTO : emergencyTeamReqDTO.getMemberList()){
+                //工号
+                if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getJobNumber())) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_JOB_NUMBER_NULL);
+                }
+                //名称
+                if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getName())) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NAME_NULL);
+                }
+                //性别
+                if (emergencyTeamMemberReqDTO.getGender()==null) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_GENDER_NULL);
+                }
+                //手机号码
+                if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getPhone())) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_PHONE_NULL);
+                }
+                //职务
+                if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getPosition())) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_POSITION_NULL);
+                }
+            }
+        }
+    }
+
+    /**
+     * 枚举验证
+     */
+    private void checkEnum(EmergencyTeamReqDTO emergencyTeamReqDTO) {
+        if (TeamLevelEnum.getByCode(emergencyTeamReqDTO.getTeamLevel()) == null) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_ENUM_LEVEL_NOT_EXIST);
+        }
+    }
+
 }

--
Gitblit v1.9.2