web-文件接口

This commit is contained in:
2025-10-16 10:45:44 +08:00
parent 6858899c4c
commit 40ef609ea3
191 changed files with 2379 additions and 1593 deletions

View File

@@ -10,7 +10,7 @@ import java.util.List;
/**
* @description 文件存储配置类
* @filename FileStorageConfig.java
* @author system
* @author yslg
* @copyright xyzh
* @since 2025-10-16
*/

View File

@@ -18,7 +18,7 @@ import java.nio.charset.StandardCharsets;
/**
* @description 文件控制器
* @filename FileController.java
* @author system
* @author yslg
* @copyright xyzh
* @since 2025-10-16
*/
@@ -37,7 +37,7 @@ public class FileController {
* @param businessId 业务ID
* @param uploader 上传者用户ID可选
* @return ResultDomain<TbSysFile> 上传结果
* @author system
* @author yslg
* @since 2025-10-16
*/
@PostMapping("/upload")
@@ -57,7 +57,7 @@ public class FileController {
* @description 下载文件
* @param fileId 文件ID
* @return ResponseEntity<byte[]> 文件字节数组
* @author system
* @author yslg
* @since 2025-10-16
*/
@GetMapping("/download/{fileId}")
@@ -91,7 +91,7 @@ public class FileController {
* @description 删除文件(逻辑删除)
* @param fileId 文件ID
* @return ResultDomain<TbSysFile> 删除结果
* @author system
* @author yslg
* @since 2025-10-16
*/
@DeleteMapping("/{fileId}")
@@ -104,7 +104,7 @@ public class FileController {
* @description 物理删除文件
* @param fileId 文件ID
* @return ResultDomain<TbSysFile> 删除结果
* @author system
* @author yslg
* @since 2025-10-16
*/
@DeleteMapping("/physical/{fileId}")
@@ -117,7 +117,7 @@ public class FileController {
* @description 根据文件ID查询文件信息
* @param fileId 文件ID
* @return ResultDomain<TbSysFile> 文件信息
* @author system
* @author yslg
* @since 2025-10-16
*/
@GetMapping("/{fileId}")
@@ -130,7 +130,7 @@ public class FileController {
* @param module 所属模块
* @param businessId 业务ID
* @return ResultDomain<TbSysFile> 文件列表
* @author system
* @author yslg
* @since 2025-10-16
*/
@GetMapping("/business/{module}/{businessId}")
@@ -144,7 +144,7 @@ public class FileController {
* @description 根据上传者查询文件列表
* @param uploader 上传者用户ID
* @return ResultDomain<TbSysFile> 文件列表
* @author system
* @author yslg
* @since 2025-10-16
*/
@GetMapping("/uploader/{uploader}")
@@ -156,7 +156,7 @@ public class FileController {
* @description 获取文件访问URL
* @param fileId 文件ID
* @return ResultDomain<String> 文件访问URL
* @author system
* @author yslg
* @since 2025-10-16
*/
@GetMapping("/url/{fileId}")
@@ -171,7 +171,7 @@ public class FileController {
* @param businessId 业务ID
* @param uploader 上传者用户ID可选
* @return ResultDomain<TbSysFile> 上传结果
* @author system
* @author yslg
* @since 2025-10-16
*/
@PostMapping("/batch-upload")
@@ -191,7 +191,7 @@ public class FileController {
* @description 批量删除文件
* @param fileIds 文件ID数组
* @return ResultDomain<TbSysFile> 删除结果
* @author system
* @author yslg
* @since 2025-10-16
*/
@DeleteMapping("/batch")

View File

@@ -10,7 +10,7 @@ import java.util.List;
/**
* @description 文件Mapper接口
* @filename FileMapper.java
* @author system
* @author yslg
* @copyright xyzh
* @since 2025-10-16
*/
@@ -21,7 +21,7 @@ public interface FileMapper extends BaseMapper<TbSysFile>{
* @description 插入文件记录
* @param file 文件对象
* @return int 影响行数
* @author system
* @author yslg
* @since 2025-10-16
*/
int insertFile(@Param("file") TbSysFile file);
@@ -30,7 +30,7 @@ public interface FileMapper extends BaseMapper<TbSysFile>{
* @description 根据文件ID查询文件信息
* @param fileId 文件ID
* @return TbSysFile 文件信息
* @author system
* @author yslg
* @since 2025-10-16
*/
TbSysFile selectFileById(@Param("fileId") String fileId);
@@ -39,7 +39,7 @@ public interface FileMapper extends BaseMapper<TbSysFile>{
* @description 根据文件ID查询文件信息包括已删除
* @param fileId 文件ID
* @return TbSysFile 文件信息
* @author system
* @author yslg
* @since 2025-10-16
*/
TbSysFile selectFileByIdIncludeDeleted(@Param("fileId") String fileId);
@@ -49,7 +49,7 @@ public interface FileMapper extends BaseMapper<TbSysFile>{
* @param module 所属模块
* @param businessId 业务ID
* @return List<TbSysFile> 文件列表
* @author system
* @author yslg
* @since 2025-10-16
*/
List<TbSysFile> selectFilesByBusinessId(@Param("module") String module, @Param("businessId") String businessId);
@@ -58,7 +58,7 @@ public interface FileMapper extends BaseMapper<TbSysFile>{
* @description 根据上传者查询文件列表
* @param uploader 上传者用户ID
* @return List<TbSysFile> 文件列表
* @author system
* @author yslg
* @since 2025-10-16
*/
List<TbSysFile> selectFilesByUploader(@Param("uploader") String uploader);
@@ -67,7 +67,7 @@ public interface FileMapper extends BaseMapper<TbSysFile>{
* @description 逻辑删除文件
* @param fileId 文件ID
* @return int 影响行数
* @author system
* @author yslg
* @since 2025-10-16
*/
int logicDeleteFileById(@Param("fileId") String fileId);
@@ -76,7 +76,7 @@ public interface FileMapper extends BaseMapper<TbSysFile>{
* @description 物理删除文件
* @param fileId 文件ID
* @return int 影响行数
* @author system
* @author yslg
* @since 2025-10-16
*/
int deleteFileById(@Param("fileId") String fileId);
@@ -85,7 +85,7 @@ public interface FileMapper extends BaseMapper<TbSysFile>{
* @description 批量逻辑删除文件
* @param fileIds 文件ID列表
* @return int 影响行数
* @author system
* @author yslg
* @since 2025-10-16
*/
int batchLogicDeleteFiles(@Param("fileIds") List<String> fileIds);

View File

@@ -22,7 +22,7 @@ import java.util.UUID;
/**
* @description 文件服务实现
* @filename FileServiceImpl.java
* @author system
* @author yslg
* @copyright xyzh
* @since 2025-10-16
*/

View File

@@ -7,7 +7,7 @@ import java.io.IOException;
/**
* @description 文件存储策略接口
* @filename FileStorageStrategy.java
* @author system
* @author yslg
* @copyright xyzh
* @since 2025-10-16
*/
@@ -20,7 +20,7 @@ public interface FileStorageStrategy {
* @param module 所属模块
* @return String 文件存储路径
* @throws IOException IO异常
* @author system
* @author yslg
* @since 2025-10-16
*/
String upload(MultipartFile file, String fileName, String module) throws IOException;
@@ -30,7 +30,7 @@ public interface FileStorageStrategy {
* @param filePath 文件路径
* @return byte[] 文件字节数组
* @throws IOException IO异常
* @author system
* @author yslg
* @since 2025-10-16
*/
byte[] download(String filePath) throws IOException;
@@ -40,7 +40,7 @@ public interface FileStorageStrategy {
* @param filePath 文件路径
* @return boolean 删除是否成功
* @throws IOException IO异常
* @author system
* @author yslg
* @since 2025-10-16
*/
boolean delete(String filePath) throws IOException;
@@ -49,7 +49,7 @@ public interface FileStorageStrategy {
* @description 获取文件访问URL
* @param filePath 文件路径
* @return String 文件访问URL
* @author system
* @author yslg
* @since 2025-10-16
*/
String getFileUrl(String filePath);
@@ -57,7 +57,7 @@ public interface FileStorageStrategy {
/**
* @description 获取存储类型
* @return String 存储类型
* @author system
* @author yslg
* @since 2025-10-16
*/
String getStorageType();

View File

@@ -12,7 +12,7 @@ import java.util.concurrent.ConcurrentHashMap;
/**
* @description 文件存储策略工厂
* @filename FileStorageStrategyFactory.java
* @author system
* @author yslg
* @copyright xyzh
* @since 2025-10-16
*/
@@ -53,7 +53,7 @@ public class FileStorageStrategyFactory {
* @description 根据配置创建存储策略
* @param storage 存储配置
* @return FileStorageStrategy 存储策略
* @author system
* @author yslg
* @since 2025-10-16
*/
private FileStorageStrategy createStrategy(FileStorageConfig.StorageProperties storage) {
@@ -83,7 +83,7 @@ public class FileStorageStrategyFactory {
/**
* @description 获取默认存储策略
* @return FileStorageStrategy 存储策略
* @author system
* @author yslg
* @since 2025-10-16
*/
public FileStorageStrategy getDefaultStrategy() {
@@ -94,7 +94,7 @@ public class FileStorageStrategyFactory {
* @description 根据类型获取存储策略
* @param storageType 存储类型
* @return FileStorageStrategy 存储策略
* @author system
* @author yslg
* @since 2025-10-16
*/
public FileStorageStrategy getStrategy(String storageType) {
@@ -110,7 +110,7 @@ public class FileStorageStrategyFactory {
* @description 注册新的存储策略
* @param storageType 存储类型
* @param strategy 存储策略
* @author system
* @author yslg
* @since 2025-10-16
*/
public void registerStrategy(String storageType, FileStorageStrategy strategy) {

View File

@@ -13,7 +13,7 @@ import java.nio.file.Paths;
/**
* @description 本地文件存储策略实现
* @filename LocalFileStorageStrategy.java
* @author system
* @author yslg
* @copyright xyzh
* @since 2025-10-16
*/

View File

@@ -14,7 +14,7 @@ import java.util.concurrent.TimeUnit;
/**
* @description MinIO文件存储策略实现
* @filename MinIOFileStorageStrategy.java
* @author system
* @author yslg
* @copyright xyzh
* @since 2025-10-16
*/