Browse Source

获取航线点位

S0025136190 1 year ago
parent
commit
9d89aae43e

+ 17 - 1
Backend/sample/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java

@@ -2,7 +2,9 @@ package com.dji.sample.wayline.controller;
 
 
 import com.dji.sample.common.model.CustomClaim;
 import com.dji.sample.common.model.CustomClaim;
 import com.dji.sample.wayline.model.dto.WaylineFileDTO;
 import com.dji.sample.wayline.model.dto.WaylineFileDTO;
+import com.dji.sample.wayline.model.dto.WaylinePointDTO;
 import com.dji.sample.wayline.service.IWaylineFileService;
 import com.dji.sample.wayline.service.IWaylineFileService;
+import com.dji.sample.wayline.service.IWaylinePointService;
 import com.dji.sdk.cloudapi.device.DeviceEnum;
 import com.dji.sdk.cloudapi.device.DeviceEnum;
 import com.dji.sdk.cloudapi.wayline.*;
 import com.dji.sdk.cloudapi.wayline.*;
 import com.dji.sdk.cloudapi.wayline.api.IHttpWaylineService;
 import com.dji.sdk.cloudapi.wayline.api.IHttpWaylineService;
@@ -37,6 +39,9 @@ public class WaylineFileController implements IHttpWaylineService {
     @Autowired
     @Autowired
     private IWaylineFileService waylineFileService;
     private IWaylineFileService waylineFileService;
 
 
+    @Autowired
+    private IWaylinePointService waylinePointService;
+
     /**
     /**
      * Delete the wayline file in the workspace according to the wayline id.
      * Delete the wayline file in the workspace according to the wayline id.
      * @param workspaceId
      * @param workspaceId
@@ -167,7 +172,7 @@ public class WaylineFileController implements IHttpWaylineService {
     }
     }
 
 
     /**
     /**
-     * Delete the wayline file in the workspace according to the wayline id.
+     *
      * @param workspaceId
      * @param workspaceId
      * @return
      * @return
      */
      */
@@ -176,4 +181,15 @@ public class WaylineFileController implements IHttpWaylineService {
         List<GetWaylineListResponse> data = waylineFileService.getWaylines(workspaceId);
         List<GetWaylineListResponse> data = waylineFileService.getWaylines(workspaceId);
         return HttpResultResponse.success(data);
         return HttpResultResponse.success(data);
     }
     }
+
+    /**
+     *
+     * @param waylineId
+     * @return
+     */
+    @GetMapping("${url.wayline.prefix}${url.wayline.version}/workspaces/{workspace_id}/getWaylinePoint/{wayline_id}")
+    public HttpResultResponse getWaylinePoint(@PathVariable(name = "wayline_id") String waylineId) {
+        List<WaylinePointDTO> data = waylinePointService.getPointByWaylineId(waylineId);
+        return HttpResultResponse.success(data);
+    }
 }
 }

+ 3 - 1
Backend/sample/src/main/java/com/dji/sample/wayline/service/IWaylinePointService.java

@@ -13,7 +13,9 @@ import java.util.List;
  */
  */
 public interface IWaylinePointService {
 public interface IWaylinePointService {
 
 
-    void isnertPoint(List<WaylinePointDTO> list ,String waylineId);
+    void insertPoint(List<WaylinePointDTO> list ,String waylineId);
 
 
     void delPoint(String waylineId);
     void delPoint(String waylineId);
+
+    List<WaylinePointDTO> getPointByWaylineId(String waylineId);
 }
 }

+ 1 - 1
Backend/sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java

@@ -153,7 +153,7 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
                 e.printStackTrace();
                 e.printStackTrace();
             }
             }
         }
         }
