| | |
| | | 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; |
| | |
| | | /** |
| | | * 校验航线任务是否可以创建航线 |
| | | * |
| | | * @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; |
| | | } |
| | | |
| | | } |