zhaowenyu
2026-04-01 b8b5a3895e741d5348ecdd39ad2e5cbd443f8e89
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;
    }
}