src/main/java/com/dji/sample/media/controller/FileController.java
@@ -3,6 +3,7 @@ import com.dji.sample.common.model.PaginationData; import com.dji.sample.common.model.ResponseResult; import com.dji.sample.media.model.MediaFileDTO; import com.dji.sample.media.model.MediaFileEntity; import com.dji.sample.media.model.MediaFileQueryParam; import com.dji.sample.media.service.IFileService; import org.springframework.beans.factory.annotation.Autowired; @@ -34,11 +35,18 @@ public ResponseResult<PaginationData<MediaFileDTO>> getFilesList(@RequestParam(defaultValue = "1") Long page, @RequestParam(name = "page_size", defaultValue = "10") Long pageSize, @PathVariable(name = "workspace_id") String workspaceId, MediaFileQueryParam mediaFileQueryParam) { MediaFileQueryParam mediaFileQueryParam) { PaginationData<MediaFileDTO> filesList = fileService.getMediaFilesPaginationByWorkspaceId(workspaceId, page, pageSize,mediaFileQueryParam); return ResponseResult.success(filesList); } @GetMapping("/{workspace_id}/updateFile") public ResponseResult updateFile(@PathVariable(name = "workspace_id") String workspaceId, MediaFileEntity mediaFileEntity) { return ResponseResult.success(fileService.updateMediaFile(workspaceId, mediaFileEntity)); } /** * Query the download address of the file according to the media file id, * and redirect to this address directly for download. src/main/java/com/dji/sample/media/dao/IFileMapper.xml
@@ -27,10 +27,7 @@ </if> <if test="query.payload != null and query.payload !='' "> AND sub_file_type in <foreach collection="query.payload.split(',')" item="item" open="(" separator="," close=")"> #{item} </foreach> AND payload LIKE CONCAT('%',#{query.payload},'%') </if> </select> src/main/java/com/dji/sample/media/model/MediaFileQueryParam.java
@@ -1,8 +1,11 @@ package com.dji.sample.media.model; import lombok.Data; /** * 文件查询参数 */ @Data public class MediaFileQueryParam { /** * 文件类型(逗号分隔字符串) src/main/java/com/dji/sample/media/service/IFileService.java
@@ -3,6 +3,7 @@ import com.dji.sample.common.model.PaginationData; import com.dji.sample.media.model.FileUploadDTO; import com.dji.sample.media.model.MediaFileDTO; import com.dji.sample.media.model.MediaFileEntity; import com.dji.sample.media.model.MediaFileQueryParam; import java.net.URL; @@ -62,4 +63,12 @@ * @return */ List<MediaFileDTO> getFilesByWorkspaceAndJobId(String workspaceId, String jobId); /** * 更新文件 * @param workspaceId 项目id * @param mediaFileEntity * @return */ Boolean updateMediaFile(String workspaceId, MediaFileEntity mediaFileEntity); } src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
@@ -1,6 +1,8 @@ package com.dji.sample.media.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dji.sample.common.model.Pagination; import com.dji.sample.common.model.PaginationData; @@ -121,6 +123,17 @@ .map(this::entityConvertToDto).collect(Collectors.toList()); } @Override public Boolean updateMediaFile(String workspaceId, MediaFileEntity mediaFileEntity) { MediaFileEntity params = new MediaFileEntity(); params.setFileId(mediaFileEntity.getFileId()); params.setWorkspaceId(mediaFileEntity.getWorkspaceId()); int update = mapper.update(mediaFileEntity, Wrappers.update(params)); return update>0; } /** * Convert the received file object into a database entity object. * @param file src/main/java/com/dji/sample/storage/service/IStorageService.java
@@ -20,6 +20,7 @@ /** * Handles requests from the dock to obtain temporary credentials. * 处理来自机场的请求以获取临时凭据。 * @param receiver * @param headers */