包结构调整。

This commit is contained in:
刘小平 2024-05-25 15:17:47 +08:00
parent 7623f8ea96
commit bdd83e0c60
35 changed files with 198 additions and 159 deletions

View File

@ -27,7 +27,7 @@
## 2.1 文件下载 | File Download ## 2.1 文件下载 | File Download
![文件下载逻辑时序图](minio-plus-doc/image/文件下载时序图.png) ![文件下载逻辑时序图](doc/image/文件下载时序图.png)
浏览器向服务端发起文件读取请求服务端会根据fileKey入参取得文件的元数据信息。获取文件元数据信息后根据元数据信息中的是否私有字段和所有者字段判断是否具备文件读取权限。 浏览器向服务端发起文件读取请求服务端会根据fileKey入参取得文件的元数据信息。获取文件元数据信息后根据元数据信息中的是否私有字段和所有者字段判断是否具备文件读取权限。
@ -42,7 +42,7 @@
### 2.2.1 秒传 ### 2.2.1 秒传
![秒传时序图](minio-plus-doc/image/秒传时序图.png) ![秒传时序图](doc/image/秒传时序图.png)
当用户重复上传相同的文件时每次都需要执行一次完整的文件上传操作这造成了文件上传过程的冗余即浪费了用户的时间和服务器的网络IO重复文件又占用了不必要的服务器磁盘空间。 当用户重复上传相同的文件时每次都需要执行一次完整的文件上传操作这造成了文件上传过程的冗余即浪费了用户的时间和服务器的网络IO重复文件又占用了不必要的服务器磁盘空间。
针对以上两个问题minio-plus支持文件秒传特性解决了传统文件上传中重复文件上传时的问题提高了文件传输的效率和用户体验同时减少了文件服务器的存储空间占用。 针对以上两个问题minio-plus支持文件秒传特性解决了传统文件上传中重复文件上传时的问题提高了文件传输的效率和用户体验同时减少了文件服务器的存储空间占用。
@ -58,7 +58,7 @@
* 提高传输速度:当上传的文件比较大时,将大文件进行分块,同时并发上传多个小块,而不是一整个大文件按顺序上传。这样可以最大限度地利用带宽,从而加快上传速度。 * 提高传输速度:当上传的文件比较大时,将大文件进行分块,同时并发上传多个小块,而不是一整个大文件按顺序上传。这样可以最大限度地利用带宽,从而加快上传速度。
* 支持断点续传:分块上传是断点续传技术的前置条件,要想实现断点续传,必须先支持分块。 * 支持断点续传:分块上传是断点续传技术的前置条件,要想实现断点续传,必须先支持分块。
![文件上传时序图](minio-plus-doc/image/文件上传时序图.png) ![文件上传时序图](doc/image/文件上传时序图.png)
### 2.2.3 断点续传 ### 2.2.3 断点续传
@ -114,15 +114,58 @@ PS原图尺寸小于缩略图压缩尺寸时储存原图。
# 3 接口设计 | Interface Design # 3 接口设计 | Interface Design
## 3.1 文件检查 ## 3.1 Service 层接口Core
## 3.2 提供标准文件上传、下载等接口。
### 3.1.1 创建文件字节数组、流、url
### 3.1.2 读取文件
### 3.1.3 删除文件
## 3.2 Controller 层接口(扩展)
如没有特殊需求,也可以不写 Controller 层接口MinIO Plus 扩展包中提供了 Controller 层接口定义。
### 3.2.1 文件预检查
### 3.2.2 文件上传MinIO原生接口
### 3.2.3 上传完成
### 3.2.4 文件下载
### 3.2.5 图片预览 - 原图
### 3.2.6 图片预览 - 缩略图
## 3.3 引用 MinIO 接口
这里给出本项目引用的 MinIO 接口列表。
### 3.3.1 bucketExists 检查文件桶是否存在
### 3.3.2 makeBucket 创建文件桶
### 3.3.3 createMultipartUpload 创建分片上传
### 3.3.4 completeMultipartUpload 合并文件
### 3.3.5 listParts 查询已上传的分片列表
### 3.3.6 getPresignedObjectUrl 获取上传、下载、预览图链接
### 3.3.7 putObject 上传
### 3.3.8 getObject 下载
### 3.3.9 removeObject 删除
# 4 数据库设计 | Database Design # 4 数据库设计 | Database Design
## 4.1 文件元数据信息表 | file_metadata_info ## 4.1 文件元数据信息表 | file_metadata_info
| Name | Type | Length | Not Null | Virtual | Key | Comment | | Name | Type | Length | Not Null | Virtual | Key | Comment |
| ---------------- | ---------- | -------- | ---------- | --------- | ------ | ------------------------ | | ---------------- | ---------- | -------- | ---------- | --------- | ------ | ------------------------ |
| id | bigint | 20 | True | False | True | 自增ID | | id | bigint | 20 | True | False | True | 自增ID |
@ -188,4 +231,5 @@ CREATE TABLE `file_metadata_info` (
# 9 参考资料 | Reference # 9 参考资料 | Reference
* [MinIO S3 APIs](minio-plus-doc/minio-s3-api.md) * [MinIO S3 APIs](doc/minio-s3-api.md)

View File

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 261 KiB

View File

Before

Width:  |  Height:  |  Size: 179 KiB

After

Width:  |  Height:  |  Size: 179 KiB

View File

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 129 KiB

View File

@ -7,10 +7,10 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.liuxp.minioplus.application.context.Response; import org.liuxp.minioplus.application.context.Response;
import org.liuxp.minioplus.config.MinioPlusProperties; import org.liuxp.minioplus.config.MinioPlusProperties;
import org.liuxp.minioplus.core.common.dto.FileCheckDTO; import org.liuxp.minioplus.model.dto.FileCheckDTO;
import org.liuxp.minioplus.core.common.dto.FileCompleteDTO; import org.liuxp.minioplus.model.dto.FileCompleteDTO;
import org.liuxp.minioplus.core.common.vo.CompleteResultVo; import org.liuxp.minioplus.model.vo.CompleteResultVo;
import org.liuxp.minioplus.core.common.vo.FileCheckResultVo; import org.liuxp.minioplus.model.vo.FileCheckResultVo;
import org.liuxp.minioplus.core.engine.StorageEngineService; import org.liuxp.minioplus.core.engine.StorageEngineService;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -144,24 +144,6 @@ public class StorageController {
return REDIRECT_PREFIX + remakeUrl(url); return REDIRECT_PREFIX + remakeUrl(url);
} }
/**
* 文件删除
* @param fileKey 文件KEY
* @return 文件下载地址
*/
@ApiOperation(value = "文件删除")
@PostMapping("/remove/{fileKey}")
@ResponseBody
public Response<Boolean> remove(@PathVariable String fileKey) {
// 取得当前登录用户信息
String userId = "mockUser";
// 取得文件读取路径
Boolean remove = storageEngineService.remove(fileKey, userId);
// 返回重定向地址
return Response.success(remove);
}
/** /**
* 图片原图预览 * 图片原图预览
* @param fileKey 文件KEY * @param fileKey 文件KEY

View File

@ -7,10 +7,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.liuxp.minioplus.application.entity.FileMetadataInfoEntity; import org.liuxp.minioplus.application.entity.FileMetadataInfoEntity;
import org.liuxp.minioplus.application.mapper.FileMetadataInfoMapper; import org.liuxp.minioplus.application.mapper.FileMetadataInfoMapper;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoUpdateDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoUpdateDTO;
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo; import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
import org.liuxp.minioplus.core.repository.MetadataRepository; import org.liuxp.minioplus.core.repository.MetadataRepository;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

19
minio-plus-common/pom.xml Normal file
View File

@ -0,0 +1,19 @@
<?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">
<parent>
<artifactId>minio-plus-parent</artifactId>
<groupId>org.liuxp</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>minio-plus-common</artifactId>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
</project>

View File

@ -10,17 +10,12 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>minio-plus-core</artifactId> <artifactId>minio-plus-core</artifactId>
<version>${revision}</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId> <artifactId>spring-boot-starter</artifactId>
</dependency> </dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<!-- minio --> <!-- minio -->
<dependency> <dependency>
<groupId>io.minio</groupId> <groupId>io.minio</groupId>
@ -41,15 +36,9 @@
<groupId>org.liuxp</groupId> <groupId>org.liuxp</groupId>
<artifactId>minio-plus-spring-boot-config</artifactId> <artifactId>minio-plus-spring-boot-config</artifactId>
</dependency> </dependency>
<!--Swagger工具包 knife4j -->
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>org.liuxp</groupId>
<artifactId>knife4j-annotations</artifactId> <artifactId>minio-plus-model</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/io.swagger/swagger-annotations -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</dependency> </dependency>
<!-- google图片压缩 --> <!-- google图片压缩 -->
<dependency> <dependency>

View File

@ -1,63 +0,0 @@
package org.liuxp.minioplus.core.common.enums;
import lombok.Getter;
/**
* 存储引擎枚举类
*
* @author contact@liuxp.me
* @since 2023/06/26
*/
@Getter
public enum StorageEngineEnums {
/**
* 存储引擎枚举
*/
MINIO("minio","MinIO存储引擎"),
LOCAL("local","本地文件存储"),
TIS("tis","TIS存储引擎");
private final String code;
private final String name;
/**
* 构造方法
* @param code 编码
* @param name 名称
*/
StorageEngineEnums(String code, String name) {
this.code = code;
this.name = name;
}
/**
* 根据编码取得枚举
* @param code 编码
* @return 枚举
*/
public static StorageEngineEnums getByCode(String code) {
for (StorageEngineEnums fileDomain : StorageEngineEnums.values()) {
if (code.equals(fileDomain.getCode())) {
return fileDomain;
}
}
return null;
}
/**
* 根据编码取得名称
* @param code 编码
* @return 名称
*/
public static String getNameByCode(String code) {
for (StorageEngineEnums fileDomain : StorageEngineEnums.values()) {
if (code.equals(fileDomain.getCode())) {
return fileDomain.getName();
}
}
return "";
}
}

