serv-文件管理
This commit is contained in:
24
schoolNewsServ/api/api-file/pom.xml
Normal file
24
schoolNewsServ/api/api-file/pom.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-file</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>api-file</name>
|
||||
<description>文件模块API</description>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
<maven.compiler.target>21</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,124 @@
|
||||
package org.xyzh.api.file;
|
||||
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.system.TbSysFile;
|
||||
|
||||
/**
|
||||
* @description 文件服务接口
|
||||
* @filename FileService.java
|
||||
* @author system
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
public interface FileService {
|
||||
|
||||
/**
|
||||
* @description 上传文件
|
||||
* @param file 文件对象
|
||||
* @param module 所属模块
|
||||
* @param businessId 业务ID
|
||||
* @return ResultDomain<TbSysFile> 上传结果,包含文件信息
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<TbSysFile> uploadFile(MultipartFile file, String module, String businessId);
|
||||
|
||||
/**
|
||||
* @description 上传文件(带上传者信息)
|
||||
* @param file 文件对象
|
||||
* @param module 所属模块
|
||||
* @param businessId 业务ID
|
||||
* @param uploader 上传者用户ID
|
||||
* @return ResultDomain<TbSysFile> 上传结果,包含文件信息
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<TbSysFile> uploadFile(MultipartFile file, String module, String businessId, String uploader);
|
||||
|
||||
/**
|
||||
* @description 下载文件
|
||||
* @param fileId 文件ID
|
||||
* @return ResultDomain<byte[]> 文件字节数组
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<byte[]> downloadFile(String fileId);
|
||||
|
||||
/**
|
||||
* @description 删除文件(逻辑删除)
|
||||
* @param fileId 文件ID
|
||||
* @return ResultDomain<TbSysFile> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<TbSysFile> deleteFile(String fileId);
|
||||
|
||||
/**
|
||||
* @description 物理删除文件(同时删除存储和数据库记录)
|
||||
* @param fileId 文件ID
|
||||
* @return ResultDomain<TbSysFile> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<TbSysFile> deleteFilePhysically(String fileId);
|
||||
|
||||
/**
|
||||
* @description 根据文件ID查询文件信息
|
||||
* @param fileId 文件ID
|
||||
* @return ResultDomain<TbSysFile> 文件信息
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<TbSysFile> getFileById(String fileId);
|
||||
|
||||
/**
|
||||
* @description 根据业务ID查询文件列表
|
||||
* @param module 所属模块
|
||||
* @param businessId 业务ID
|
||||
* @return ResultDomain<TbSysFile> 文件列表
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<TbSysFile> getFilesByBusinessId(String module, String businessId);
|
||||
|
||||
/**
|
||||
* @description 根据上传者查询文件列表
|
||||
* @param uploader 上传者用户ID
|
||||
* @return ResultDomain<TbSysFile> 文件列表
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<TbSysFile> getFilesByUploader(String uploader);
|
||||
|
||||
/**
|
||||
* @description 获取文件访问URL
|
||||
* @param fileId 文件ID
|
||||
* @return ResultDomain<String> 文件访问URL
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<String> getFileUrl(String fileId);
|
||||
|
||||
/**
|
||||
* @description 批量上传文件
|
||||
* @param files 文件对象列表
|
||||
* @param module 所属模块
|
||||
* @param businessId 业务ID
|
||||
* @param uploader 上传者用户ID(可选)
|
||||
* @return ResultDomain<TbSysFile> 上传结果,包含文件信息列表
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<TbSysFile> batchUploadFiles(MultipartFile[] files, String module, String businessId, String uploader);
|
||||
|
||||
/**
|
||||
* @description 批量删除文件(逻辑删除)
|
||||
* @param fileIds 文件ID列表
|
||||
* @return ResultDomain<TbSysFile> 删除结果
|
||||
* @author system
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
ResultDomain<TbSysFile> batchDeleteFiles(String[] fileIds);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user