Browse Source

航线文件上传入库

S0025136190 1 year ago
parent
commit
e3b387d7b2

+ 9 - 5
Backend/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/wayline/WaylineTypeEnum.java

@@ -16,21 +16,25 @@ import java.util.Arrays;
         description = "<p>0: waypoint<p/><p>1: mapping2d<p/><p>2: mapping3d<p/><p>3: mappingStrip</p>")
 public enum WaylineTypeEnum {
 
-    WAYPOINT(0, "航点航线"),
+    WAYPOINT(0, "航点航线","waypoint"),
 
-    MAPPING_2D(1, "二维正射"),
+    MAPPING_2D(1, "二维正射","mapping2d"),
 
-    MAPPING_3D(2, "倾斜摄影"),
+    MAPPING_3D(2, "倾斜摄影","mapping3d"),
 
-    MAPPING_STRIP(3, "带状航线");
+    MAPPING_STRIP(3, "带状航线","mappingStrip");
 
     private final int value;
 
+    private final String text;
     private final String type;
 
-    WaylineTypeEnum(int value, String type) {
+
+
+    WaylineTypeEnum(int value,String text, String type) {
         this.value = value;
         this.type = type;
+        this.text = text;
     }
 
     @JsonValue

+ 6 - 0
Backend/sample/src/main/java/com/dji/sample/wayline/model/dto/KmzFileProperties.java

@@ -36,4 +36,10 @@ public class KmzFileProperties {
     public static final String TAG_PAYLOAD_SUB_ENUM_VALUE = "payloadSubEnumValue";
 
     public static final String TAG_TEMPLATE_TYPE = "templateType";
+
+    public static final String ELLIPSOID_HEIGHT = "ellipsoidHeight";
+
+    public static final String HEIGHT_MODE = "heightMode";
+
+    public static final String HEIGHT = "height";
 }

+ 7 - 0
Backend/sample/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java

@@ -6,6 +6,7 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -36,6 +37,12 @@ public class WaylineFileDTO {
 
     private String objectKey;
 
+    private BigDecimal height;
+
+    private BigDecimal ellipsoidHeight;
+
+    private String heightMode;
+
     @JsonProperty("user_name")
     private String username;
 

+ 10 - 0
Backend/sample/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 /**
  * @author sean
@@ -50,6 +51,15 @@ public class WaylineFileEntity implements Serializable {
     @TableField("object_key")
     private String objectKey;
 
+    @TableField("height")
+    private BigDecimal height;
+
+    @TableField("ellipsoid_height")
+    private BigDecimal ellipsoidHeight;
+
+    @TableField("height_mode")
+    private String heightMode;
+
     @TableField("user_name")
     private String username;
 

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

@@ -33,6 +33,7 @@ import org.springframework.web.multipart.MultipartFile;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.math.BigDecimal;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.sql.SQLException;
@@ -234,12 +235,17 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
                 DeviceTypeEnum payloadType = DeviceTypeEnum.find(Integer.parseInt(payloadNode.valueOf(KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.TAG_PAYLOAD_ENUM_VALUE)));
                 DeviceSubTypeEnum payloadSubType = DeviceSubTypeEnum.find(Integer.parseInt(payloadNode.valueOf(KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.TAG_PAYLOAD_SUB_ENUM_VALUE)));
                 String templateType = document.valueOf("//" + KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.TAG_TEMPLATE_TYPE);
-
+                BigDecimal height = new BigDecimal(document.valueOf("//" + KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.HEIGHT));
+                BigDecimal ellipsoidHeight = new BigDecimal(document.valueOf("//" + KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.ELLIPSOID_HEIGHT));
+                String heightMode = document.valueOf("//" + KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.HEIGHT_MODE);
                 return Optional.of(WaylineFileDTO.builder()
                         .droneModelKey(DeviceEnum.find(DeviceDomainEnum.DRONE, type, subType).getDevice())
                         .payloadModelKeys(List.of(DeviceEnum.find(DeviceDomainEnum.PAYLOAD, payloadType, payloadSubType).getDevice()))
                         .objectKey(OssConfiguration.objectDirPrefix + File.separator + filename)
                         .name(filename.substring(0, filename.lastIndexOf(WAYLINE_FILE_SUFFIX)))
+                        .height(height)
+                        .heightMode(heightMode)
+                        .ellipsoidHeight(ellipsoidHeight)
                         .sign(DigestUtils.md5DigestAsHex(file.getInputStream()))
                         .templateTypes(List.of(WaylineTypeEnum.find(templateType).getValue()))
                         .build());
@@ -296,6 +302,9 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
                             .map(String::valueOf)
                             .collect(Collectors.joining(",")))
                     .favorited(file.getFavorited())
+                    .height(file.getHeight())
+                    .heightMode(file.getHeightMode())
+                    .ellipsoidHeight(file.getEllipsoidHeight())
                     .sign(file.getSign())
                     .build();
         }