From b7bfaba672099a71e6cea15710df12edfad82795 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 16:12:47 +0800 Subject: [PATCH] =?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)); } }