Browse Source

添加解析字段 1.dongle_infos 2.camera_watermark_settings

S0025136190 1 year ago
parent
commit
8d39a3efa4

+ 37 - 0
Backend/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/device/BaseStateEnum.java

@@ -0,0 +1,37 @@
+package com.dji.sdk.cloudapi.device;
+
+import com.dji.sdk.exception.CloudSDKException;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+import java.util.Arrays;
+
+/**
+ * @author hqjiang
+ * @version 1.4
+ * @date 2024/8/21
+ */
+public enum BaseStateEnum {
+
+    OPENED(0),
+
+    CLOSED(1),
+    ;
+
+    private final int state;
+
+    BaseStateEnum(int state) {
+        this.state = state;
+    }
+
+    @JsonValue
+    public int getState() {
+        return state;
+    }
+
+    @JsonCreator
+    public static BaseStateEnum find(int state) {
+        return Arrays.stream(values()).filter(stateEnum -> stateEnum.state == state).findAny()
+                .orElseThrow(() -> new CloudSDKException(BaseStateEnum.class, state));
+    }
+}

+ 115 - 0
Backend/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/device/CameraWatermarkSettings.java

@@ -0,0 +1,115 @@
+package com.dji.sdk.cloudapi.device;
+
+/**
+ * @author hqjiang
+ * @version 0.1
+ * @date 2024/8/21
+ */
+public class CameraWatermarkSettings {
+
+
+    private BaseStateEnum globalEnable;
+
+    private BaseStateEnum droneTypeEnable;
+
+    private BaseStateEnum droneSnEnable;
+
+    private BaseStateEnum datetimeEnable;
+
+    private BaseStateEnum gpsEnable;
+
+    private BaseStateEnum userCustomStringEnable;
+
+    private String userCustomString;
+
+    private LayoutEnum layout;
+
+    public CameraWatermarkSettings() {
+    }
+
+    @Override
+    public String toString() {
+        return "CameraWatermarkSettings{" +
+                "globalEnable='" + globalEnable + '\'' +
+                ", droneTypeEnable=" + droneTypeEnable +
+                ", droneSnEnable=" + droneSnEnable +
+                ", datetimeEnable=" + datetimeEnable +
+                ", gpsEnable='" + gpsEnable + '\'' +
+                ", userCustomStringEnable=" + userCustomStringEnable +
+                ", userCustomString=" + userCustomString +
+                ", layout=" + layout +
+                '}';
+    }
+
+    public BaseStateEnum getGlobalEnable() {
+        return globalEnable;
+    }
+
+    public CameraWatermarkSettings setGlobalEnable(BaseStateEnum globalEnable) {
+        this.globalEnable = globalEnable;
+        return this;
+    }
+
+    public BaseStateEnum getDroneTypeEnable() {
+        return droneTypeEnable;
+    }
+
+    public CameraWatermarkSettings setDroneTypeEnable(BaseStateEnum droneTypeEnable) {
+        this.droneTypeEnable = droneTypeEnable;
+        return this;
+    }
+
+    public BaseStateEnum getDroneSnEnable() {
+        return droneSnEnable;
+    }
+
+    public CameraWatermarkSettings setDroneSnEnable(BaseStateEnum droneSnEnable) {
+        this.droneSnEnable = droneSnEnable;
+        return this;
+    }
+
+    public BaseStateEnum getDatetimeEnable() {
+        return datetimeEnable;
+    }
+
+    public CameraWatermarkSettings setDatetimeEnable(BaseStateEnum datetimeEnable) {
+        this.datetimeEnable = datetimeEnable;
+        return this;
+    }
+
+    public BaseStateEnum getGpsEnable() {
+        return gpsEnable;
+    }
+
+    public CameraWatermarkSettings setGpsEnable(BaseStateEnum gpsEnable) {
+        this.gpsEnable = gpsEnable;
+        return this;
+    }
+
+    public BaseStateEnum getUserCustomStringEnable() {
+        return userCustomStringEnable;
+    }
+
+    public CameraWatermarkSettings setUserCustomStringEnable(BaseStateEnum userCustomStringEnable) {
+        this.userCustomStringEnable = userCustomStringEnable;
+        return this;
+    }
+
+    public String getUserCustomString() {
+        return userCustomString;
+    }
+
+    public CameraWatermarkSettings setUserCustomString(String userCustomString) {
+        this.userCustomString = userCustomString;
+        return this;
+    }
+
+    public LayoutEnum getLayout() {
+        return layout;
+    }
+
+    public CameraWatermarkSettings setLayout(LayoutEnum layout) {
+        this.layout = layout;
+        return this;
+    }
+}

+ 41 - 0
Backend/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/device/LayoutEnum.java

@@ -0,0 +1,41 @@
+package com.dji.sdk.cloudapi.device;
+
+import com.dji.sdk.exception.CloudSDKException;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+import java.util.Arrays;
+
+/**
+ * @author hqjiang
+ * @version 1.4
+ * @date 2024/8/21
+ */
+public enum LayoutEnum {
+
+    TOP_LEFT(0),
+
+    BOTTOM_LEFT(1),
+
+    TOP_RIGHT(2),
+
+    BOTTOM_RIGHT(3),
+    ;
+
+    private final int layout;
+
+    LayoutEnum(int layout) {
+        this.layout = layout;
+    }
+
+    @JsonValue
+    public int getState() {
+        return layout;
+    }
+
+    @JsonCreator
+    public static LayoutEnum find(int layout) {
+        return Arrays.stream(values()).filter(layoutEnum -> layoutEnum.layout == layout).findAny()
+                .orElseThrow(() -> new CloudSDKException(LayoutEnum.class, layout));
+    }
+}

+ 6 - 1
Backend/cloud-sdk/src/main/java/com/dji/sdk/mqtt/state/RcStateDataKeyEnum.java

@@ -26,7 +26,12 @@ public enum RcStateDataKeyEnum {
 
     PAYLOAD_FIRMWARE(PayloadModelConst.getAllModelWithPosition(), PayloadFirmwareVersion.class),
 
-    WPMZ_VERSION(Set.of("wpmz_version"),WpmzVersion.class)
+    WPMZ_VERSION(Set.of("wpmz_version"),WpmzVersion.class),
+
+    DONGLE_INFO(Set.of("dongle_infos"),DongleInfo.class),
+
+    CAMERA_WATERMARK_SETTINGS(Set.of("camera_watermark_settings"),CameraWatermarkSettings.class)
+
     ;
 
     private final Set<String> keys;

+ 3 - 0
Backend/cloud-sdk/src/main/java/com/dji/sdk/mqtt/state/StateRouter.java

@@ -49,6 +49,9 @@ public class StateRouter {
                         if(keys.contains("cameras")) {
                             System.out.println("================cameras:" + response.getData().toString());
                         }
+                        if(keys.contains("dongle_infos")) {
+                            System.out.println("================dongle_infos:" + response.getData().toString());
+                        }
                         return response.setFrom(from)
                                 .setData(Common.getObjectMapper().convertValue(response.getData(), getTypeReference(response.getGateway(), response.getData())));
                     } catch (IOException e) {