Xiajijian
2026-02-10 35c8a9c2babfd373313892af16a031d4c1c21689
1. 修改校验航线任务是否可以创建航线接口。
2. 增加返回实体类。
1 files added
4 files modified
73 ■■■■■ changed files
ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java 7 ●●●●● patch | view | raw | blame | history
ard-route/src/main/java/com/ard/route/domain/route/MissionNot.java 18 ●●●●● patch | view | raw | blame | history
ard-route/src/main/java/com/ard/route/service/IArdRouteMissionService.java 5 ●●●●● patch | view | raw | blame | history
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java 31 ●●●●● patch | view | raw | blame | history
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));
    }
}
ard-route/src/main/java/com/ard/route/domain/route/MissionNot.java
New file
@@ -0,0 +1,18 @@
package com.ard.route.domain.route;
import lombok.Data;
@Data
public class MissionNot {
    /**
     * 是否类型
     */
    private Boolean isNot;
    /**
     * 消息
     */
    private String information;
}
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);
}
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() + "】,无法执行操作!";
            }
        }
    }
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;
    }
}