View File

@ -1,11 +1,11 @@
package org.liuxp.minioplus.core.engine; package org.liuxp.minioplus.core.engine;
import cn.hutool.core.lang.Pair; import cn.hutool.core.lang.Pair;
import org.liuxp.minioplus.core.common.dto.FileCheckDTO; import org.liuxp.minioplus.model.dto.FileCheckDTO;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
import org.liuxp.minioplus.core.common.vo.CompleteResultVo; import org.liuxp.minioplus.model.vo.CompleteResultVo;
import org.liuxp.minioplus.core.common.vo.FileCheckResultVo; import org.liuxp.minioplus.model.vo.FileCheckResultVo;
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo; import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
import java.util.List; import java.util.List;

View File

@ -11,21 +11,21 @@ import io.minio.ObjectWriteResponse;
import io.minio.messages.Part; import io.minio.messages.Part;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.liuxp.minioplus.config.MinioPlusProperties; import org.liuxp.minioplus.config.MinioPlusProperties;
import org.liuxp.minioplus.core.common.bo.CreateUploadUrlReqBO; import org.liuxp.minioplus.model.bo.CreateUploadUrlReqBO;
import org.liuxp.minioplus.core.common.bo.CreateUploadUrlRespBO; import org.liuxp.minioplus.model.bo.CreateUploadUrlRespBO;
import org.liuxp.minioplus.core.common.copy.ListPartsResultCopy; import org.liuxp.minioplus.model.copy.ListPartsResultCopy;
import org.liuxp.minioplus.core.common.dto.FileCheckDTO; import org.liuxp.minioplus.model.dto.FileCheckDTO;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoUpdateDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoUpdateDTO;
import org.liuxp.minioplus.core.common.dto.minio.MultipartUploadCreateDTO; import org.liuxp.minioplus.model.dto.minio.MultipartUploadCreateDTO;
import org.liuxp.minioplus.core.common.enums.ResponseCodeEnum; import org.liuxp.minioplus.model.enums.ResponseCodeEnum;
import org.liuxp.minioplus.core.common.enums.StorageBucketEnums; import org.liuxp.minioplus.model.enums.StorageBucketEnums;
import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException; import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException;
import org.liuxp.minioplus.core.common.utils.MinioPlusCommonUtil; import org.liuxp.minioplus.core.common.utils.MinioPlusCommonUtil;
import org.liuxp.minioplus.core.common.vo.CompleteResultVo; import org.liuxp.minioplus.model.vo.CompleteResultVo;
import org.liuxp.minioplus.core.common.vo.FileCheckResultVo; import org.liuxp.minioplus.model.vo.FileCheckResultVo;
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo; import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
import org.liuxp.minioplus.core.engine.StorageEngineService; import org.liuxp.minioplus.core.engine.StorageEngineService;
import org.liuxp.minioplus.core.repository.MetadataRepository; import org.liuxp.minioplus.core.repository.MetadataRepository;
import org.liuxp.minioplus.core.repository.MinioRepository; import org.liuxp.minioplus.core.repository.MinioRepository;

