From b591b26cc9290e1469281e3bc22b8aea4f8d061a Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期三, 06 七月 2022 15:30:05 +0800 Subject: [PATCH] 应急队伍 --- emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java | 162 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 146 insertions(+), 16 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 5c5c0ef..b40fdf9 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 @@ -10,6 +10,7 @@ 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.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; @@ -30,6 +31,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 { @@ -81,7 +83,6 @@ @Override public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) { - //必填项验证 checkRequired(emergencyTeamReqDTO); @@ -94,30 +95,43 @@ emergencyTeamInfo.setGmtCreate(nowDate); emergencyTeamInfoService.addEmergencyTeam(emergencyTeamInfo); //2.新增应急队伍附件 - List<EmergencyTeamFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(), EmergencyTeamFileInfo.class); + addEmergencyTeamFile(emergencyTeamInfo.getId(),uid,nowDate,emergencyTeamReqDTO.getFileList()); + //3.新增应急队伍人员 + addEmergencyTeamMember(emergencyTeamInfo.getId(),uid,nowDate,emergencyTeamReqDTO.getMemberList()); + + return new ResultVO(ResultCodes.OK); + } + + 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); + } + } - return new ResultVO(ResultCodes.OK); + 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); @@ -140,9 +154,126 @@ return new ResultVO<>(ResultCodes.OK ,emergencyTeamDetailRespDTO); } + @Override + public ResultVO updateEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) { + //查询是否存在 + EmergencyTeamInfoDetailDO emergencyTeamInfoDetailDO = emergencyTeamInfoService.selectEmergencyTeamById(uid); + if (emergencyTeamInfoDetailDO==null){ + throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST); + }else{ + EmergencyTeamInfo emergencyTeamInfo = new EmergencyTeamInfo(); + BeanUtils.copyProperties(emergencyTeamReqDTO,emergencyTeamInfo); + emergencyTeamInfo.setUpdateUid(uid); + emergencyTeamInfo.setGmtModitify(new Date()); + emergencyTeamInfoService.updateEmergencyTeam(emergencyTeamInfo); + //修改应急队伍附件 + updateEmergencyTeamFile(uid,emergencyTeamReqDTO.getId(),emergencyTeamReqDTO.getFileList()); + } + return new ResultVO(ResultCodes.OK); + } + + private void updateEmergencyTeamFile(Long uid ,Long teamId ,List<EmergencyTeamFileReqDTO> emergencyTeamFileReqDTOList){ + Date nowDate = new Date(); + + 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 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); + } + return new ResultVO(ResultCodes.OK); + } + + @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); + } + + /** * 验证必填项 - * * @return */ private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO) { @@ -159,7 +290,6 @@ throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL); } //负责人部门 - if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) { throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL); } -- Gitblit v1.9.2