bug: ticket#11, notify frontend when manually stop task

This commit is contained in:
Andy Yang 2026-02-05 13:45:12 +08:00
parent 585a6ce9c5
commit f436ff5c17

View File

@ -25,6 +25,7 @@ import com.zhangy.skyeye.kmz.KmzGen;
import com.zhangy.skyeye.publics.consts.ExecStatusEnum;
import com.zhangy.skyeye.publics.consts.FileTypeEnum;
import com.zhangy.skyeye.publics.consts.UavAirlineUploadEnum;
import com.zhangy.skyeye.publics.consts.WebSocketKey;
import com.zhangy.skyeye.publics.service.SysFileTypeService;
import com.zhangy.skyeye.publics.utils.CoordUtil;
import com.zhangy.skyeye.py.service.IPyAirlineService;
@ -39,6 +40,7 @@ import com.zhangy.skyeye.sar.service.ISarMtiPointService;
import com.zhangy.skyeye.sar.service.ISarMtiTrailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -82,6 +84,8 @@ public class JmJobServiceImpl implements JmJobService {
private QuartzService quartzService;
@Autowired
private JmAirlinePlanService jmAirlinePlanService;
@Autowired
private SimpMessagingTemplate simpMessagingTemplate;
@Override
public IPage<JmJobDTO> selectPage(JmJobPageDTO param) {
@ -454,6 +458,12 @@ public class JmJobServiceImpl implements JmJobService {
sarControlService.sendUdp(controlParam);
// 标记缓存状态确保断连重新发送请求时不会重复执行
// uav.setSarStatus(ExecStatusEnum.OVER);
// 只会通知一次
// 通知前端任务停止
JmJobStatusWsDTO wsVo = new JmJobStatusWsDTO(id, uav.getUavId());
wsVo.setJobStatus(ExecStatusEnum.OVER.getValue());
simpMessagingTemplate.convertAndSend(WebSocketKey.JM_JOB_STATUS, wsVo);
});
// 删除缓存任务信息
jobStatusService.remove(id);