|
@ -4031,21 +4031,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### AWS-S3大文件上传API测试合并分片实战 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第6集 AWS-S3大文件上传API测试合并分片实战 |
|
|
|
|
|
|
|
|
|
|
|
**简介: AWS-S3大文件上传API测试合并分片实战** |
|
|
|
|
|
|
|
|
|
|
|
* 需求:测试下面相关API |
|
|
* 需求:测试下面相关API |
|
|
|
|
|
|
|
@ -4059,7 +4045,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 测试实战 |
|
|
* 测试实战 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
// 测试合并分片的方法 |
|
|
// 测试合并分片的方法 |
|
|
@Test |
|
|
@Test |
|
|
public void testMergeChunks() { |
|
|
public void testMergeChunks() { |
|
@ -4101,15 +4087,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### AWS-S3大文件上传API测试上传进度实战 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第7集 AWS-S3大文件上传API测试上传进度实战 |
|
|
|
|
|
|
|
|
|
|
|
**简介: AWS-S3大文件上传API测试上传进度实战** |
|
|
|
|
|
|
|
|
|
|
|
* 需求:测试下面相关API |
|
|
* 需求:测试下面相关API |
|
|
|
|
|
|
|
@ -4123,7 +4101,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 测试实战 |
|
|
* 测试实战 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Test |
|
|
@Test |
|
|
// 测试列出分片上传的各个分片信息 |
|
|
// 测试列出分片上传的各个分片信息 |
|
|
public void testListParts() { |
|
|
public void testListParts() { |
|
@ -4160,18 +4138,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
``` |
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 存储引擎StoreEngine大文件上传API封装 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第8集 存储引擎StoreEngine大文件上传API封装 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 存储引擎StoreEngine大文件上传API封装** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -4181,7 +4148,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 接口 |
|
|
* 接口 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
/** |
|
|
/** |
|
|
* 查询分片数据 |
|
|
* 查询分片数据 |
|
|
* @param bucketName 存储桶名称 |
|
|
* @param bucketName 存储桶名称 |
|
@ -4225,7 +4192,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 实现 |
|
|
* 实现 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Override |
|
|
@Override |
|
|
public PartListing listMultipart(String bucketName, String objectKey, String uploadId) { |
|
|
public PartListing listMultipart(String bucketName, String objectKey, String uploadId) { |
|
|
try { |
|
|
try { |
|
@ -4278,27 +4245,11 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
``` |
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 大文件上传接口开发和全链路测试 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 初始化分片上传任务接口设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 **愿景:"IT路上的持续充电平台,让技术不再难学"** |
|
|
|
|
|
**更多高级课程请访问 xdclass.net** |
|
|
|
|
|
|
|
|
|
|
|
### 第十四章 大文件上传接口开发和全链路测试 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第1集 初始化分片上传任务接口设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 初始化分片上传任务接口设计和开发实战** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -4307,7 +4258,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 数据库文件分片信息表说明 |
|
|
* 数据库文件分片信息表说明 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
CREATE TABLE `file_chunk` ( |
|
|
CREATE TABLE `file_chunk` ( |
|
|
`id` bigint NOT NULL, |
|
|
`id` bigint NOT NULL, |
|
|
`identifier` varchar(500) NOT NULL COMMENT '文件唯一标识(md5)', |
|
|
`identifier` varchar(500) NOT NULL COMMENT '文件唯一标识(md5)', |
|
@ -4336,7 +4287,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 编码实战 |
|
|
* 编码实战 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Override |
|
|
@Override |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public FileChunkDTO initFileChunkTask(FileChunkInitTaskReq req) { |
|
|
public FileChunkDTO initFileChunkTask(FileChunkInitTaskReq req) { |
|
@ -4376,25 +4327,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 临时分片上传地址接口设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第2集 临时分片上传地址接口设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 临时分片上传地址接口设计和开发实战** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -4408,7 +4341,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 编码实战 |
|
|
* 编码实战 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Override |
|
|
@Override |
|
|
public String genPreSignUploadUrl(Long accountId, String identifier, Integer partNumber) { |
|
|
public String genPreSignUploadUrl(Long accountId, String identifier, Integer partNumber) { |
|
|
FileChunkDO task = fileChunkMapper.selectOne(new QueryWrapper<FileChunkDO>().lambda().eq(FileChunkDO::getIdentifier, identifier).eq(FileChunkDO::getAccountId, accountId)); |
|
|
FileChunkDO task = fileChunkMapper.selectOne(new QueryWrapper<FileChunkDO>().lambda().eq(FileChunkDO::getIdentifier, identifier).eq(FileChunkDO::getAccountId, accountId)); |
|
@ -4429,25 +4362,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 合并分片文件接口设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第3集 合并分片文件接口设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 合并分片文件接口设计和开发实战** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -4464,7 +4379,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 编码实战 |
|
|
* 编码实战 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
public void mergeFileChunk(FileChunkMergeReq req) { |
|
|
public void mergeFileChunk(FileChunkMergeReq req) { |
|
|
|
|
|
|
|
|
//获取任务和分片列表,检查是否足够合并 |
|
|
//获取任务和分片列表,检查是否足够合并 |
|
@ -4522,21 +4437,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 查询分片上传进度接口设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第4集 查询分片上传进度接口设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 查询分片上传进度接口设计和开发实战** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -4550,7 +4451,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 编码实战 |
|
|
* 编码实战 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Override |
|
|
@Override |
|
|
public FileChunkDTO listFileChunk(Long accountId, String identifier) { |
|
|
public FileChunkDTO listFileChunk(Long accountId, String identifier) { |
|
|
|
|
|
|
|
@ -4579,27 +4480,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 大文件分片上传全链路测试方案设计 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第5集 大文件分片上传全链路测试方案设计 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 大文件分片上传全链路测试方案设计** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -4607,8 +4488,6 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
* 缺少前端的情况下,大文件如何分片进行测试? |
|
|
* 缺少前端的情况下,大文件如何分片进行测试? |
|
|
* 如何测试大文件上传相关接口? |
|
|
* 如何测试大文件上传相关接口? |
|
|
|
|
|
|
|
|
<img src="D:/学习/2025/AI智能化云盘学习笔记/笔记/img/image-20250124102709550.png" alt="image-20250124102709550" style="zoom:30%;" /> |
|
|
|
|
|
|
|
|
|
|
|
* 测试思路 |
|
|
* 测试思路 |
|
|
|
|
|
|
|
|
* 使用后端Java代码进行文件读取 |
|
|
* 使用后端Java代码进行文件读取 |
|
@ -4626,7 +4505,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
* 使用后端Java代码进行文件读取 |
|
|
* 使用后端Java代码进行文件读取 |
|
|
* 根据进行切割成不同的小文件 |
|
|
* 根据进行切割成不同的小文件 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
SpringBootTest |
|
|
SpringBootTest |
|
|
@Slf4j |
|
|
@Slf4j |
|
|
class FileChunkUploadTests { |
|
|
class FileChunkUploadTests { |
|
@ -4690,25 +4569,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 大文件分片上传全链路测试代码实战《上》 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第6集 大文件分片上传全链路测试代码实战《上》 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 大文件分片上传后端全链路测试方案实战** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -4720,7 +4581,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 编码实战 |
|
|
* 编码实战 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
/** |
|
|
/** |
|
|
* 第1步,创建分片上传任务 |
|
|
* 第1步,创建分片上传任务 |
|
|
*/ |
|
|
*/ |
|
@ -4794,29 +4655,11 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 大文件分片上传全链路测试代码实战《下》 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第7集 大文件分片上传全链路测试代码实战《下》 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 大文件分片上传后端全链路测试方案实战** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
* 测试大文件上传全链路代码 |
|
|
* 测试大文件上传全链路代码 |
|
|
|
|
|
|
|
|
<img src="D:/学习/2025/AI智能化云盘学习笔记/笔记/img/image-20250124153127049.png" alt="image-20250124153127049" style="zoom:60%;" /> |
|
|
|
|
|
|
|
|
|
|
|
* 测试实战 |
|
|
* 测试实战 |
|
|
* 检查分片文件是否生成 |
|
|
* 检查分片文件是否生成 |
|
|
* 检查MinIO是否有对应的文件 |
|
|
* 检查MinIO是否有对应的文件 |
|
@ -4827,26 +4670,11 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 网盘文件分享模块设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 文件分享转存需求背景和数据库表说明 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 **愿景:"IT路上的持续充电平台,让技术不再难学"** |
|
|
|
|
|
**更多高级课程请访问 xdclass.net** |
|
|
|
|
|
|
|
|
|
|
|
### 第十五章 网盘文件分享模块设计和开发实战 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第1集 文件分享转存需求背景和数据库表说明 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 文件分享转存需求背景和数据库表说明** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
* 老王有几十G《冰冰的游泳视频》存储在小滴网盘上面 |
|
|
* 老王有几十G《冰冰的游泳视频》存储在小滴网盘上面 |
|
@ -4872,17 +4700,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 文件分享枚举定义和分享列表接口开发 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第2集 文件分享枚举定义和分享列表接口开发 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 文件分享枚举定义和分享列表接口开发** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -4893,7 +4711,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 提取码枚举 |
|
|
* 提取码枚举 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Getter |
|
|
@Getter |
|
|
public enum ShareTypeEnum { |
|
|
public enum ShareTypeEnum { |
|
|
|
|
|
|
|
@ -4911,7 +4729,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 分享状态 |
|
|
* 分享状态 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
/** |
|
|
/** |
|
|
* 分享状态 used正常, expired已失效, cancled取消 |
|
|
* 分享状态 used正常, expired已失效, cancled取消 |
|
|
*/ |
|
|
*/ |
|
@ -4924,7 +4742,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 分享链接时效性枚举 |
|
|
* 分享链接时效性枚举 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
//分享类型(0 永久有效;1: 7天有效;2: 30天有效) |
|
|
//分享类型(0 永久有效;1: 7天有效;2: 30天有效) |
|
|
@AllArgsConstructor |
|
|
@AllArgsConstructor |
|
|
@Getter |
|
|
@Getter |
|
@ -4957,7 +4775,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 我的分享列表接口 |
|
|
* 我的分享列表接口 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Override |
|
|
@Override |
|
|
public List<ShareDTO> listShare() { |
|
|
public List<ShareDTO> listShare() { |
|
|
Long accountId = LoginInterceptor.threadLocal.get().getId(); |
|
|
Long accountId = LoginInterceptor.threadLocal.get().getId(); |
|
@ -4970,18 +4788,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### AI智能化云盘-创建文件分享接口开发实战 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第3集 AI智能化云盘-创建文件分享接口开发实战 |
|
|
|
|
|
|
|
|
|
|
|
**简介: AI智能化云盘-创建文件分享接口开发实战** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -4998,7 +4805,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 编码实战 |
|
|
* 编码实战 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Override |
|
|
@Override |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public ShareDTO createShare(ShareCreateReq req) { |
|
|
public ShareDTO createShare(ShareCreateReq req) { |
|
@ -5055,21 +4862,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 批量取消分享接口实战和文件移动Bug修复 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第4集 批量取消分享接口实战和文件移动Bug修复 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 批量取消分享接口实战和文件移动Bug修复** |
|
|
|
|
|
|
|
|
|
|
|
* 需求 |
|
|
* 需求 |
|
|
|
|
|
|
|
@ -5085,7 +4878,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 编码实战 |
|
|
* 编码实战 |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public void cancelShare(ShareCancelReq req) { |
|
|
public void cancelShare(ShareCancelReq req) { |
|
|
//1、校验分享ID列表权限是否合格 |
|
|
//1、校验分享ID列表权限是否合格 |
|
@ -5108,7 +4901,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 文件移动Bug修复(几个细心的同学发现了Bug,多数同学没发现) |
|
|
* 文件移动Bug修复(几个细心的同学发现了Bug,多数同学没发现) |
|
|
|
|
|
|
|
|
``` |
|
|
```java |
|
|
@Override |
|
|
@Override |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public void moveBatch(FileBatchReq req) { |
|
|
public void moveBatch(FileBatchReq req) { |
|
@ -5134,17 +4927,7 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 链路接口测试-创建-查看-取消分享接口 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 第5集 链路接口测试-创建-查看-取消分享接口 |
|
|
|
|
|
|
|
|
|
|
|
**简介: 链路接口测试-创建-查看-取消分享接口** |
|
|
|
|
|
|
|
|
|
|
|
* 接口测试需求 |
|
|
* 接口测试需求 |
|
|
* 测试创建文件分享链接接口 |
|
|
* 测试创建文件分享链接接口 |
|
@ -5153,8 +4936,6 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
* 测试实战 |
|
|
* 测试实战 |
|
|
|
|
|
|
|
|
<img src="D:/学习/2025/AI智能化云盘学习笔记/笔记/img/image-20250210121918635.png" alt="image-20250210121918635" style="zoom:50%;" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -5184,9 +4965,6 @@ public JsonData list(@RequestParam(value = "parent_id")Long parentId){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 **愿景:"IT路上的持续充电平台,让技术不再难学"** |
|
|
|
|
|
**更多高级课程请访问 xdclass.net** |
|
|
|
|
|
|
|
|
|
|
|
### 第十六章 自定义注解+AOP实战文件分享设计实战 |
|
|
### 第十六章 自定义注解+AOP实战文件分享设计实战 |
|
|
|
|
|
|
|
|