From cd02923a7ce1ffa004b3abbb7af67ab6173dd99d Mon Sep 17 00:00:00 2001
From: zf <1603559716@qq.com>
Date: 星期一, 25 三月 2024 10:59:40 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/safePlatform-out into zf
---
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java | 242 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 217 insertions(+), 25 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 acb7313..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.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,35 +98,222 @@
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<EmergencyTeamPageRespDTO> getEmergencyTeamById(Long id) {
- return null;
+ 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) {
@@ -129,7 +322,7 @@
throw new EmergencyException(EmergencyResultCodes.TEAM_NAME_NULL);
}
//级别
- if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())) {
+ if (emergencyTeamReqDTO.getTeamLevel() == null) {
throw new EmergencyException(EmergencyResultCodes.TEAM_LEVEL_NULL);
}
//负责人
@@ -137,7 +330,6 @@
throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL);
}
//负责人部门
-
if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) {
throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL);
}
@@ -177,12 +369,12 @@
}
/**
- * 验证数据库是否存在
- *
- * @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