zhaowenyu
2026-02-11 6f92004036dd02a18275626e6312eee7228f0afe
2026-02-11 优化媒体文件入库代码。
6 files modified
29 ■■■■■ changed files
ard-sample/src/main/java/com/ard/sample/media/model/FileExtensionDTO.java 7 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/media/model/FileMetadataDTO.java 7 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/media/model/FileUploadCallback.java 4 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/media/model/FileUploadDTO.java 7 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/media/model/PositionDTO.java 3 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/media/service/impl/MediaServiceImpl.java 1 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/media/model/FileExtensionDTO.java
@@ -1,5 +1,6 @@
package com.ard.sample.media.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
@@ -13,16 +14,22 @@
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class FileExtensionDTO {
    @JsonProperty("drone_model_key")
    private String droneModelKey;
    @JsonProperty("is_original")
    private Boolean isOriginal;
    @JsonProperty("payload_model_key")
    private String payloadModelKey;
    @JsonProperty("tinny_fingerprint")
    private String tinnyFingerprint;
    @JsonProperty("sn")
    private String sn;
    @JsonProperty("flight_id")
    private String flightId;
}
ard-sample/src/main/java/com/ard/sample/media/model/FileMetadataDTO.java
@@ -1,6 +1,7 @@
package com.ard.sample.media.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
@@ -16,16 +17,22 @@
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class FileMetadataDTO {
    @JsonProperty("absolute_altitude")
    private Double absoluteAltitude;
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssX")
    @JsonProperty("created_time")
    private Date createdTime;
    @JsonProperty("gimbal_yaw_degree")
    private Double gimbalYawDegree;
    @JsonProperty("photoed_position")
    private PositionDTO photoedPosition;
    @JsonProperty("shoot_position")
    private PositionDTO shootPosition;
    @JsonProperty("relative_altitude")
    private Double relativeAltitude;
}
ard-sample/src/main/java/com/ard/sample/media/model/FileUploadCallback.java
@@ -1,5 +1,6 @@
package com.ard.sample.media.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
@@ -10,9 +11,12 @@
@Data
public class FileUploadCallback {
    @JsonProperty("result")
    private Integer result;
    @JsonProperty("progress")
    private Integer progress;
    @JsonProperty("file")
    private FileUploadDTO file;
}
ard-sample/src/main/java/com/ard/sample/media/model/FileUploadDTO.java
@@ -1,5 +1,6 @@
package com.ard.sample.media.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
@@ -10,16 +11,22 @@
@Data
public class FileUploadDTO {
    @JsonProperty("ext")
    private FileExtensionDTO ext;
    @JsonProperty("fingerprint")
    private String fingerprint;
    @JsonProperty("name")
    private String name;
    @JsonProperty("path")
    private String path;
    @JsonProperty("metadata")
    private FileMetadataDTO metadata;
    @JsonProperty("object_key")
    private String objectKey;
    private Integer subFileType;
ard-sample/src/main/java/com/ard/sample/media/model/PositionDTO.java
@@ -1,5 +1,6 @@
package com.ard.sample.media.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
@@ -10,7 +11,9 @@
@Data
public class PositionDTO {
    @JsonProperty("lat")
    private Double lat;
    @JsonProperty("lng")
    private Double lng;
}
ard-sample/src/main/java/com/ard/sample/media/service/impl/MediaServiceImpl.java
@@ -116,6 +116,7 @@
    @ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_FILE_UPLOAD_CALLBACK, outputChannel = ChannelName.OUTBOUND)
    public void handleFileUploadCallBack(CommonTopicReceiver receiver) {
        FileUploadCallback callback = objectMapper.convertValue(receiver.getData(), FileUploadCallback.class);
        log.info("媒体库回调-原始报文内容:{}",receiver);
        log.info("媒体库调试-收到文件上传回调:{}",callback);
        String topic = TopicConst.THING_MODEL_PRE + TopicConst.PRODUCT + receiver.getGateway()
                + TopicConst.EVENTS_SUF + TopicConst._REPLY_SUF;