web-文件接口
This commit is contained in:
@@ -10,7 +10,7 @@ import java.util.List;
|
||||
/**
|
||||
* @description 文件存储配置类
|
||||
* @filename FileStorageConfig.java
|
||||
* @author system
|
||||
* @author yslg
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.UUID;
|
||||
/**
|
||||
* @description 文件服务实现
|
||||
* @filename FileServiceImpl.java
|
||||
* @author system
|
||||
* @author yslg
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.nio.file.Paths;
|
||||
/**
|
||||
* @description 本地文件存储策略实现
|
||||
* @filename LocalFileStorageStrategy.java
|
||||
* @author system
|
||||
* @author yslg
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.concurrent.TimeUnit;
|
||||
/**
|
||||
* @description MinIO文件存储策略实现
|
||||
* @filename MinIOFileStorageStrategy.java
|
||||
* @author system
|
||||
* @author yslg
|
||||
* @copyright xyzh
|
||||
* @since 2025-10-16
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user