From faedd5d2f0ee850464f0507da93c37459bd5e3bb Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 26 Sep 2023 16:30:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/main'
---
src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java | 53 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 33 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
index 9d07192..796a705 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
@@ -30,6 +30,7 @@
import com.dji.sample.wayline.model.enums.*;
import com.dji.sample.wayline.model.param.CreateJobParam;
import com.dji.sample.wayline.model.param.UpdateJobParam;
+import com.dji.sample.wayline.model.param.WaylineJobQueryParam;
import com.dji.sample.wayline.service.IWaylineFileService;
import com.dji.sample.wayline.service.IWaylineJobService;
import com.dji.sample.wayline.service.IWaylineRedisService;
@@ -141,24 +142,26 @@
}
/**
- * For immediate tasks, the server time shall prevail.
+ * 对于即时任务,以服务器时间为准。
* @param param
*/
private void fillImmediateTime(CreateJobParam param) {
if (WaylineTaskTypeEnum.IMMEDIATE != param.getTaskType()) {
return;
}
- long now = System.currentTimeMillis() / 1000;
- param.setTaskDays(Collections.singletonList(now));
- param.setTaskPeriods(Collections.singletonList(Collections.singletonList(now)));
+ long now = System.currentTimeMillis() / 1000 - 10;
+// param.setTaskDays(Collections.singletonList(now));
+// param.setTaskPeriods(Collections.singletonList(Collections.singletonList(now)));
+ param.setTaskDays(List.of(now));
+ param.setTaskPeriods(List.of(List.of(now)));
}
@Override
public ResponseResult publishFlightTask(CreateJobParam param, CustomClaim customClaim) throws SQLException {
fillImmediateTime(param);
- param.getTaskDays().sort((a, b) -> (int) (a - b));
- param.getTaskPeriods().sort((a, b) -> (int) (a.get(0) - b.get(0)));
+// param.getTaskDays().sort((a, b) -> (int) (a - b));
+// param.getTaskPeriods().sort((a, b) -> (int) (a.get(0) - b.get(0)));
for (Long taskDay : param.getTaskDays()) {
LocalDate date = LocalDate.ofInstant(Instant.ofEpochSecond(taskDay), ZoneId.systemDefault());
for (List<Long> taskPeriod : param.getTaskPeriods()) {
@@ -172,16 +175,16 @@
}
Optional<WaylineJobDTO> waylineJobOpt = this.createWaylineJob(param, customClaim.getWorkspaceId(), customClaim.getUsername(), beginTime, endTime);
if (waylineJobOpt.isEmpty()) {
- return ResponseResult.error("Failed to create wayline job.");
+ throw new SQLException("Failed to create wayline job.");
}
-
WaylineJobDTO waylineJob = waylineJobOpt.get();
- if (WaylineTaskTypeEnum.IMMEDIATE == param.getTaskType()) {
- return this.publishOneFlightTask(waylineJob);
- }
-
// If it is a conditional task type, add conditions to the job parameters.
addPreparedJob(waylineJob, param, beginTime, endTime);
+
+ ResponseResult response = this.publishOneFlightTask(waylineJob);
+ if (ResponseResult.CODE_SUCCESS != response.getCode()) {
+ return response;
+ }
}
}
return ResponseResult.success();
@@ -231,13 +234,13 @@
boolean isOnline = deviceRedisService.checkDeviceOnline(waylineJob.getDockSn());
if (!isOnline) {
- throw new RuntimeException("Dock is offline.");
+ throw new RuntimeException("设备离线。");
}
// get wayline file
Optional<WaylineFileDTO> waylineFile = waylineFileService.getWaylineByWaylineId(waylineJob.getWorkspaceId(), waylineJob.getFileId());
if (waylineFile.isEmpty()) {
- throw new SQLException("Wayline file doesn't exist.");
+ throw new SQLException("航线文件不存在。");
}
// get file url
@@ -394,12 +397,22 @@
}
@Override
- public PaginationData<WaylineJobDTO> getJobsByWorkspaceId(String workspaceId, long page, long pageSize) {
- Page<WaylineJobEntity> pageData = mapper.selectPage(
- new Page<WaylineJobEntity>(page, pageSize),
- new LambdaQueryWrapper<WaylineJobEntity>()
- .eq(WaylineJobEntity::getWorkspaceId, workspaceId)
- .orderByDesc(WaylineJobEntity::getId));
+ public PaginationData<WaylineJobDTO> getJobsByWorkspaceId(String workspaceId, long page, long pageSize, WaylineJobQueryParam waylineJobQueryParam) {
+// Page<WaylineJobEntity> pageData = mapper.selectPage(
+// new Page<WaylineJobEntity>(page, pageSize),
+// new LambdaQueryWrapper<WaylineJobEntity>()
+// .eq(WaylineJobEntity::getWorkspaceId, workspaceId)
+// .eq(waylineJobDTO.getTaskType() !=null, WaylineJobEntity::getTaskType, waylineJobDTO.getTaskType())
+// .eq(waylineJobDTO.getStatus()!=null, WaylineJobEntity::getStatus, waylineJobDTO.getStatus())
+// .like(StringUtils.hasText(waylineJobDTO.getJobName()),WaylineJobEntity::getName,waylineJobDTO.getJobName())
+//
+//
+// .orderByDesc(WaylineJobEntity::getId));
+
+ Page<WaylineJobEntity> pageData = mapper.getPage(new Page<WaylineJobEntity>(page, pageSize),waylineJobQueryParam,workspaceId);
+
+
+
List<WaylineJobDTO> records = pageData.getRecords()
.stream()
.map(this::entity2Dto)
--
Gitblit v1.9.3