REQ-3540: 添加匿名数据库

This commit is contained in:
yanglin 2025-03-20 18:08:47 +08:00
parent af021df447
commit dcbf9b1e35
5 changed files with 45 additions and 2 deletions

View File

@ -3,6 +3,7 @@ package cn.axzo.nanopart.doc.api.anonymous;
import javax.validation.Valid; import javax.validation.Valid;
import cn.axzo.nanopart.doc.api.anonymous.request.AnonymousCreateDirRequest;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -16,6 +17,14 @@ import cn.azxo.framework.common.model.CommonResponse;
@FeignClient(name = "nanopart", url = "${axzo.service.nanopart:http://nanopart:8080}") @FeignClient(name = "nanopart", url = "${axzo.service.nanopart:http://nanopart:8080}")
public interface DocAnonymousDatabaseApi { public interface DocAnonymousDatabaseApi {
/**
* 创建文件夹
*
* @return 文件夹编码, 需要由业务存储
*/
@PostMapping("/api/anonymous/createDir")
CommonResponse<String> createDir(@RequestBody @Valid AnonymousCreateDirRequest request);
/** /**
* 创建文件 * 创建文件
* *

View File

@ -0,0 +1,20 @@
package cn.axzo.nanopart.doc.api.anonymous.request;
import com.alibaba.fastjson.JSON;
import lombok.Getter;
import lombok.Setter;
/**
* @author yanglin
*/
@Setter
@Getter
public class AnonymousCreateDirRequest extends NodeCreateAnonymous {
@Override
public String toString() {
return JSON.toJSONString(this);
}
}

View File

@ -1,6 +1,7 @@
package cn.axzo.nanopart.doc.api.anonymous.request; package cn.axzo.nanopart.doc.api.anonymous.request;
import cn.axzo.nanopart.doc.api.enums.FileFormat; import cn.axzo.nanopart.doc.api.enums.FileFormat;
import com.alibaba.fastjson.JSON;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@ -19,4 +20,8 @@ public class AnonymousCreateFileRequest extends NodeCreateAnonymous {
@NotNull(message = "文件格式不能为空") @NotNull(message = "文件格式不能为空")
private FileFormat format; private FileFormat format;
@Override
public String toString() {
return JSON.toJSONString(this);
}
} }

View File

@ -18,7 +18,7 @@ import lombok.Setter;
abstract class NodeCreateAnonymous implements NodeCreate, IndexNodeScope { abstract class NodeCreateAnonymous implements NodeCreate, IndexNodeScope {
/** /**
* 父节点code * 父节点code, 创建在根目录时可以不传
*/ */
private String parentCode; private String parentCode;

View File

@ -4,6 +4,7 @@ package cn.axzo.nanopart.doc.file.anonymous;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import cn.axzo.nanopart.doc.api.anonymous.DocAnonymousDatabaseApi; 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.AnonymousCreateFileRequest;
import cn.axzo.nanopart.doc.api.domain.OssFile; import cn.axzo.nanopart.doc.api.domain.OssFile;
import cn.axzo.nanopart.doc.entity.IndexNode; import cn.axzo.nanopart.doc.entity.IndexNode;
@ -22,8 +23,16 @@ public class DocAnonymousDatabaseApiController implements DocAnonymousDatabaseAp
private final IndexManager indexManager; private final IndexManager indexManager;
@Override
public CommonResponse<String> createDir(AnonymousCreateDirRequest request) {
log.info("create dir request:{}", request);
IndexNode dirNode = indexManager.createDir(request);
return CommonResponse.success(dirNode.getCode());
}
@Override @Override
public CommonResponse<String> createFile(AnonymousCreateFileRequest request) { public CommonResponse<String> createFile(AnonymousCreateFileRequest request) {
log.info("create file request:{}", request);
OssFile ossFile = indexManager.prepareEmptyOssFile(request, request.getFormat()); OssFile ossFile = indexManager.prepareEmptyOssFile(request, request.getFormat());
IndexNode fileNode = indexManager.createFile(request, ossFile); IndexNode fileNode = indexManager.createFile(request, ossFile);
return CommonResponse.success(fileNode.getCode()); return CommonResponse.success(fileNode.getCode());