songhuangfeng123
2022-07-04 6b6024c186bb26da4dff497f9f306f4888061e51
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;
    }
}