View File

@ -1,9 +1,9 @@
package org.liuxp.minioplus.core.repository; package org.liuxp.minioplus.core.repository;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoUpdateDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoUpdateDTO;
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo; import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
import java.util.List; import java.util.List;

View File

@ -3,7 +3,7 @@ package org.liuxp.minioplus.core.repository;
import io.minio.CreateMultipartUploadResponse; import io.minio.CreateMultipartUploadResponse;
import io.minio.ListPartsResponse; import io.minio.ListPartsResponse;
import io.minio.ObjectWriteResponse; import io.minio.ObjectWriteResponse;
import org.liuxp.minioplus.core.common.dto.minio.MultipartUploadCreateDTO; import org.liuxp.minioplus.model.dto.minio.MultipartUploadCreateDTO;
import org.liuxp.minioplus.core.repository.impl.CustomMinioClient; import org.liuxp.minioplus.core.repository.impl.CustomMinioClient;
import java.io.InputStream; import java.io.InputStream;

View File

@ -6,8 +6,8 @@ import io.minio.http.Method;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.liuxp.minioplus.config.MinioPlusProperties; import org.liuxp.minioplus.config.MinioPlusProperties;
import org.liuxp.minioplus.core.common.dto.minio.MultipartUploadCreateDTO; import org.liuxp.minioplus.model.dto.minio.MultipartUploadCreateDTO;
import org.liuxp.minioplus.core.common.enums.ResponseCodeEnum; import org.liuxp.minioplus.model.enums.ResponseCodeEnum;
import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException; import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException;
import org.liuxp.minioplus.core.repository.MinioRepository; import org.liuxp.minioplus.core.repository.MinioRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;

