From e63e40c673977b544b42299920a5ebed4f90242d Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 14:12:15 +0800 Subject: [PATCH 01/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/nanopart/doc/api/enums/DatabaseScope.java | 10 ---------- .../nanopart/doc/file/filedb/FileDatabaseService.java | 2 +- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java index da00b9de..b4c62261 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java @@ -1,11 +1,6 @@ package cn.axzo.nanopart.doc.api.enums; -import static java.util.stream.Collectors.toList; - -import java.util.Arrays; -import java.util.List; - import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -30,9 +25,4 @@ public enum DatabaseScope { private final DatabaseType databaseType; private final boolean childrenNameDuplicatable; - public static List scopesWithDatabaseTypes() { - return Arrays.stream(values()) // - .filter(scope -> scope.databaseType != DatabaseType.NONE) // - .collect(toList()); - } } diff --git a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java index c0adf2a1..6d93a5e0 100644 --- a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java +++ b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java @@ -138,6 +138,7 @@ public class FileDatabaseService { private IndexNode checkTemplateDatabaseNode(String templateDatabaseCode) { IndexNode indexNode = indexManager.getOrThrow(templateDatabaseCode); BizAssertions.assertTrue(indexNode.isDatabase(), "只能选择资料库作为模板"); + BizAssertions.assertNotEquals(DatabaseType.NONE, indexNode.scope().getDatabaseType(), "无法添加空的资料库作为模板"); return indexNode; } @@ -230,7 +231,6 @@ public class FileDatabaseService { .in(CollectionUtils.isNotEmpty(searchWorkspaceIds), FileDatabase::getWorkspaceId, searchWorkspaceIds) .in(CollectionUtils.isNotEmpty(seachTemplateDatabaseCodes), FileDatabase::getTemplateDatabaseCode, seachTemplateDatabaseCodes) // .in(CollectionUtils.isNotEmpty(seachScopes), FileDatabase::getScope, seachScopes) - .in(FileDatabase::getScope, DatabaseScope.scopesWithDatabaseTypes()) .orderByDesc(FileDatabase::getId) .page(request.toPage()); // @formatter:on From 24cd87846128d80ee9bcc11c53095e696d3e8c7f Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 14:14:01 +0800 Subject: [PATCH 02/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java | 2 +- .../java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java index cd2dca85..e3c3e09d 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java @@ -24,7 +24,7 @@ public interface IndexNodeScope { case FILE_DATABASE: return false; default: - return scope().isChildrenNameDuplicatable(); + return scope().getChildrenNameDuplicatable(); } } diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java index b4c62261..8836148f 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java @@ -12,7 +12,7 @@ import lombok.RequiredArgsConstructor; public enum DatabaseScope { // 无含义 - NONE(DatabaseType.NONE, true), + NONE(DatabaseType.NONE, null), // 匿名数据库 ANONYMOUS(DatabaseType.NONE, true), // 企业数据库 @@ -23,6 +23,6 @@ public enum DatabaseScope { PERSONAL_FOR_ENT(DatabaseType.CREATED_BY_USER_FOR_ENT, false); private final DatabaseType databaseType; - private final boolean childrenNameDuplicatable; + private final Boolean childrenNameDuplicatable; } From 95e749fdd1db2ae10ef18e500582e825cc604946 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 14:15:13 +0800 Subject: [PATCH 03/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/nanopart/doc/api/domain/IndexNodeParentScope.java | 2 +- .../java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeParentScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeParentScope.java index 0f64642a..2f784f3a 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeParentScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeParentScope.java @@ -7,7 +7,7 @@ package cn.axzo.nanopart.doc.api.domain; public interface IndexNodeParentScope { default IndexNodeScope nodeScope() { - return IndexNodeScope.ANONYMOUS; + return IndexNodeScope.NONE; } default String parentCode() { diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java index e3c3e09d..1b168221 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java @@ -33,7 +33,7 @@ public interface IndexNodeScope { } // @formatter:off - IndexNodeScope ANONYMOUS = new IndexNodeScope() {}; + IndexNodeScope NONE = new IndexNodeScope() {}; // @formatter:on IndexNodeScope FILE_TEMPLATE = new IndexNodeScope() { From 3b5710fcb268018812ab72cf7716730b698b4755 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 14:16:44 +0800 Subject: [PATCH 04/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java index 1b168221..fcb8366b 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java @@ -17,6 +17,10 @@ public interface IndexNodeScope { return DatabaseScope.NONE; } + default String scopeCode() { + return ""; + } + default boolean isChildrenNameDuplicatable() { switch (context()) { case FILE_TEMPLATE: @@ -28,10 +32,6 @@ public interface IndexNodeScope { } } - default String scopeCode() { - return ""; - } - // @formatter:off IndexNodeScope NONE = new IndexNodeScope() {}; // @formatter:on From 76cbac7bcc39416729119580bf1e266948f9ad2c Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 14:17:48 +0800 Subject: [PATCH 05/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java index 8836148f..b1963595 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/DatabaseScope.java @@ -11,7 +11,7 @@ import lombok.RequiredArgsConstructor; @RequiredArgsConstructor public enum DatabaseScope { - // 无含义 + // 无含义, 只有系统预定义用途的才能使用这个值 NONE(DatabaseType.NONE, null), // 匿名数据库 ANONYMOUS(DatabaseType.NONE, true), From acfe3201728be1f45f22d76f053c11506f37a74e Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 14:21:40 +0800 Subject: [PATCH 06/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../doc/api/domain/IndexNodeParentScope.java | 11 ++-------- .../doc/api/domain/IndexNodeScope.java | 22 ++++--------------- .../doc/api/enums/IndexNodeContext.java | 2 -- 3 files changed, 6 insertions(+), 29 deletions(-) diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeParentScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeParentScope.java index 2f784f3a..6692dc2f 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeParentScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeParentScope.java @@ -6,19 +6,12 @@ package cn.axzo.nanopart.doc.api.domain; */ public interface IndexNodeParentScope { - default IndexNodeScope nodeScope() { - return IndexNodeScope.NONE; - } + IndexNodeScope nodeScope(); default String parentCode() { return ""; } - IndexNodeParentScope TEMPLATE_DATABASE_ROOT = new IndexNodeParentScope() { - @Override - public IndexNodeScope nodeScope() { - return IndexNodeScope.TEMPLATE_DATABASE; - } - }; + IndexNodeParentScope TEMPLATE_DATABASE_ROOT = () -> IndexNodeScope.TEMPLATE_DATABASE; } diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java index fcb8366b..8cf35e3e 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java @@ -9,9 +9,7 @@ import cn.axzo.nanopart.doc.api.enums.IndexNodeContext; */ public interface IndexNodeScope { - default IndexNodeContext context() { - return IndexNodeContext.NONE; - } + IndexNodeContext context(); default DatabaseScope scope() { return DatabaseScope.NONE; @@ -32,22 +30,10 @@ public interface IndexNodeScope { } } - // @formatter:off - IndexNodeScope NONE = new IndexNodeScope() {}; - // @formatter:on + IndexNodeScope NONE = () -> IndexNodeContext.NONE; - IndexNodeScope FILE_TEMPLATE = new IndexNodeScope() { - @Override - public IndexNodeContext context() { - return IndexNodeContext.FILE_TEMPLATE; - } - }; + IndexNodeScope FILE_TEMPLATE = () -> IndexNodeContext.FILE_TEMPLATE; - IndexNodeScope TEMPLATE_DATABASE = new IndexNodeScope() { - @Override - public IndexNodeContext context() { - return IndexNodeContext.TEMPLATE_DATABASE; - } - }; + IndexNodeScope TEMPLATE_DATABASE = () -> IndexNodeContext.TEMPLATE_DATABASE; } diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/IndexNodeContext.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/IndexNodeContext.java index 4248df28..135f4726 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/IndexNodeContext.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/enums/IndexNodeContext.java @@ -6,8 +6,6 @@ package cn.axzo.nanopart.doc.api.enums; */ public enum IndexNodeContext { NONE, - // 系统内置 - SYSTEM, // 文件模版 FILE_TEMPLATE, // 模版数据库 From de32297b45c6536012e16c6aee7edf3f4115be6b Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 14:24:17 +0800 Subject: [PATCH 07/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java index 8cf35e3e..56ba6b97 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java @@ -30,8 +30,6 @@ public interface IndexNodeScope { } } - IndexNodeScope NONE = () -> IndexNodeContext.NONE; - IndexNodeScope FILE_TEMPLATE = () -> IndexNodeContext.FILE_TEMPLATE; IndexNodeScope TEMPLATE_DATABASE = () -> IndexNodeContext.TEMPLATE_DATABASE; From c971064c394d73d4e31bad8d0f1f7f69d8948c13 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 15:34:34 +0800 Subject: [PATCH 08/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java index 6d93a5e0..d50a156e 100644 --- a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java +++ b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java @@ -138,7 +138,6 @@ public class FileDatabaseService { private IndexNode checkTemplateDatabaseNode(String templateDatabaseCode) { IndexNode indexNode = indexManager.getOrThrow(templateDatabaseCode); BizAssertions.assertTrue(indexNode.isDatabase(), "只能选择资料库作为模板"); - BizAssertions.assertNotEquals(DatabaseType.NONE, indexNode.scope().getDatabaseType(), "无法添加空的资料库作为模板"); return indexNode; } From 0e1269d5e6835a836c18483fb366d3c454025e0d Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 15:44:56 +0800 Subject: [PATCH 09/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nanopart/doc/file/templatedb/TemplateDatabaseManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/templatedb/TemplateDatabaseManager.java b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/templatedb/TemplateDatabaseManager.java index 534cc36e..1af99a5a 100644 --- a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/templatedb/TemplateDatabaseManager.java +++ b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/templatedb/TemplateDatabaseManager.java @@ -1,6 +1,7 @@ package cn.axzo.nanopart.doc.file.templatedb; +import cn.axzo.nanopart.doc.api.enums.DatabaseType; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; @@ -37,6 +38,7 @@ public class TemplateDatabaseManager { @BizTransactional public String createDatabase(TemplateDatabaseCreateDatabaseRequest request) { + BizAssertions.assertNotEquals(DatabaseType.NONE, request.getScope().getDatabaseType(), "数据库类型不能为空"); request.setParentCode(""); IndexNode indexNode = indexManager.createDatabase(request); TemplateDatabase db = new TemplateDatabase(); From 81cbaab3a8f25a99a1c7c0f3469ee455987bf210 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 15:46:12 +0800 Subject: [PATCH 10/11] =?UTF-8?q?REQ-3540:=20=E6=83=B9=E5=90=8Dscope?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E8=8A=82=E7=82=B9=E5=90=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nanopart/doc/file/templatedb/TemplateDatabaseManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/templatedb/TemplateDatabaseManager.java b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/templatedb/TemplateDatabaseManager.java index 1af99a5a..a03c63ca 100644 --- a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/templatedb/TemplateDatabaseManager.java +++ b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/templatedb/TemplateDatabaseManager.java @@ -38,7 +38,7 @@ public class TemplateDatabaseManager { @BizTransactional public String createDatabase(TemplateDatabaseCreateDatabaseRequest request) { - BizAssertions.assertNotEquals(DatabaseType.NONE, request.getScope().getDatabaseType(), "数据库类型不能为空"); + BizAssertions.assertNotEquals(DatabaseType.NONE, request.getScope().getDatabaseType(), "不能添加数据库类型不能为空的scope"); request.setParentCode(""); IndexNode indexNode = indexManager.createDatabase(request); TemplateDatabase db = new TemplateDatabase(); From b7bfaba672099a71e6cea15710df12edfad82795 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 16:12:47 +0800 Subject: [PATCH 11/11] =?UTF-8?q?REQ-3540:=20=E8=AE=B0=E5=BD=95=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/nanopart/doc/dao/DocLogDao.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/dao/DocLogDao.java b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/dao/DocLogDao.java index cd5695cf..6f57cc58 100644 --- a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/dao/DocLogDao.java +++ b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/dao/DocLogDao.java @@ -2,12 +2,15 @@ package cn.axzo.nanopart.doc.dao; import org.springframework.stereotype.Repository; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.support.TransactionTemplate; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.axzo.nanopart.doc.api.util.BizAssertions; import cn.axzo.nanopart.doc.entity.DocLog; import cn.axzo.nanopart.doc.mapper.DocLogMapper; -import cn.axzo.nanopart.doc.api.util.BizAssertions; /** * @author yanglin @@ -15,6 +18,13 @@ import cn.axzo.nanopart.doc.api.util.BizAssertions; @Repository public class DocLogDao extends ServiceImpl { + private final TransactionTemplate newTransaction; + + public DocLogDao(PlatformTransactionManager transactionManager) { + newTransaction = new TransactionTemplate(transactionManager); + newTransaction.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); + } + public void logRequest(String context, Object subject, Object request) { log(context, subject, "request", request); } @@ -35,7 +45,7 @@ public class DocLogDao extends ServiceImpl { log.addLogContent((String) logContents[i], logContents[i + 1]); } } - save(log); + newTransaction.executeWithoutResult(unused -> save(log)); } }