guoshilong
2023-09-26 c5320fbf7fd671ba7ccefe66e951edeebb4252b2
媒体模块
6 files modified
41 ■■■■ changed files
src/main/java/com/dji/sample/media/controller/FileController.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/media/dao/IFileMapper.xml 5 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/media/model/MediaFileQueryParam.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/media/service/IFileService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/storage/service/IStorageService.java 1 ●●●● patch | view | raw | blame | history
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
     */