From f1f506172a3edff8d31e4db77b8940f115660919 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期二, 20 九月 2022 16:25:43 +0800 Subject: [PATCH] fix --- emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java | 282 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 252 insertions(+), 30 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 0a86114..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 @@ -8,11 +8,15 @@ import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.emergency.entity.*; -import com.gkhy.safePlatform.emergency.excepiton.EmergencyServiceException; +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; @@ -28,6 +32,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service("emergencyTeamService") public class EmergencyTeamServiceImpl implements EmergencyTeamService { @@ -70,7 +75,7 @@ return new SearchResultVO<>( true, pageIndex, - pageSize, + pageSize,page.getPages(), page.getTotal(), respList, ResultCodes.OK @@ -78,10 +83,11 @@ } @Override - public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) { - + public ResultVO<EmergencyTeamDetailRespDTO> addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) { //必填项验证 checkRequired(emergencyTeamReqDTO); + // 验证枚举 + checkEnum(emergencyTeamReqDTO); Date nowDate = new Date(); //1.新增应急队伍 @@ -92,67 +98,283 @@ emergencyTeamInfo.setGmtCreate(nowDate); emergencyTeamInfoService.addEmergencyTeam(emergencyTeamInfo); //2.新增应急队伍附件 - List<EmergencyTeamFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(), EmergencyTeamFileInfo.class); + 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(emergencyTeamInfo.getId()); + EmergencyTeamFileInfo.setTeamId(teamId); 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); + 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 EmergencyServiceException(EmergencyResultCodes.TEAM_NAME_NULL); + throw new EmergencyException(EmergencyResultCodes.TEAM_NAME_NULL); } //级别 - if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())) { - throw new EmergencyServiceException(EmergencyResultCodes.TEAM_LEVEL_NULL); + if (emergencyTeamReqDTO.getTeamLevel() == null) { + throw new EmergencyException(EmergencyResultCodes.TEAM_LEVEL_NULL); } //负责人 if (emergencyTeamReqDTO.getPrincipalUid() == null || emergencyTeamReqDTO.getPrincipalUid() == 0) { - throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL); + throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL); } //负责人部门 - if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) { - throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL); + throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL); } //负责人手机 if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalPhone())) { - throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL); + throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL); } //固定电话 if (StringUtils.isBlank(emergencyTeamReqDTO.getTelephoneNumber())) { - throw new EmergencyServiceException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL); + 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); + } + } } } /** - * 验证数据库是否存在 - * - * @return + * 枚举验证 */ - public Boolean checkeExist() { - return 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