From 2927bb498574a0e30bcbb3a9f7ee9468636cf0d8 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Thu, 15 Aug 2024 11:31:33 +0800
Subject: [PATCH] 优化无人机状态更新,更新照片角度附属信息

---
 src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 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 9213b00..9eafe2b 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
@@ -128,6 +128,29 @@
         if (Objects.isNull(param)) {
             return Optional.empty();
         }
+        if (param.getJobId()!=null){
+            WaylineJobEntity jobEntity = WaylineJobEntity.builder()
+                    .name(param.getName())
+                    .dockSn(param.getDockSn())
+                    .fileId(param.getFileId())
+                    .username(username)
+                    .workspaceId(workspaceId)
+                    .jobId(param.getJobId())
+                    .beginTime(beginTime)
+                    .endTime(endTime)
+                    .status(WaylineJobStatusEnum.PENDING.getVal())
+                    .taskType(param.getTaskType().getVal())
+                    .waylineType(param.getWaylineType().getVal())
+                    .outOfControlAction(param.getOutOfControlAction())
+                    .rthAltitude(param.getRthAltitude())
+                    .rthMode(param.getRthMode())
+                    .mediaCount(0)
+                    .build();
+            if (StringUtils.hasText(param.getJobId())) {
+                jobEntity.setJobId(param.getJobId());
+            }
+            return insertWaylineJob(jobEntity);
+        }
         // Immediate tasks, allocating time on the backend.
         WaylineJobEntity jobEntity = WaylineJobEntity.builder()
                 .name(param.getName())
@@ -143,6 +166,7 @@
                 .waylineType(param.getWaylineType().getVal())
                 .outOfControlAction(param.getOutOfControlAction())
                 .rthAltitude(param.getRthAltitude())
+                .rthMode(param.getRthMode())
                 .mediaCount(0)
                 .build();
         if (StringUtils.hasText(param.getJobId())) {
@@ -367,6 +391,7 @@
                 .taskType(waylineJob.getTaskType())
                 .waylineType(waylineJob.getWaylineType())
                 .rthAltitude(waylineJob.getRthAltitude())
+                .rthMode(waylineJob.getRthMode())
                 .outOfControlAction(waylineJob.getOutOfControlAction())
                 .file(WaylineTaskFileDTO.builder()
                         .url(MinioUrlUtils.getUrl(url))
@@ -789,6 +814,12 @@
     @Override
     public List<String> getJobIds(String jobNames) {
         List<String> names = getJobNamesByPartialName(jobNames);
+
+        // 如果 names 列表为空,直接返回空的 jobIdStringList
+        if (names.isEmpty()) {
+            return new ArrayList<>();
+        }
+
         // 使用 LambdaQueryWrapper 进行查询
         List<Object> jobIdList = mapper.selectObjs(
                 new LambdaQueryWrapper<WaylineJobEntity>()
@@ -803,6 +834,7 @@
         }
         return jobIdStringList;
     }
+
 
     @Override
     public WaylineJobEntity getLatestJob(String workspaceId, WaylineJobQueryParam waylineJobQueryParam) {
@@ -1102,6 +1134,7 @@
                 .taskType(WaylineTaskTypeEnum.find(entity.getTaskType()))
                 .waylineType(WaylineTemplateTypeEnum.find(entity.getWaylineType()))
                 .rthAltitude(entity.getRthAltitude())
+                .rthMode(entity.getRthMode())
                 .outOfControlAction(entity.getOutOfControlAction())
                 .mediaCount(entity.getMediaCount())
                 .hasChildren(entity.getHasChildren());

--
Gitblit v1.9.3