View File

@ -1,9 +1,9 @@
package org.liuxp.minioplus.core.service; package org.liuxp.minioplus.core.service;
import cn.hutool.core.lang.Pair; import cn.hutool.core.lang.Pair;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
import org.liuxp.minioplus.core.common.dto.FileSaveDTO; import org.liuxp.minioplus.model.dto.FileSaveDTO;
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo; import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
import java.io.InputStream; import java.io.InputStream;
import java.util.List; import java.util.List;

View File

@ -9,15 +9,15 @@ import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import org.liuxp.minioplus.config.MinioPlusProperties; import org.liuxp.minioplus.config.MinioPlusProperties;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO; import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
import org.liuxp.minioplus.core.common.dto.FileSaveDTO; import org.liuxp.minioplus.model.dto.FileSaveDTO;
import org.liuxp.minioplus.core.common.enums.ResponseCodeEnum; import org.liuxp.minioplus.model.enums.ResponseCodeEnum;
import org.liuxp.minioplus.core.common.enums.StorageBucketEnums; import org.liuxp.minioplus.model.enums.StorageBucketEnums;
import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException; import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException;
import org.liuxp.minioplus.core.common.utils.ContentTypeUtil; import org.liuxp.minioplus.core.common.utils.ContentTypeUtil;
import org.liuxp.minioplus.core.common.utils.MinioPlusCommonUtil; import org.liuxp.minioplus.core.common.utils.MinioPlusCommonUtil;
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo; import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
import org.liuxp.minioplus.core.engine.StorageEngineService; import org.liuxp.minioplus.core.engine.StorageEngineService;
import org.liuxp.minioplus.core.repository.MetadataRepository; import org.liuxp.minioplus.core.repository.MetadataRepository;
import org.liuxp.minioplus.core.service.StorageService; import org.liuxp.minioplus.core.service.StorageService;

