From f61c1902e30b0ab54e833960df7d2d79c8b62120 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 12 Oct 2023 17:11:05 +0800
Subject: [PATCH] 执行时间

---
 src/main/java/com/dji/sample/wayline/model/param/CreateJobParam.java         |    2 ++
 src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java |   28 ++++++++++++++++++++++++++--
 src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java         |    7 +++++++
 src/main/java/com/dji/sample/wayline/model/entity/WaylineJobEntity.java      |    5 +++++
 4 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/dji/sample/wayline/model/entity/WaylineJobEntity.java b/src/main/java/com/dji/sample/wayline/model/entity/WaylineJobEntity.java
index a27129e..feca1fa 100644
--- a/src/main/java/com/dji/sample/wayline/model/entity/WaylineJobEntity.java
+++ b/src/main/java/com/dji/sample/wayline/model/entity/WaylineJobEntity.java
@@ -112,4 +112,9 @@
     @TableField(value = "rep_rule_val",typeHandler = FastjsonTypeHandler.class)
     private List<Integer> repRuleVal;
 
+    /**
+     * 开始执行时间
+     */
+    @TableField(value = "execute_start_time_arr",typeHandler = FastjsonTypeHandler.class)
+    private List<List<Long>> executeStartTimeArr;
 }
diff --git a/src/main/java/com/dji/sample/wayline/model/param/CreateJobParam.java b/src/main/java/com/dji/sample/wayline/model/param/CreateJobParam.java
index 0b53350..9b723b7 100644
--- a/src/main/java/com/dji/sample/wayline/model/param/CreateJobParam.java
+++ b/src/main/java/com/dji/sample/wayline/model/param/CreateJobParam.java
@@ -56,4 +56,6 @@
     private Integer repRuleType;
 
     private List<Integer> repRuleVal;
+
+    private List<List<Long>> executeStartTimeArr;
 }
diff --git a/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java b/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
index ee4f8a6..7083323 100644
--- a/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
+++ b/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
@@ -5,6 +5,7 @@
 import com.dji.sample.common.model.ResponseResult;
 import com.dji.sample.component.mqtt.model.CommonTopicReceiver;
 import com.dji.sample.wayline.model.dto.WaylineJobDTO;
+import com.dji.sample.wayline.model.entity.WaylineJobEntity;
 import com.dji.sample.wayline.model.enums.WaylineJobStatusEnum;
 import com.dji.sample.wayline.model.param.CreateJobParam;
 import com.dji.sample.wayline.model.param.UpdateJobParam;
@@ -61,6 +62,12 @@
     ResponseResult publishOneFlightTask(WaylineJobDTO waylineJob) throws SQLException;
 
     /**
+     * 发布飞行任务
+     * @return
+     */
+    Boolean publishFlightTask(WaylineJobEntity waylineJobEntity);
+
+    /**
      * Execute the task immediately.
      * 执行立即任务
      * @param jobId
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 b95bf70..bebb066 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
@@ -190,6 +190,7 @@
                     .repRuleType(param.getRepRuleType())
                     .repRuleVal(param.getRepRuleVal())
                     .executeTimeArr(param.getTaskPeriods())
+                    .executeStartTimeArr(param.getExecuteStartTimeArr())
                     .build();
 
             Boolean insert = mapper.insert(waylineJobEntity)>0;
@@ -234,8 +235,7 @@
         if (WaylineTaskTypeEnum.CONDITION == param.getTaskType()) {
             waylineJob.setConditions(
                     WaylineTaskConditionDTO.builder()
-                            .executableConditions(Objects.nonNull(param.getMinStorageCapacity()) ?
-                                    WaylineTaskExecutableConditionDTO.builder().storageCapacity(param.getMinStorageCapacity()).build() : null)
+                            .executableConditions(Objects.nonNull(param.getMinStorageCapacity()) ? WaylineTaskExecutableConditionDTO.builder().storageCapacity(param.getMinStorageCapacity()).build() : null)
                             .readyConditions(WaylineTaskReadyConditionDTO.builder()
                                     .batteryCapacity(param.getMinBatteryCapacity())
                                     .beginTime(beginTime)
@@ -271,6 +271,30 @@
         return ResponseResult.success();
     }
 
+    @Override
+    public Boolean publishFlightTask(WaylineJobEntity waylineJobEntity) {
+        WaylineJobDTO waylineJob = new WaylineJobDTO();
+
+
+        waylineJob.setConditions(
+                WaylineTaskConditionDTO.builder()
+                        .executableConditions(null)
+                        .readyConditions(WaylineTaskReadyConditionDTO.builder()
+                                .batteryCapacity(waylineJobEntity.getBatteryCapacity())
+
+                                .build())
+                        .build());
+
+
+
+
+
+
+
+
+        return null;
+    }
+
     private Boolean prepareFlightTask(WaylineJobDTO waylineJob) throws SQLException {
 
         boolean isOnline = deviceRedisService.checkDeviceOnline(waylineJob.getDockSn());

--
Gitblit v1.9.3