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; } 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; } 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 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());