From 6b6024c186bb26da4dff497f9f306f4888061e51 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期一, 04 七月 2022 17:59:31 +0800
Subject: [PATCH] 应急队伍新增

---
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java |   80 +++++++++++++++++++++++++++++++++++----
 1 files changed, 71 insertions(+), 9 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..32b98e2 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,11 +4,14 @@
 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.EmergencyTeamMemberInfoDO;
+import com.gkhy.safePlatform.emergency.excepiton.EmergencyServiceException;
 import com.gkhy.safePlatform.emergency.entity.EmergencyTeamFileInfoDO;
 import com.gkhy.safePlatform.emergency.entity.EmergencyTeamInfoPageDO;
+import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
 import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamReqDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamFileRespDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamPageRespDTO;
@@ -17,6 +20,7 @@
 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;
@@ -34,6 +38,9 @@
     @Autowired
     private EmergencyTeamFileInfoService emergencyTeamFileInfoService;
 
+    @Autowired
+    private EmergencyTeamMemberInfoService emergencyTeamMemberInfoService;
+
     @Override
     public SearchResultVO<List<EmergencyTeamPageRespDTO>> selectEmergencyTeamList(PageQuery<EmergencyTeamQuery> query) {
         Long pageIndex = query.getPageIndex();
@@ -49,12 +56,12 @@
         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);
+            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);
             }
@@ -71,10 +78,65 @@
     }
 
     @Override
-    public ResultVO<String> add(Long valueOf, EmergencyTeamReqDTO emergencyTeamReqDTO) {
-        //新增应急预案
-        //新增应急预案使用部门表
-        //
+    public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
+        //必填项验证
+        checkRequired(emergencyTeamReqDTO);
+        //1.新增应急队伍
+        EmergencyTeamFileInfoDO emergencyTeamFileInfoDO = new EmergencyTeamFileInfoDO();
+        BeanUtils.copyProperties(emergencyTeamReqDTO,emergencyTeamFileInfoDO);
+        emergencyTeamInfoService.addEmergencyTeam(emergencyTeamFileInfoDO);
+        //2.新增应急队伍附件
+        List<EmergencyTeamFileInfoDO> fileInfoDOList = new ArrayList<>();
+        BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(),fileInfoDOList.getClass());
+        fileInfoDOList.forEach(e->e.setTeamId(emergencyTeamFileInfoDO.getId()));
+        emergencyTeamFileInfoService.addEmergencyTeamFile(fileInfoDOList);
+        //3.新增应急队伍人员
+        List<EmergencyTeamMemberInfoDO> memberInfoDOList = new ArrayList<>();
+        BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getMemberList(),memberInfoDOList.getClass());
+        memberInfoDOList.forEach(e->e.setTeamId(emergencyTeamFileInfoDO.getId()));
+        emergencyTeamMemberInfoService.addEmergencyTeamMember(memberInfoDOList);
+
+        return ResultVO.success();
+    }
+
+    /**
+     * 验证必填项
+     * @return
+     */
+    private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO){
+        //名称
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamName())){
+            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_NAME_NULL);
+        }
+        //级别
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())){
+            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_LEVEL_NULL);
+        }
+        //负责人
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalUid())){
+            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL);
+        }
+        //负责人部门
+
+        if(emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0){
+            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL);
+        }
+        //负责人手机
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalPhone())){
+            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL);
+        }
+        //固定电话
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getTelephoneNumber())){
+            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL);
+        }
+    }
+
+    /**
+     * 验证数据库是否存在
+     * @return
+     */
+    public Boolean checkeExist(){
         return null;
     }
+
 }

--
Gitblit v1.9.2