View File

@ -0,0 +1,19 @@
<?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">
<parent>
<artifactId>minio-plus-parent</artifactId>
<groupId>org.liuxp</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>minio-plus-extension</artifactId>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
</project>

31
minio-plus-model/pom.xml Normal file
View File

@ -0,0 +1,31 @@
<?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">
<parent>
<artifactId>minio-plus-parent</artifactId>
<groupId>org.liuxp</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>minio-plus-model</artifactId>
<dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<!--Swagger工具包 knife4j -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-annotations</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/io.swagger/swagger-annotations -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.bo; package org.liuxp.minioplus.model.bo;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;

View File

@ -1,9 +1,9 @@
package org.liuxp.minioplus.core.common.bo; package org.liuxp.minioplus.model.bo;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import org.liuxp.minioplus.core.common.vo.FileCheckResultVo; import org.liuxp.minioplus.model.vo.FileCheckResultVo;
import java.util.List; import java.util.List;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.copy; package org.liuxp.minioplus.model.copy;
import io.minio.messages.ListPartsResult; import io.minio.messages.ListPartsResult;
import io.minio.messages.Part; import io.minio.messages.Part;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.dto; package org.liuxp.minioplus.model.dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.dto; package org.liuxp.minioplus.model.dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.dto; package org.liuxp.minioplus.model.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.dto; package org.liuxp.minioplus.model.dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.dto; package org.liuxp.minioplus.model.dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.dto; package org.liuxp.minioplus.model.dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.dto.minio; package org.liuxp.minioplus.model.dto.minio;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import io.minio.messages.Part; import io.minio.messages.Part;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.enums; package org.liuxp.minioplus.model.enums;
/** /**
* 返回给前端的code编码对应内容的枚举 * 返回给前端的code编码对应内容的枚举

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.enums; package org.liuxp.minioplus.model.enums;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import lombok.Getter; import lombok.Getter;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.vo; package org.liuxp.minioplus.model.vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.vo; package org.liuxp.minioplus.model.vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package org.liuxp.minioplus.core.common.vo; package org.liuxp.minioplus.model.vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

18
pom.xml
View File

@ -39,6 +39,9 @@
<module>minio-plus-spring-boot-config</module> <module>minio-plus-spring-boot-config</module>
<module>minio-plus-spring-boot-starter</module> <module>minio-plus-spring-boot-starter</module>
<module>minio-plus-application</module> <module>minio-plus-application</module>
<module>minio-plus-model</module>
<module>minio-plus-common</module>
<module>minio-plus-extension</module>
</modules> </modules>
<properties> <properties>
@ -133,11 +136,26 @@
<artifactId>thumbnailator</artifactId> <artifactId>thumbnailator</artifactId>
<version>${thumbnailator.version}</version> <version>${thumbnailator.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.liuxp</groupId>
<artifactId>minio-plus-common</artifactId>
<version>${revision}</version>
</dependency>
<dependency> <dependency>
<groupId>org.liuxp</groupId> <groupId>org.liuxp</groupId>
<artifactId>minio-plus-core</artifactId> <artifactId>minio-plus-core</artifactId>
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
<dependency>
<groupId>org.liuxp</groupId>
<artifactId>minio-plus-extension</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>org.liuxp</groupId>
<artifactId>minio-plus-model</artifactId>
<version>${revision}</version>
</dependency>
<dependency> <dependency>
<groupId>org.liuxp</groupId> <groupId>org.liuxp</groupId>
<artifactId>minio-plus-spring-boot-config</artifactId> <artifactId>minio-plus-spring-boot-config</artifactId>