package com.dji.sample.media.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dji.sample.common.model.PaginationData; import com.dji.sample.common.model.ResponseResult; import com.dji.sample.media.model.*; import com.drew.imaging.ImageProcessingException; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletResponse; import java.awt.*; import java.io.IOException; import java.net.URL; import java.util.List; /** * @author sean * @version 0.2 * @date 2021/12/9 */ public interface IFileService { /** * Query if the file already exists based on the workspace id and the fingerprint of the file. * * @param workspaceId * @param fingerprint * @return */ Boolean checkExist(String workspaceId, String fingerprint); /** * Save the basic information of the file to the database. * * @param workspaceId * @param file * @return */ Integer saveFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException; void saveNailFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException; void saveZipFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException; void updateNailMediaFileNames(String jobId); PaginationData getJobId( int pageNum, int pageSize,String workspaceId); PaginationData getPhotoByJobId(int page,int pageSize ,String workspaceId,String jobId); /** * 获取媒体文件状态 * @param fileId * @return */ Object mediaInfo(String fileId); List getMedia(String jobId); /** * Query information about all files in this workspace based on the workspace id. * * @param workspaceId * @return */ List getAllFilesByWorkspaceId(String workspaceId); PaginationData mediaQuery(Integer page, Integer pageSize, Long updateStart, Long updateEnd, Long photoStart, Long photoEnd, String jobName,String worksapceId,String isVedio,String jobId); PaginationData mediaNailQuery(Integer page, Integer pageSize, Long updateStart, Long updateEnd, Long photoStart, Long photoEnd, String jobName, String workspaceId, String type); /** * 获取图斑图片集合 * @param dkbh * @param workspaceId * @return */ List listByIsadd(String dkbh,String workspaceId); /** * 图斑图片审核状态改变 * @param fileId * @return */ ResponseResult updateExamByFileId(String fileId); List listMediaFileEntity(String workspaceId, String jobId); /** * Paginate through all media files in this workspace. * * @param workspaceId * @param page * @param pageSize * @return */ PaginationData getMediaFilesPaginationByWorkspaceId(String workspaceId, long page, long pageSize, MediaFileQueryParam mediaFileQueryParam); /** * Get the download address of the file. * * @param workspaceId * @param fileId * @return */ URL getObjectUrl(String workspaceId, String fileId); ResponseResult downloadImages( List jobIds); /** * Query all media files of a job. * * @param workspaceId * @param jobId * @return */ List getFilesByWorkspaceAndJobId(String workspaceId, String jobId); List getUniqueFilePaths(List jobIds); /** * 更新文件 * * @param workspaceId 项目id * @param mediaFileEntity * @return */ Boolean updateMediaFile(String workspaceId, MediaFileEntity mediaFileEntity); int deleteMedia(String workspaceId, String fileId); }