-        waylinePointService.isnertPoint(metadata.getPointDTOS(), file.getWaylineId());
+        waylinePointService.insertPoint(metadata.getPointDTOS(), file.getWaylineId());
         int insertId = mapper.insert(file);
         int insertId = mapper.insert(file);
         return insertId > 0 ? file.getId() : insertId;
         return insertId > 0 ? file.getId() : insertId;
     }
     }

+ 3 - 0
Backend/sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java

@@ -305,6 +305,9 @@ public class WaylineJobServiceImpl implements IWaylineJobService {
         if (uploadedSize >= entity.getMediaCount()) {
         if (uploadedSize >= entity.getMediaCount()) {
             return builder.uploadedCount(uploadedSize).build();
             return builder.uploadedCount(uploadedSize).build();
         }
         }
+        if (Objects.nonNull(entity.getErrorCode())) {
+            builder.endTime(LocalDateTime.ofInstant(Instant.ofEpochMilli(entity.getEndTime()), ZoneId.systemDefault()));
+        }
         RedisOpsUtils.hashSet(countKey, entity.getJobId(),
         RedisOpsUtils.hashSet(countKey, entity.getJobId(),
                 MediaFileCountDTO.builder()
                 MediaFileCountDTO.builder()
                         .jobId(entity.getJobId())
                         .jobId(entity.getJobId())

+ 25 - 1
Backend/sample/src/main/java/com/dji/sample/wayline/service/impl/WaylinePointServiceImpl.java

@@ -11,7 +11,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * @author huiqing.jiang
  * @author huiqing.jiang
@@ -28,7 +30,7 @@ public class WaylinePointServiceImpl implements IWaylinePointService {
 
 
 
 
     @Override
     @Override
-    public void isnertPoint(List<WaylinePointDTO> list, String waylineId) {
+    public void insertPoint(List<WaylinePointDTO> list, String waylineId) {
         for (WaylinePointDTO dto : list) {
         for (WaylinePointDTO dto : list) {
             WaylinePointEntity entity = dtoToEntity(dto);
             WaylinePointEntity entity = dtoToEntity(dto);
             entity.setWaylineId(waylineId);
             entity.setWaylineId(waylineId);
@@ -43,6 +45,18 @@ public class WaylinePointServiceImpl implements IWaylinePointService {
         mapper.delete(wrapper);
         mapper.delete(wrapper);
     }
     }
 
 
+    @Override
+    public List<WaylinePointDTO> getPointByWaylineId(String waylineId) {
+        List<WaylinePointDTO> resultList = new ArrayList<>();
+        QueryWrapper<WaylinePointEntity> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(WaylinePointEntity::getWaylineId ,waylineId)
+                .orderByAsc(WaylinePointEntity::getCreateTime);
+        List<WaylinePointEntity> list = mapper.selectList(wrapper);
+        resultList = list.stream().map(this::entityToDto)
+                .collect(Collectors.toList());
+        return resultList;
+    }
+
     private WaylinePointEntity dtoToEntity(WaylinePointDTO dto){
     private WaylinePointEntity dtoToEntity(WaylinePointDTO dto){
         WaylinePointEntity entity = new WaylinePointEntity();
         WaylinePointEntity entity = new WaylinePointEntity();
         entity.setPointIndex(dto.getPointIndex());
         entity.setPointIndex(dto.getPointIndex());
@@ -51,4 +65,14 @@ public class WaylinePointServiceImpl implements IWaylinePointService {
         entity.setLongitude(dto.getLongitude());
         entity.setLongitude(dto.getLongitude());
         return entity;
         return entity;
     }
     }
+
+    private WaylinePointDTO entityToDto(WaylinePointEntity entity){
+        WaylinePointDTO dto = new WaylinePointDTO();
+        dto.setPointIndex(entity.getPointIndex());
+        dto.setLatitude(entity.getLatitude());
+        dto.setFolderId(entity.getFolderId());
+        dto.setLongitude(entity.getLongitude());
+        dto.setCreateTime(entity.getCreateTime());
+        return dto;
+    }
 }
 }