REQ-3540: 校验

This commit is contained in:
yanglin 2025-03-24 11:40:28 +08:00
parent 738d17d0ce
commit a8f4045021
6 changed files with 53 additions and 3 deletions

View File

@ -4,6 +4,7 @@ package cn.axzo.nanopart.doc.api.anonymous;
import javax.validation.Valid;
import cn.axzo.nanopart.doc.api.anonymous.request.AnonymousCreateDirRequest;
import cn.axzo.nanopart.doc.api.anonymous.request.AnonymousUploadFileRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -26,11 +27,19 @@ public interface DocAnonymousDatabaseApi {
CommonResponse<String> createDir(@RequestBody @Valid AnonymousCreateDirRequest request);
/**
* 创建文件
* 创建文件
*
* @return 文件编码, 需要由业务存储
*/
@PostMapping("/api/anonymous/createFile")
CommonResponse<String> createFile(@RequestBody @Valid AnonymousCreateFileRequest request);
/**
* 上传文件
*
* @return 文件编码, 需要由业务存储
*/
@PostMapping("/api/anonymous/uploadFile")
CommonResponse<String> uploadFile(@RequestBody @Valid AnonymousUploadFileRequest request);
}

View File

@ -0,0 +1,24 @@
package cn.axzo.nanopart.doc.api.anonymous.request;
import cn.axzo.nanopart.doc.api.domain.OssFile;
import lombok.Getter;
import lombok.Setter;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
/**
* @author yanglin
*/
@Setter
@Getter
public class AnonymousUploadFileRequest extends NodeCreateAnonymous {
/**
* 上传的文件信息
*/
@Valid
@NotNull(message = "上传的文件信息不能为空")
private OssFile ossFile;
}

View File

@ -1,8 +1,10 @@
package cn.axzo.nanopart.doc.api.domain;
import cn.axzo.nanopart.doc.api.enums.FileFormat;
import com.alibaba.fastjson.JSON;
import cn.axzo.nanopart.doc.api.enums.FileFormat;
import cn.axzo.nanopart.doc.api.util.BizAssertions;
import lombok.Getter;
import lombok.Setter;
@ -39,6 +41,13 @@ public class OssFile {
return ossFile;
}
public void validate() {
BizAssertions.assertNotNull(format, "format不能为空");
BizAssertions.assertTrue(size > 0, "size必须大于0");
BizAssertions.assertNotBlank(ossFileKey, "ossFileKey不能为空");
BizAssertions.assertNotBlank(extension, "后缀不能为空");
}
@Override
public String toString() {
return JSON.toJSONString(this);

View File

@ -6,8 +6,8 @@ import org.springframework.web.bind.annotation.RestController;
import cn.axzo.nanopart.doc.api.anonymous.DocAnonymousDatabaseApi;
import cn.axzo.nanopart.doc.api.anonymous.request.AnonymousCreateDirRequest;
import cn.axzo.nanopart.doc.api.anonymous.request.AnonymousCreateFileRequest;
import cn.axzo.nanopart.doc.api.anonymous.request.AnonymousUploadFileRequest;
import cn.axzo.nanopart.doc.api.domain.OssFile;
import cn.axzo.nanopart.doc.entity.IndexNode;
import cn.axzo.nanopart.doc.file.index.IndexManager;
import cn.azxo.framework.common.model.CommonResponse;
import lombok.RequiredArgsConstructor;
@ -36,4 +36,10 @@ public class DocAnonymousDatabaseApiController implements DocAnonymousDatabaseAp
return CommonResponse.success(indexManager.createFile(request, ossFile).getCode());
}
@Override
public CommonResponse<String> uploadFile(AnonymousUploadFileRequest request) {
log.info("upload file request:{}", request);
request.getOssFile().validate();
return CommonResponse.success(indexManager.uploadFile(request, request.getOssFile()).getCode());
}
}

View File

@ -67,6 +67,7 @@ public class FileTemplateApiController implements FileTemplateApi {
@Override
public CommonResponse<String> uploadFile(FileTemplateUploadFileRequest request) {
log.info("upload file request:{}", request);
request.getOssFile().validate();
return CommonResponse.success(fileTemplateManager.uploadFile(request));
}

View File

@ -72,6 +72,7 @@ public class TemplateDatabaseApiController implements TemplateDatabaseApi {
@Override
public CommonResponse<String> uploadFile(TemplateDatabaseUploadFileRequest request) {
log.info("upload file request:{}", request);
request.getOssFile().validate();
return CommonResponse.success(templateDatabaseManager.updateFile(request));
}