songhuangfeng123
2022-07-05 c604f08ffc5264165a25d15b3eeef87c72ed8489
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java
@@ -7,13 +7,14 @@
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.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.entity.*;
import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
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;
@@ -27,6 +28,7 @@
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service("emergencyTeamService")
@@ -53,9 +55,9 @@
        }
        List<EmergencyTeamPageRespDTO> respList = new ArrayList<>();
        List<EmergencyTeamInfoPageDO> emergencyTeamInfoPageDOList = emergencyTeamInfoService.selectEmergencyTeamList(page,emergencyTeamDBQuery);
        List<EmergencyTeamInfoPageDO> emergencyTeamInfoPageDOList = emergencyTeamInfoService.selectEmergencyTeamList(page, emergencyTeamDBQuery);
        if (!CollectionUtils.isEmpty(emergencyTeamInfoPageDOList)){
        if (!CollectionUtils.isEmpty(emergencyTeamInfoPageDOList)) {
            for (EmergencyTeamInfoPageDO emergencyTeamInfoPageDO : emergencyTeamInfoPageDOList) {
                List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(emergencyTeamInfoPageDO.getId());
                List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList, EmergencyTeamFileRespDTO.class);
@@ -74,69 +76,126 @@
                page.getTotal(),
                respList,
                ResultCodes.OK
                );
        );
    }
    @Override
    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();
        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.新增应急队伍附件
        List<EmergencyTeamFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(), EmergencyTeamFileInfo.class);
        fileInfoList.forEach(EmergencyTeamFileInfo -> {
            EmergencyTeamFileInfo.setTeamId(emergencyTeamInfo.getId());
            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);
        return new ResultVO(ResultCodes.OK);
    }
    @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);
    }
    /**
     * 验证必填项
     *
     * @return
     */
    private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO){
    private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO) {
        //名称
        if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamName())){
            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_NAME_NULL);
        if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamName())) {
            throw new EmergencyException(EmergencyResultCodes.TEAM_NAME_NULL);
        }
        //级别
        if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())){
            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_LEVEL_NULL);
        if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())) {
            throw new EmergencyException(EmergencyResultCodes.TEAM_LEVEL_NULL);
        }
        //负责人
        if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalUid())){
            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL);
        if (emergencyTeamReqDTO.getPrincipalUid() == null || emergencyTeamReqDTO.getPrincipalUid() == 0) {
            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL);
        }
        //负责人部门
        if(emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0){
            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL);
        if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) {
            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL);
        }
        //负责人手机
        if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalPhone())){
            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL);
        if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalPhone())) {
            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL);
        }
        //固定电话
        if (StringUtils.isBlank(emergencyTeamReqDTO.getTelephoneNumber())){
            throw new EmergencyServiceException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL);
        if (StringUtils.isBlank(emergencyTeamReqDTO.getTelephoneNumber())) {
            throw new EmergencyException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL);
        }
    }
    /**
     * 验证数据库是否存在
     * @return
     */
    public Boolean checkeExist(){
        return 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);
                }
            }
        }
    }
}