From 35c8a9c2babfd373313892af16a031d4c1c21689 Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Tue, 10 Feb 2026 13:44:30 +0800
Subject: [PATCH] 1. 修改校验航线任务是否可以创建航线接口。 2. 增加返回实体类。
---
ard-route/src/main/java/com/ard/route/service/IArdRouteMissionService.java | 5 +-
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java | 12 ------
ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java | 7 +--
ard-route/src/main/java/com/ard/route/domain/route/MissionNot.java | 18 +++++++++
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java | 31 ++++++++++++---
5 files changed, 49 insertions(+), 24 deletions(-)
diff --git a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java
index b71e9a2..eaf0c9b 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java
@@ -120,10 +120,9 @@
* 校验航线任务是否可以创建航线
*/
@ApiOperation("校验航线任务是否可以创建航线")
- //@PreAuthorize("@ss.hasPermi('route:mission:query')")
- @GetMapping(value = "/{missionId}")
- public Boolean routeMissionNot(@PathVariable("missionId") String missionId) {
- return ardRouteMissionService.selectRouteMissionNot(missionId);
+ @GetMapping("routeMissionNot/{id}")
+ public AjaxResult routeMissionNot(@PathVariable("id") String id) {
+ return success(ardRouteMissionService.selectRouteMissionNot(id));
}
}
diff --git a/ard-route/src/main/java/com/ard/route/domain/route/MissionNot.java b/ard-route/src/main/java/com/ard/route/domain/route/MissionNot.java
new file mode 100644
index 0000000..c7eeaac
--- /dev/null
+++ b/ard-route/src/main/java/com/ard/route/domain/route/MissionNot.java
@@ -0,0 +1,18 @@
+package com.ard.route.domain.route;
+
+import lombok.Data;
+
+@Data
+public class MissionNot {
+
+ /**
+ * 是否类型
+ */
+ private Boolean isNot;
+
+ /**
+ * 消息
+ */
+ private String information;
+
+}
diff --git a/ard-route/src/main/java/com/ard/route/service/IArdRouteMissionService.java b/ard-route/src/main/java/com/ard/route/service/IArdRouteMissionService.java
index df6181c..7fbc762 100644
--- a/ard-route/src/main/java/com/ard/route/service/IArdRouteMissionService.java
+++ b/ard-route/src/main/java/com/ard/route/service/IArdRouteMissionService.java
@@ -1,6 +1,7 @@
package com.ard.route.service;
import com.ard.route.domain.route.ArdRouteMission;
+import com.ard.route.domain.route.MissionNot;
import com.ard.route.domain.route.UpdateMission;
import java.util.List;
@@ -81,9 +82,9 @@
/**
* 校验航线任务是否可以创建航线
*
- * @param missionId 航线任务ID
+ * @param id ID
* @return 结果
*/
- public Boolean selectRouteMissionNot(String missionId);
+ public MissionNot selectRouteMissionNot(String id);
}
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
index 5ecf63c..0dd708b 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
@@ -140,7 +140,6 @@
*/
@Override
public String insertArdRouteInfo(ArdRouteInfo ardRouteInfo) {
- validateForCreate(ardRouteInfo);
checkRouteMissionStatus(ardRouteInfo,"1");
checkRouteMissionStatus(ardRouteInfo,"2");
ardRouteInfo.setId(IdUtils.simpleUUID());
@@ -179,17 +178,6 @@
break;
default:
throw new RuntimeException("不支持的操作类型!!!");
- }
- }
- }
-
- // 验证,只有当前用户是下发人才能创建航线
- private void validateForCreate(ArdRouteInfo ardRouteInfo) {
- ArdRouteMission mission = ardRouteMissionMapper.selectArdRouteMissionById(ardRouteInfo.getMissionId());
- if (mission != null){
- if (!mission.getIssuerId().equals(getUserId())){
- throw new RuntimeException("创建航线,只能创建下发自己的航线任务信息【" + mission.getMissionName() + "】,无法执行操作!");
- //return "创建航线,只能创建下发自己的航线任务信息【" + mission.getMissionName() + "】,无法执行操作!";
}
}
}
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java
index 2afdbb7..cc01107 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java
@@ -9,6 +9,7 @@
import com.ard.common.utils.uuid.IdUtils;
import com.ard.route.domain.route.ArdRouteMission;
import com.ard.route.domain.route.ArdRoutePoint;
+import com.ard.route.domain.route.MissionNot;
import com.ard.route.domain.route.UpdateMission;
import com.ard.route.mapper.ArdRoutePointMapper;
import com.ard.route.websocket.utils.MiWebSocketUtils;
@@ -213,16 +214,34 @@
/**
* 校验航线任务是否可以创建航线
*
- * @param missionId 航线任务ID
+ * @param id ID
* @return 结果
*/
@Override
- public Boolean selectRouteMissionNot(String missionId) {
- ArdRouteMission mission = ardRouteMissionMapper.selectArdRouteMissionById(missionId);
- if (mission != null){
- throw new RuntimeException("创建航线,只能创建下发自己的航线任务信息【" + mission.getMissionName() + "】,无法执行操作!");
+ public MissionNot selectRouteMissionNot(String id) {
+ // 1. 初始化返回对象,默认允许操作
+ MissionNot missionNot = new MissionNot();
+ missionNot.setIsNot(true);
+
+ // 2. 根据ID查询航线任务
+ ArdRouteMission mission = ardRouteMissionMapper.selectArdRouteMissionById(id);
+
+ // 3. 空值快速返回(任务不存在则无需校验,直接允许操作)
+ if (mission == null) {
+ return missionNot;
}
- return true;
+
+ // 4. 校验任务创建者是否为当前用户
+ // 增加空指针防护:避免issuerId为null导致空指针异常
+ if (mission.getIssuerId() == null || !mission.getIssuerId().equals(getUserId())) {
+ String errorMsg = String.format("创建航线,只能创建下发自己的航线任务信息【%s】,无法执行操作!",
+ mission.getMissionName());
+ missionNot.setInformation(errorMsg);
+ missionNot.setIsNot(false);
+ }
+
+ // 5. 统一返回结果
+ return missionNot;
}
}
--
Gitblit v1.9.3