1、fix bug

2、完善凭证模块
This commit is contained in:
2026-08-12 19:44:34 +08:00
parent 4ad3108c4d
commit 1109fe777c
15 changed files with 198 additions and 39 deletions
@@ -41,9 +41,10 @@ public class FileTaskController extends BladeController {
private final IFileService fileService;
@GetMapping("/queryFileTask")
@Operation(summary = "根据文件的MD5值查询文件任务", description = "文件的MD5值检查分段,参数名:md5")
public R<FileTaskUpdateVO> queryFileTask(@RequestParam(value = "md5") String md5) {
FileTaskUpdateVO fileTask = fileTaskService.queryFileTask(null, md5);
@Operation(summary = "查询文件任务", description = "传入 id 或 md5 查询文件任务")
public R<FileTaskUpdateVO> queryFileTask(@RequestParam(required = false) Long id,
@RequestParam(value = "md5", required = false) String md5) {
FileTaskUpdateVO fileTask = fileTaskService.queryFileTask(id, md5);
return R.data(fileTask);
}
@@ -94,6 +95,12 @@ public class FileTaskController extends BladeController {
return R.status(fileTaskService.updatePaused(param.getIds()));
}
@PostMapping("/resume")
@Operation(summary = "恢复文件任务上传")
public R<Boolean> resume(@RequestParam Long id) {
return R.status(fileTaskService.resume(id));
}
@GetMapping("/getUploadUrl")
@Parameters({
@Parameter(name = "id", description = "文件任务id", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@@ -94,5 +94,7 @@ public interface IFileTaskService extends IService<FileTask> {
*/
boolean updatePaused(List<Long> param);
boolean resume(Long id);
IPage<FileTaskUpdateVO> selectPage(Query query, String businessType, String businessId, String attachmentName, String status);
}
@@ -36,7 +36,6 @@ import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.file.config.ObsProperties;
import org.springblade.file.convert.FileTaskConvert;
import org.springblade.file.listener.FileUploadedEvent;
@@ -251,6 +250,9 @@ public class FileTaskServiceImpl extends ServiceImpl<FileTaskMapper, FileTask> i
if (FileTaskStatus.COMPLETED.getCode().equals(fileTask.getStatus())) {
throw new ServiceException("文件任务已完成");
}
if (FileTaskStatus.PAUSED.getCode().equals(fileTask.getStatus())) {
throw new ServiceException("文件任务已暂停");
}
return fileService.getUploadPartUrl(fileTask.getObjectKey(), fileTask.getUploadId(), partNumber, null);
}
@@ -322,6 +324,19 @@ public class FileTaskServiceImpl extends ServiceImpl<FileTaskMapper, FileTask> i
);
}
@Override
public boolean resume(Long id) {
FileTask fileTask = getById(id);
Func.requireNotNull(fileTask, "文件任务不存在");
if (FileTaskStatus.COMPLETED.getCode().equals(fileTask.getStatus())) {
throw new ServiceException("文件任务已完成");
}
FileTask updateParam = new FileTask();
updateParam.setId(id);
updateParam.setStatus(FileTaskStatus.UPLOADING.getCode());
return updateById(updateParam);
}
@Override
public IPage<FileTaskUpdateVO> selectPage(org.springblade.core.mp.support.Query query, String businessType, String businessId, String attachmentName, String status) {
IPage<FileTask> page = page(Condition.getPage(query), Wrappers.<FileTask>lambdaQuery()
@@ -329,7 +344,7 @@ public class FileTaskServiceImpl extends ServiceImpl<FileTaskMapper, FileTask> i
.eq(StringUtil.isNotBlank(businessId), FileTask::getBusinessId, businessId)
.like(StringUtil.isNotBlank(attachmentName), FileTask::getAttachmentName, attachmentName)
.eq(StringUtil.isNotBlank(status), FileTask::getStatus, status)
.eq(FileTask::getCreateUser, AuthUtil.getUserId()).orderByDesc(FileTask::getCreateTime));
.orderByDesc(FileTask::getCreateTime));
return page.convert(this::getFileTaskUpdateVO);
}
@@ -383,6 +398,7 @@ public class FileTaskServiceImpl extends ServiceImpl<FileTaskMapper, FileTask> i
return this.update(updateParam, Wrappers.<FileTask>lambdaUpdate()
.eq(FileTask::getId, param.getId())
.lt(FileTask::getCurrentIndex, param.getPartNumber())
.ne(FileTask::getStatus, FileTaskStatus.PAUSED.getCode())
);
}
}