From 0fcc9721259214b647fe1b7fed0e00b09dfd4457 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 16 Dec 2025 08:14:47 +0800
Subject: [PATCH] 2025-12-16 zwy 优化循环任务逻辑
---
ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java | 66 ++++++++++++++++++++-------------
1 files changed, 40 insertions(+), 26 deletions(-)
diff --git a/ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java
index e450a49..f2c9683 100644
--- a/ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineJobServiceImpl.java
@@ -1,8 +1,10 @@
package com.ard.sample.wayline.service.impl;
-import com.ard.ossdock.service.impl.OssDockServiceContext;
+import com.ard.common.config.OssConfiguration;
+import com.ard.oss.service.impl.OssServiceContext;
import com.ard.route.domain.route.ArdRouteInfo;
import com.ard.route.service.IArdRouteInfoService;
+import com.ard.sample.config.DockConfiguration;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -78,7 +80,7 @@
private IArdRouteInfoService _ardRouteInfoService;
@Resource
- private OssDockServiceContext _ossService;
+ private OssServiceContext _ossService;
@Autowired
private IDeviceService deviceService;
@@ -206,19 +208,22 @@
// }
// 换航线表
ArdRouteInfo ardRouteOpt = _ardRouteInfoService.selectArdRouteInfoById(waylineJob.getFileId());
- if (ardRouteOpt == null || ardRouteOpt.getPath1() == null || ardRouteOpt.getPath1().isEmpty()) {
+ if (ardRouteOpt == null || ardRouteOpt.getPath() == null || ardRouteOpt.getPath().isEmpty()) {
return ResponseResult.error(314013001,"机场任务航线不存在!");
}
// get file url
// URL url = waylineFileService.getObjectUrl(waylineFile.get().getWaylineId());
URL url = null;
- String minioUrl = subStringMinioUrlName(ardRouteOpt.getPath1());
+ String minioUrl = subStringMinioUrlName(ardRouteOpt.getPath());
String md5 = "";
+ String httpUrl="";
try (InputStream inputStream = _ossService.getObject(kmzPath, minioUrl)) {
md5 = DigestUtils.md5Hex(inputStream);
- url = new URL(ardRouteOpt.getPath1());
- log.info("机场任务航线文件url地址:{}", url);
+ url = new URL(ardRouteOpt.getPath());
+ log.info("机场任务航线文件url地址转换前:{}", url);
+ httpUrl = url.toString().replace(OssConfiguration.endpoint, DockConfiguration.endpoint);
+ log.info("机场任务航线文件url地址转换后:{}", httpUrl);
log.info("机场任务航线文件md5值:{}", md5);
} catch (Exception e) {
log.error("机场任务航线文件地址错误!{}", e.getMessage());
@@ -240,7 +245,7 @@
// .fingerprint(waylineFile.get().getSign())
// .replace("https://", "http://")
// .replace("9001", "9011")
- .url(url.toString())
+ .url(httpUrl)
.fingerprint(md5)
.build())
// .simulateMission(WaylineSimulateMissionDTO.builder()
@@ -318,17 +323,20 @@
}
// 换航线表
ArdRouteInfo ardRouteOpt = _ardRouteInfoService.selectArdRouteInfoById(waylineJob.getFileId());
- if (ardRouteOpt == null || ardRouteOpt.getPath1() == null || ardRouteOpt.getPath1().isEmpty()) {
+ if (ardRouteOpt == null || ardRouteOpt.getPath() == null || ardRouteOpt.getPath().isEmpty()) {
return ResponseResult.error(314013001,"机场任务航线不存在!");
}
// get file url
URL url = null;
- String minioUrl = subStringMinioUrlName(ardRouteOpt.getPath1());
+ String minioUrl = subStringMinioUrlName(ardRouteOpt.getPath());
String md5 = "";
+ String httpUrl="";
try (InputStream inputStream = _ossService.getObject(kmzPath, minioUrl)) {
md5 = DigestUtils.md5Hex(inputStream);
- url = new URL(ardRouteOpt.getPath1());
- log.info("机场任务航线文件url地址:{}", url);
+ url = new URL(ardRouteOpt.getPath());
+ log.info("机场任务航线文件url地址转换前:{}", url);
+ httpUrl = url.toString().replace(OssConfiguration.endpoint, DockConfiguration.endpoint);
+ log.info("机场任务航线文件url地址转换后:{}", httpUrl);
log.info("机场任务航线文件md5值:{}", md5);
} catch (Exception e) {
log.error("机场任务航线文件地址错误!{}", e.getMessage());
@@ -344,7 +352,7 @@
.outOfControlAction(waylineJob.getOutOfControlAction())
.rthMode(waylineJob.getRthMode())
.file(WaylineTaskFileDTO.builder()
- .url(url.toString())
+ .url(httpUrl)
// .fingerprint(waylineFile.get().getSign())
.fingerprint(md5)
.build())
@@ -358,10 +366,10 @@
// 下发参数打印
try{
String json = objectMapper.writeValueAsString(flightTask);
- log.info("机场下发航线任务的参数flightTask:{}", json);
+ log.info("机场下发循环任务子任务-定时任务的航线任务的参数flightTask:{}", json);
}
catch (Exception e){
- log.error("机场下发航线任务的参数flightTask异常:{}", e.getMessage());
+ log.error("机场下发循环任务子任务-定时任务的航线任务的参数flightTask异常:{}", e.getMessage());
}
String topic = TopicConst.THING_MODEL_PRE + TopicConst.PRODUCT +
@@ -376,9 +384,9 @@
ServiceReply serviceReply = messageSender.publishWithReply(topic, response);
- log.info("下发任务结果: {}", serviceReply.getResult());
- log.info("机场任务航线文件url地址:{}", url);
- log.info("机场任务航线文件md5值:{}", md5);
+ log.info("下发循环任务子任务-定时任务的结果: {}", serviceReply.getResult());
+ log.info("机场循环任务子任务-定时任务的航线文件url地址:{}", httpUrl);
+ log.info("机场循环任务子任务-定时任务的航线文件md5值:{}", md5);
if (ResponseResult.CODE_SUCCESS != serviceReply.getResult()) {
String errorMsg = CommonErrorEnum.getMsgByCode(serviceReply.getResult());
@@ -395,11 +403,11 @@
// 飞行命令先注释掉
// Issue an immediate task execution command.
- if (WaylineTaskTypeEnum.IMMEDIATE.getVal() == waylineJob.getTaskType()) {
- if (!executeFlightTask(waylineJob.getJobId())) {
- return ResponseResult.error("无法执行作业。");
- }
- }
+// if (WaylineTaskTypeEnum.IMMEDIATE.getVal() == waylineJob.getTaskType()) {
+// if (!executeFlightTask(waylineJob.getJobId())) {
+// return ResponseResult.error("无法执行作业。");
+// }
+// }
if (WaylineTaskTypeEnum.TIMED.getVal() == waylineJob.getTaskType()) {
boolean isAdd = RedisOpsUtils.zAdd(RedisConst.WAYLINE_JOB_TIMED_EXECUTE,
@@ -852,12 +860,18 @@
// get file url
URL url = null;
- String minioUrl = subStringMinioUrlName(ardRouteOpt.getPath1());
+ String minioUrl = subStringMinioUrlName(ardRouteOpt.getPath());
String md5 = "";
+ String httpUrl = "";
try (InputStream inputStream = _ossService.getObject(kmzPath, minioUrl)) {
md5 = DigestUtils.md5Hex(inputStream);
- url = new URL(ardRouteOpt.getPath1());
- log.info("机场通过flightTaskResourceGet获取航线文件地址,jobId: " + jobId + " 返回信息为url:" + url.toString() + " md5:" + md5);
+ url = new URL(ardRouteOpt.getPath());
+
+ log.info("机场通过flightTaskResourceGet获取航线文件地址转换前:{}", url);
+ httpUrl = url.toString().replace(OssConfiguration.endpoint, DockConfiguration.endpoint);
+ log.info("机场通过flightTaskResourceGet获取航线文件地址转换后:{}", httpUrl);
+
+ log.info("机场通过flightTaskResourceGet获取航线文件地址,jobId: " + jobId + " 返回信息为url:" + httpUrl + " md5:" + md5);
// }
// try {
// url = waylineFileService.getObjectUrl(waylineFile.get().getWaylineId());
@@ -871,7 +885,7 @@
builder.data(RequestsReply.success(WaylineTaskCreateDTO.builder()
.file(WaylineTaskFileDTO.builder()
- .url(url.toString())
+ .url(httpUrl)
.fingerprint(md5)
.build())
.build()));
--
Gitblit v1.9.3