| src/main/java/com/dji/sample/wayline/dao/IWaylineJobBreakPointMapper.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExtBreakPoint.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/dji/sample/wayline/model/entity/WaylineJobBreakPointEntity.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/dji/sample/wayline/service/IWaylineJobBreakPointService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/dji/sample/wayline/service/impl/WaylineJobBreakPointServiceImpl.java | ●●●●● patch | view | raw | blame | history |
src/main/java/com/dji/sample/wayline/dao/IWaylineJobBreakPointMapper.java
New file @@ -0,0 +1,13 @@ package com.dji.sample.wayline.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dji.sample.wayline.model.entity.WaylineJobBreakPointEntity; /** * @PROJECT_NAME: drone * @DESCRIPTION: * @USER: aix * @DATE: 2024/3/23 11:09 */ public interface IWaylineJobBreakPointMapper extends BaseMapper<WaylineJobBreakPointEntity> { } src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExtBreakPoint.java
@@ -1,5 +1,6 @@ package com.dji.sample.wayline.model.dto; import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; /** @@ -11,14 +12,22 @@ @Data public class WaylineTaskProgressExtBreakPoint { private Integer attitudeHead; private Integer breakReason; private Integer height; private Integer index; private Integer latitude; private Integer longitude; private Integer progress; private Integer state; private Double progress; private Integer waylineId; private Integer breakReason; private Integer latitude; private Integer longitude; private Integer height; private Integer attitudeHead; } src/main/java/com/dji/sample/wayline/model/entity/WaylineJobBreakPointEntity.java
New file @@ -0,0 +1,64 @@ package com.dji.sample.wayline.model.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.List; /** * @author sean * @version 1.1 * @date 2022/6/1 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor @TableName(value = "wayline_job_break_point",autoResultMap = true) public class WaylineJobBreakPointEntity implements Serializable { @TableId(type = IdType.AUTO) private Integer id; @TableField("job_id") private String jobId; @TableField("index") private Integer index; @TableField("state") private Integer state; @TableField("progress") private Double progress; @TableField("wayline_id") private Integer waylineId; @TableField("break_reason") private Integer breakReason; @TableField("latitude") private Integer latitude; @TableField("longitude") private Integer longitude; @TableField("height") private Integer height; @TableField("attitudehead") private Integer attitudeHead; @TableField(value = "create_time", fill = FieldFill.INSERT) private Long createTime; @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) private Long updateTime; } src/main/java/com/dji/sample/wayline/service/IWaylineJobBreakPointService.java
New file @@ -0,0 +1,14 @@ package com.dji.sample.wayline.service; import com.dji.sample.wayline.model.entity.WaylineJobBreakPointEntity; /** * @PROJECT_NAME: drone * @DESCRIPTION: * @USER: aix * @DATE: 2024/3/23 11:07 */ public interface IWaylineJobBreakPointService { public boolean addWaylineJobBreakPoint(WaylineJobBreakPointEntity entity); } src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
@@ -14,10 +14,13 @@ import com.dji.sample.media.model.MediaFileCountDTO; import com.dji.sample.wayline.model.dto.WaylineJobDTO; import com.dji.sample.wayline.model.dto.WaylineJobKey; import com.dji.sample.wayline.model.dto.WaylineTaskProgressExtBreakPoint; import com.dji.sample.wayline.model.dto.WaylineTaskProgressReceiver; import com.dji.sample.wayline.model.entity.WaylineJobBreakPointEntity; import com.dji.sample.wayline.model.enums.WaylineJobStatusEnum; import com.dji.sample.wayline.model.enums.WaylineTaskTypeEnum; import com.dji.sample.wayline.service.IFlightTaskService; import com.dji.sample.wayline.service.IWaylineJobBreakPointService; import com.dji.sample.wayline.service.IWaylineJobService; import com.dji.sample.wayline.service.IWaylineRedisService; import com.fasterxml.jackson.core.type.TypeReference; @@ -63,6 +66,9 @@ @Autowired private IWaylineRedisService waylineRedisService; @Autowired private IWaylineJobBreakPointService waylineJobBreakPointService; /** * Handle the progress messages of the flight tasks reported by the dock. * 处理机场上报的飞行任务进度信息 @@ -85,7 +91,31 @@ log.info("任务进度: {}", output.getProgress().toString()); if (null != output.getExt().getBreakPoint()) { log.info("任务进度 ===> 断点信息:{}", output.getExt().getBreakPoint().toString()); WaylineTaskProgressExtBreakPoint breakPoint = output.getExt().getBreakPoint(); log.info("任务进度 ===> 断点信息:{}", breakPoint.toString()); // 保存断点信息 try { Boolean isAddBp = waylineJobBreakPointService.addWaylineJobBreakPoint(WaylineJobBreakPointEntity.builder() .jobId(receiver.getBid()) .index(breakPoint.getIndex()) .state(breakPoint.getState()) .progress(breakPoint.getProgress()) .waylineId(breakPoint.getWaylineId()) .breakReason(breakPoint.getBreakReason()) .latitude(breakPoint.getLatitude()) .longitude(breakPoint.getLongitude()) .height(breakPoint.getHeight()) .attitudeHead(breakPoint.getAttitudeHead()) .build()); if (isAddBp) { log.info("任务进度 ===> 断点信息 ===> 保存成功:{}", breakPoint.toString()); } else { log.info("任务进度 ===> 断点信息 ===> 保存失败:{}", breakPoint.toString()); } }catch (Exception e) { log.info("任务进度 ===> 断点信息 ===> 保存失败:{},\n {}", breakPoint.toString(),e.getMessage()); } } if (eventsReceiver.getResult() != ResponseResult.CODE_SUCCESS) { src/main/java/com/dji/sample/wayline/service/impl/WaylineJobBreakPointServiceImpl.java
New file @@ -0,0 +1,28 @@ package com.dji.sample.wayline.service.impl; import com.dji.sample.wayline.dao.IWaylineJobBreakPointMapper; import com.dji.sample.wayline.model.entity.WaylineJobBreakPointEntity; import com.dji.sample.wayline.service.IWaylineJobBreakPointService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * @PROJECT_NAME: drone * @DESCRIPTION: * @USER: aix * @DATE: 2024/3/23 11:21 */ @Service @Transactional public class WaylineJobBreakPointServiceImpl implements IWaylineJobBreakPointService { @Autowired private IWaylineJobBreakPointMapper mapper; @Override public boolean addWaylineJobBreakPoint(WaylineJobBreakPointEntity entity) { int insertId = mapper.insert(entity); return insertId>0; } }