From 53e7dce8d55487cbac64e4374ec9aa1b52a6c6ed Mon Sep 17 00:00:00 2001
From: SZH <szh_hello@163.com>
Date: 星期四, 09 三月 2023 21:16:43 +0800
Subject: [PATCH] 解决npe问题
---
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java | 68 +++++++++++++++++++++++++++-------
1 files changed, 54 insertions(+), 14 deletions(-)
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java
index 208090e..513b392 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java
@@ -1,14 +1,15 @@
package com.gkhy.safePlatform.emergency.service.impl;
+import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.*;
-import com.gkhy.safePlatform.emergency.enums.EmergencyDrillPlanStatus;
+import com.gkhy.safePlatform.emergency.enums.DrillPlanLevelEnum;
+import com.gkhy.safePlatform.emergency.enums.DrillPlanWayEnum;
import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
import com.gkhy.safePlatform.emergency.model.dto.req.*;
@@ -59,7 +60,7 @@
return new SearchResultVO<>(
true,
pageIndex,
- pageSize,
+ pageSize,page.getPages(),
page.getTotal(),
respList,
ResultCodes.OK
@@ -68,6 +69,11 @@
@Override
public ResultVO addEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+ // 验证必填
+ checkRequired(emergencyDrillPlanReqDTO);
+ // 验证枚举
+ checkEnum(emergencyDrillPlanReqDTO);
+
// 判断请求中是否存在应急预案id
if (emergencyDrillPlanReqDTO.getPlanId() == null) {
throw new EmergencyException(EmergencyResultCodes.PLAN_NULL);
@@ -84,7 +90,6 @@
emergencyDrillPlanInfo.setDelFlag(false);
emergencyDrillPlanInfo.setCreateUid(uid);
emergencyDrillPlanInfo.setGmtCreate(nowDate);
- emergencyDrillPlanInfo.setStatus(EmergencyDrillPlanStatus.START.getStatus());
emergencyDrillPlanInfoService.addEmergencyDrillPlan(emergencyDrillPlanInfo);
// 新增急演练计划附件表
if (!CollectionUtils.isEmpty(emergencyDrillPlanReqDTO.getFileList())) {
@@ -140,7 +145,12 @@
List<EmergencyDrillPlanUserInfoDO> emergencyDrillPlanUserInfoDOList = emergencyDrillPlanUserInfoService.selectEmergencyDrillPlanUserByDrillPlanId(id);
if (!CollectionUtils.isEmpty(emergencyDrillPlanUserInfoDOList)) {
List<EmergencyDrillPlanUserRespDTO> emergencyUserUserRespDTOList = BeanCopyUtils.copyBeanList(emergencyDrillPlanUserInfoDOList, EmergencyDrillPlanUserRespDTO.class);
- emergencyDrillPlanDetailRespDTO.setUserList(emergencyUserUserRespDTOList);
+
+ List<EmergencyDrillPlanUserRespDTO> userList = emergencyUserUserRespDTOList.stream().filter(user -> user.getType()==1).collect(Collectors.toList());
+ List<EmergencyDrillPlanUserRespDTO> chargeUserList = emergencyUserUserRespDTOList.stream().filter(user -> user.getType()==2).collect(Collectors.toList());
+
+ emergencyDrillPlanDetailRespDTO.setUserList(userList);
+ emergencyDrillPlanDetailRespDTO.setChargeUserList(chargeUserList);
}
// 查找对应的附件
List<EmergencyDrillPlanFileInfoDO> emergencyDrillPlanFileInfoDOList = emergencyDrillPlanFileInfoService.selectEmergencyDrillPlanFileByDrillPlanId(id);
@@ -154,6 +164,12 @@
@Override
public ResultVO updateEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+
+ // 验证必填
+ checkRequired(emergencyDrillPlanReqDTO);
+ // 验证枚举
+ checkEnum(emergencyDrillPlanReqDTO);
+
Date nowDate = new Date();
// 查询是否存在
EmergencyDrillPlanInfoDetailDO emergencyDrillPlanInfoDetailDO = emergencyDrillPlanInfoService.selectEmergencyDrillPlanById(emergencyDrillPlanReqDTO.getId());
@@ -170,7 +186,7 @@
if (!CollectionUtils.isEmpty(emergencyDrillPlanReqDTO.getFileList())) {
updateEmergencyDrillPlanFile(uid, emergencyDrillPlanInfo.getId(), nowDate, emergencyDrillPlanReqDTO.getFileList());
}
- // 更新急演练计划应急队伍表
+ // 更新急演练计划应急人员表
if (!CollectionUtils.isEmpty(emergencyDrillPlanReqDTO.getUserList())) {
updateEmergencyDrillPlanUser(uid, emergencyDrillPlanInfo.getId(), nowDate, emergencyDrillPlanReqDTO.getUserList());
}
@@ -262,13 +278,13 @@
}
@Override
- public ResultVO batchDeleteEmergencyDrillPlan(String ids) {
- if (StringUtils.isBlank(ids)) {
- throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NOT_EXIST);
- } else {
- String[] idArr = ids.split(",");
- for (String id : idArr) {
- deleteEmergencyDrillPlan(Long.valueOf(id));
+ public ResultVO batchDeleteEmergencyDrillPlan(Long[] ids) {
+
+ if (ids == null || ids.length==0){
+ throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NULL);
+ }else{
+ for (Long id : ids){
+ deleteEmergencyDrillPlan(id);
}
return new ResultVO(ResultCodes.OK);
}
@@ -284,8 +300,32 @@
emergencyDrillPlanInfoService.deleteEmergencyDrillPlan(DrillPlanId);
//删除附件
emergencyDrillPlanFileInfoService.deleteEmergencyDrillPlanFileByDrillPlanId(DrillPlanId);
- //删除应急队伍
+ //删除人员
emergencyDrillPlanUserInfoService.deleteEmergencyDrillPlanUserByDrillPlanId(DrillPlanId);
}
}
+
+
+ /**
+ * 验证必填项
+ * @return
+ */
+ private void checkRequired(EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+ //名称
+ if (StringUtils.isBlank(emergencyDrillPlanReqDTO.getDrillName())) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NAME_NULL);
+ }
+ }
+
+ /**
+ * 验证枚举
+ */
+ private void checkEnum(EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO){
+ if (DrillPlanWayEnum.getByCode(emergencyDrillPlanReqDTO.getDrillWay())==null){
+ throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_ENUM_WAY_NOT_EXIST);
+ }
+ if (DrillPlanLevelEnum.getByCode(emergencyDrillPlanReqDTO.getDrillLevel())==null){
+ throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_ENUM_LEVEL_NOT_EXIST);
+ }
+ }
}
--
Gitblit v1.9.2