From d262796fbd620a72ccce4951b3398f5f151e557e Mon Sep 17 00:00:00 2001 From: Andy Yang Date: Fri, 30 Jan 2026 19:06:15 +0800 Subject: [PATCH] add airline preview interface for preview of creating job --- .../skyeye/jm/controller/JmJobController.java | 15 +++++++++++++++ .../zhangy/skyeye/jm/service/JmJobService.java | 5 +++++ .../skyeye/jm/service/impl/JmJobServiceImpl.java | 12 ++++++++++++ 3 files changed, 32 insertions(+) diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmJobController.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmJobController.java index 436a9a3..a111168 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmJobController.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmJobController.java @@ -86,6 +86,21 @@ public class JmJobController { return jobService.save(mode, e); } + /** + * 预览 + */ + @PostMapping("/preview") + public Object preview(@Valid @RequestBody JmJobDTO e) { + JmJobModeEnum mode = EnumUtil.parseEx(JmJobModeEnum.class, e.getMode()); + clearId(e); + // 默认执行一次性任务 + if (e.getType() == null) { + e.setType(1); + e.setCronExpression(null); + } + return jobService.preview(mode, e); + } + /** */ @PostMapping("/update") diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/JmJobService.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/JmJobService.java index 9cd34bd..2430c2a 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/JmJobService.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/JmJobService.java @@ -44,6 +44,11 @@ public interface JmJobService { */ JmJob save(JmJobModeEnum mode, JmJobDTO e); + /** + * 预览 + */ + JmJobDTO preview(JmJobModeEnum mode, JmJobDTO e); + /** * 修改(不为空的字段) */ diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/impl/JmJobServiceImpl.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/impl/JmJobServiceImpl.java index 286ac7f..ff2657f 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/impl/JmJobServiceImpl.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/impl/JmJobServiceImpl.java @@ -158,6 +158,18 @@ public class JmJobServiceImpl implements JmJobService { return insert(e); } + @Override + public JmJobDTO preview(JmJobModeEnum jobMode, JmJobDTO e) { + log.info("预览任务参数:{}||{}", JSON.toJSONString(jobMode), JSON.toJSONString(e)); + SarImageModeEnum imageMode = EnumUtil.parseEx(SarImageModeEnum.class, e.getImageMode()); + // 非航线模式需要调算法生成航线,需要从缓存取sar坐标 + Map> airlineGroup = jmAirlinePlanService.plan(jobMode, imageMode, e.getTargetType(), + e.getUavList(), e.getPointList()); + // 校验并加载数据 + checkAndSetUav(e.getUavList(), airlineGroup); + return e; + } + @Override public void updateNotNull(JmJob e) { jobMapper.updateNotNull(e);