From 56df98ce4952239fbf7d0e99dbeb0e5c71531d6f Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Fri, 18 Nov 2022 18:29:06 +0800
Subject: [PATCH] initial v1.3.0

---
 src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java b/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
index 0e92b0b..0e0063a 100644
--- a/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
+++ b/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
@@ -3,6 +3,8 @@
 import com.dji.sample.common.model.ResponseResult;
 import com.dji.sample.component.mqtt.model.*;
 import com.dji.sample.component.mqtt.service.IMessageSenderService;
+import com.dji.sample.manage.model.dto.DeviceDTO;
+import com.dji.sample.manage.service.IDeviceService;
 import com.dji.sample.media.model.FileUploadCallback;
 import com.dji.sample.media.model.FileUploadDTO;
 import com.dji.sample.media.model.MediaFileDTO;
@@ -38,6 +40,9 @@
 
     @Autowired
     private IMessageSenderService messageSenderService;
+
+    @Autowired
+    private IDeviceService deviceService;
 
     @Override
     public Boolean fastUpload(String workspaceId, String fingerprint) {
@@ -77,7 +82,7 @@
         CommonTopicResponse<Object> data = CommonTopicResponse.builder()
                 .timestamp(System.currentTimeMillis())
                 .method(EventsMethodEnum.FILE_UPLOAD_CALLBACK.getMethod())
-                .data(ResponseResult.success())
+                .data(RequestsReply.success())
                 .tid(receiver.getTid())
                 .bid(receiver.getBid())
                 .build();
@@ -85,6 +90,14 @@
             String jobId = callback.getFile().getExt().getFlightId();
             Optional<WaylineJobDTO> jobOpt = waylineJobService.getJobByJobId(jobId);
             if (jobOpt.isPresent()) {
+                // Set the drone sn that shoots the media
+                Optional<DeviceDTO> dockDTO = deviceService.getDeviceBySn(jobOpt.get().getDockSn());
+                dockDTO.ifPresent(dock -> callback.getFile().getExt().setSn(dock.getChildDeviceSn()));
+
+                // set path
+                String objectKey = callback.getFile().getObjectKey();
+                callback.getFile().setPath(objectKey.substring(objectKey.indexOf("/") + 1, objectKey.lastIndexOf("/")));
+
                 int id = fileService.saveFile(jobOpt.get().getWorkspaceId(), callback.getFile());
                 if (id <= 0) {
                     data.setData(ResponseResult.error());

--
Gitblit v1.9.3