Browse Source

媒体文件查询接口优化

S0025136190 1 year ago
parent
commit
2471fcb3ef

+ 3 - 1
Backend/sample/src/main/java/com/dji/sample/media/dao/IFileMapper.java

@@ -24,6 +24,8 @@ public interface IFileMapper extends BaseMapper<MediaFileEntity> {
             ",MF.size fileSize " +
             ",MF.picture_time pictureTime " +
             ",MF.picture_type pictureType " +
+            ",MF.object_key fileUrl " +
+            ",MF.file_name fileName " +
             "FROM MEDIA_FILE MF " +
             "LEFT JOIN MEDIA_DIR MD ON MF.DIR_ID = MD.ID " +
             "LEFT JOIN MANAGE_DEVICE DE ON MF.DRONE = DE.DEVICE_SN " +
@@ -41,7 +43,7 @@ public interface IFileMapper extends BaseMapper<MediaFileEntity> {
             "<if test= 'endTime != null' >" +
             "    AND MF.create_time &lt; #{endTime}  " +
             "</if>" +
-            "LIMIT #{page},#{pageSize} " +
+            "order by pictureTime desc LIMIT #{page},#{pageSize} " +
             "</script>")
     List<UpstreamMediaFileDTO> getMediaFiles(@Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("workspaceName") String workspaceName,@Param("page") long page,@Param("pageSize") long pageSize,@Param("workspaceId") String workspaceId);
     @Select("<script> " +

+ 4 - 0
Backend/sample/src/main/java/com/dji/sample/media/model/UpstreamMediaFileDTO.java

@@ -37,6 +37,10 @@ public class UpstreamMediaFileDTO {
 
     private String dirName;
 
+    private String fileUrl;
+
+    private String fileName;
+
 
 
 

+ 8 - 0
Backend/sample/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java

@@ -853,6 +853,14 @@ public class FileServiceImpl implements IFileService {
     @Override
     public PaginationData<UpstreamMediaFileDTO> getMediaFilesPagination(String workspaceName, Long startTime, Long endTime, long page, long pageSize,String workspaceId) {
         List<UpstreamMediaFileDTO> respData = mapper.getMediaFiles(startTime,endTime,workspaceName, page-1,  pageSize,workspaceId);
+        if(respData != null) {
+            for(UpstreamMediaFileDTO mf : respData) {
+                if(StringUtils.hasText(mf.getFileUrl())) {
+                    String url = ossService.getObjectUrl(OssConfiguration.bucket, mf.getFileUrl()).toString();
+                    mf.setFileUrl(url);
+                }
+            }
+        }
         long total = mapper.getMediaFilesCount(startTime,endTime,workspaceName,workspaceId);
         return new PaginationData<UpstreamMediaFileDTO>(respData, new Pagination(page, pageSize, total));
     }

+ 6 - 1
Backend/sample/src/main/java/com/dji/sample/storage/service/impl/StorageServiceImpl.java

@@ -9,6 +9,7 @@ import com.dji.sdk.cloudapi.storage.StsCredentialsResponse;
 import com.dji.sdk.mqtt.MqttReply;
 import com.dji.sdk.mqtt.requests.TopicRequestsRequest;
 import com.dji.sdk.mqtt.requests.TopicRequestsResponse;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.messaging.MessageHeaders;
 import org.springframework.stereotype.Service;
@@ -18,6 +19,7 @@ import org.springframework.stereotype.Service;
  * @version 0.3
  * @date 2022/3/9
  */
+@Slf4j
 @Service
 public class StorageServiceImpl extends AbstractMediaService implements IStorageService {
 
@@ -37,6 +39,9 @@ public class StorageServiceImpl extends AbstractMediaService implements IStorage
 
     @Override
     public TopicRequestsResponse<MqttReply<StsCredentialsResponse>> storageConfigGet(TopicRequestsRequest<StorageConfigGet> response, MessageHeaders headers) {
-        return new TopicRequestsResponse<MqttReply<StsCredentialsResponse>>().setData(MqttReply.success(getSTSCredentials()));
+
+        StsCredentialsResponse stsCredentials = getSTSCredentials();
+        log.info("========机场上传图片获取临时凭证======storageConfigGet==,===stsCredentials:" + stsCredentials.toString());
+        return new TopicRequestsResponse<MqttReply<StsCredentialsResponse>>().setData(MqttReply.success(stsCredentials));
     }
 }