package com.vci.ubcs.resource.service;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.vci.ubcs.resource.bo.FileObjectBO;
|
import com.vci.ubcs.resource.dto.FileObjectDTO;
|
import com.vci.ubcs.resource.dto.FileReleaseDTO;
|
import com.vci.ubcs.resource.dto.FileShareDTO;
|
import com.vci.ubcs.resource.entity.FileObject;
|
import com.vci.ubcs.resource.query.FileQuery;
|
import com.vci.ubcs.resource.vo.FileObjectVO;
|
import org.springblade.core.mp.support.Query;
|
import org.springblade.core.tool.api.R;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.Collection;
|
import java.util.List;
|
|
/**
|
* 文件的服务
|
* @author weidy
|
* @date 2023/1/31
|
*/
|
public interface IFileService extends IService<FileObject> {
|
|
/**
|
* 下载,注意多个文件的时候,会自动下载为一个压缩包
|
* @param oids 主键集合
|
* @return 文件的信息
|
*/
|
FileObjectBO downloadFileByOids(Collection<String> oids);
|
|
/**
|
* 删除文件
|
* @param oids 主键集合
|
* @return 执行结果
|
*/
|
void deleteFiles(Collection<String> oids);
|
|
/**
|
* 上传文件
|
* @param file 文件的信息
|
* @param fileObjectDTO 文件的相关信息
|
* @return 文件上传后的信息
|
*/
|
R<FileObjectVO> uploadFile(MultipartFile file, FileObjectDTO fileObjectDTO);
|
|
/**
|
* 修改文件的信息(不会改objectName和filePath)
|
* @param fileDTOs 文件的信息
|
* @return 修改后的信息
|
*/
|
R<List<FileObjectVO>> updateFileInfos(Collection<FileObjectDTO> fileDTOs);
|
|
FileObjectVO do2Vo(FileObject fileObject);
|
|
List<FileObjectVO> do2Vos(Collection<FileObject> fileObjects);
|
|
/**
|
* 分享文件到其他数据中
|
*
|
* @param shareDTO 来源业务
|
* @return 分享后的文件信息
|
*/
|
R<List<FileObjectVO>> shareFiles(FileShareDTO shareDTO);
|
|
/**
|
* 文件列表查询
|
* @param fileQuery 文件查询
|
* @param query 分页查询对象
|
* @return 文件的显示信息
|
*/
|
IPage<FileObjectVO> listFiles(FileQuery fileQuery, Query query);
|
|
/**
|
* 使用文件的主键批量获取对象
|
* @param oids 文件的主键集合
|
* @return 文件的显示信息
|
*/
|
List<FileObjectVO> listFilesByOids(Collection<String> oids);
|
|
/**
|
* 文件生效
|
* @param oids 主键集合
|
* @return 执行结果
|
*/
|
R releasedFiles(Collection<String> oids);
|
|
/**
|
* 批量指定文件业务数据后生效
|
* @param releaseDTOS 生效的相关信息
|
* @return 执行结果
|
*/
|
R releasedFilesForOwn(Collection<FileReleaseDTO> releaseDTOS);
|
|
/**
|
* 在上传文件后,保存文件的信息
|
* @param fileObjectDTO 文件信息传输对象
|
* @return 文件信息显示对象
|
*/
|
R<FileObjectVO> saveFileAfterUpload(FileObjectDTO fileObjectDTO);
|
|
|
/**
|
* 获取对象
|
* @param oid 主键
|
* @return 文件的显示对象
|
*/
|
FileObjectVO get(String oid);
|
}
|