guoshilong
2023-10-12 f61c1902e30b0ab54e833960df7d2d79c8b62120
执行时间
4 files modified
42 ■■■■■ changed files
src/main/java/com/dji/sample/wayline/model/entity/WaylineJobEntity.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/model/param/CreateJobParam.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java 28 ●●●●● patch | view | raw | blame | history
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());