add airline preview interface for preview of creating job

This commit is contained in:
Andy Yang 2026-01-30 19:06:15 +08:00
parent 29238b0d75
commit d262796fbd
3 changed files with 32 additions and 0 deletions

View File

@ -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")

View File

@ -44,6 +44,11 @@ public interface JmJobService {
*/
JmJob save(JmJobModeEnum mode, JmJobDTO e);
/**
* 预览
*/
JmJobDTO preview(JmJobModeEnum mode, JmJobDTO e);
/**
* 修改不为空的字段
*/

View File

@ -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<Long, List<JmAirline>> 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);