| | |
| | | import com.ard.system.mapper.SysUserMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Service; |
| | | import com.ard.route.mapper.ArdRouteMissionMapper; |
| | | import com.ard.route.service.IArdRouteMissionService; |
| | | |
| | | import static com.ard.common.utils.SecurityUtils.getUserId; |
| | | |
| | | |
| | | /** |
| | |
| | | return ardRouteMissionMapper.insertArdRouteMission(ardRouteMission); |
| | | } |
| | | |
| | | // /** |
| | | // * 定时任务,定时发送新增航线任务消息 |
| | | // */ |
| | | // @Scheduled(fixedRate = 2000) |
| | | // public void sendMissionMessage() { |
| | | // ArdRouteMission ardRouteMission = new ArdRouteMission(); |
| | | // ardRouteMission.setIsRead("0"); |
| | | // // 获取所有未读的消息给 |
| | | // List<ArdRouteMission> routeMissionLs = ardRouteMissionMapper.selectArdRouteMissionList(ardRouteMission); |
| | | // for (ArdRouteMission routeMissionL : routeMissionLs) { |
| | | // if (routeMissionL.getIssuerId() != null){ |
| | | // List<ArdRoutePoint> missionDetailList = ardRoutePointMapper.selectArdRoutePointByMissionId(routeMissionL.getId()); |
| | | // routeMissionL.setMissionDetailList(missionDetailList); |
| | | // MiWebSocketUtils.sendMessage(routeMissionL.getIssuerId(),JSON.toJSONString(routeMissionL)); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | |
| | | /** |
| | | * 修改航线任务 |
| | | * |
| | |
| | | */ |
| | | @Override |
| | | public int updateArdRouteMission(ArdRouteMission ardRouteMission) { |
| | | validateForCreate(ardRouteMission,"2"); |
| | | ardRouteMission.setUpdateTime(DateUtils.getNowDate()); |
| | | ardRouteMission.setIssuerName(getUserName(ardRouteMission.getIssuerId())); |
| | | // 删除航线任务航点 |
| | |
| | | */ |
| | | @Override |
| | | public int deleteArdRouteMissionByIds(String[] ids) { |
| | | // 删除航线任务时只能删除自己的航线任务 |
| | | for (String id : ids) { |
| | | ArdRouteMission ardRouteMission = ardRouteMissionMapper.selectArdRouteMissionById(id); |
| | | validateForCreate(ardRouteMission,"1"); |
| | | } |
| | | // 删除航线任务航点 |
| | | ardRoutePointMapper.deleteArdRoutePointByMissionId(ids[0]); |
| | | return ardRouteMissionMapper.deleteArdRouteMissionByIds(ids); |
| | | } |
| | | |
| | | // 验证,只有当前用户是下发人才能删除修改 |
| | | private void validateForCreate(ArdRouteMission mission,String type) { |
| | | if (!mission.getIssuerId().equals(getUserId())){ |
| | | if ("1".equals(type)){ |
| | | throw new RuntimeException("只能删除下发自己的航线任务信息【" + mission.getMissionName() + "】,无法执行操作!"); |
| | | }else if ("2".equals(type)){ |
| | | throw new RuntimeException("只能修改下发自己的航线任务信息【" + mission.getMissionName() + "】,无法执行操作!"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public int deleteArdRouteMissionById(String id) { |
| | | ArdRouteMission ardRouteMission = ardRouteMissionMapper.selectArdRouteMissionById(id); |
| | | if (ardRouteMission != null){ |
| | | validateForCreate(ardRouteMission,"1"); |
| | | } |
| | | ardRoutePointMapper.deleteArdRoutePointByMissionId(id); |
| | | return ardRouteMissionMapper.deleteArdRouteMissionById(id); |
| | | } |
| | |
| | | return ardRouteMissionMapper.updateIsRead(ids, isRead); |
| | | } |
| | | |
| | | /** |
| | | * 校验航线任务是否可以创建航线 |
| | | * |
| | | * @param missionId 航线任务ID |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public Boolean selectRouteMissionNot(String missionId) { |
| | | ArdRouteMission mission = ardRouteMissionMapper.selectArdRouteMissionById(missionId); |
| | | if (mission != null){ |
| | | throw new RuntimeException("创建航线,只能创建下发自己的航线任务信息【" + mission.getMissionName() + "】,无法执行操作!"); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | } |