songhuangfeng123
2022-07-05 9bc8b88ac7f037f7e27f389fdbb507c64d1299f7
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java
@@ -4,11 +4,12 @@
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.excepiton.EmergencyServiceException;
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,12 +18,14 @@
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;
@Service("emergencyTeamService")
@@ -33,6 +36,9 @@
    @Autowired
    private EmergencyTeamFileInfoService emergencyTeamFileInfoService;
    @Autowired
    private EmergencyTeamMemberInfoService emergencyTeamMemberInfoService;
    @Override
    public SearchResultVO<List<EmergencyTeamPageRespDTO>> selectEmergencyTeamList(PageQuery<EmergencyTeamQuery> query) {
@@ -49,12 +55,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 +77,79 @@
    }
    @Override
    public ResultVO<String> add(Long valueOf, EmergencyTeamReqDTO emergencyTeamReqDTO) {
        //新增应急预案
        //新增应急预案使用部门表
        //
    public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
        Date nowDate = new Date();
        //必填项验证
        checkRequired(emergencyTeamReqDTO);
        //1.新增应急队伍
        EmergencyTeamFileInfo emergencyTeamFileInfo = new EmergencyTeamFileInfo();
        BeanUtils.copyProperties(emergencyTeamReqDTO,emergencyTeamFileInfo);
        emergencyTeamFileInfo.setDelFlag(false);
        emergencyTeamFileInfo.setCreateUid(uid);
        emergencyTeamFileInfo.setGmtCreate(nowDate);
        emergencyTeamInfoService.addEmergencyTeam(emergencyTeamFileInfo);
        //2.新增应急队伍附件
        List<EmergencyTeamFileInfo> fileInfoList = new ArrayList<>();
        BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(),fileInfoList.getClass());
        fileInfoList.forEach(EmergencyTeamFileInfo -> {
            EmergencyTeamFileInfo.setTeamId(emergencyTeamFileInfo.getTeamId());
            EmergencyTeamFileInfo.setDelFlag(false);
            EmergencyTeamFileInfo.setCreateUid(uid);
            EmergencyTeamFileInfo.setGmtCreate(nowDate);
        });
        emergencyTeamFileInfoService.addEmergencyTeamFile(fileInfoList);
        //3.新增应急队伍人员
        List<EmergencyTeamMemberInfo> memberInfoList = new ArrayList<>();
        BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getMemberList(),memberInfoList.getClass());
        memberInfoList.forEach(EmergencyTeamMemberInfo -> {
            EmergencyTeamMemberInfo.setTeamId(emergencyTeamFileInfo.getTeamId());
            EmergencyTeamMemberInfo.setDelFlag(false);
            EmergencyTeamMemberInfo.setCreateUid(uid);
            EmergencyTeamMemberInfo.setGmtCreate(nowDate);
        });
        emergencyTeamMemberInfoService.addEmergencyTeamMember(memberInfoList);
        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(emergencyTeamReqDTO.getPrincipalUid() == null || emergencyTeamReqDTO.getPrincipalUid() == 0){
            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;
    }
}