From 421bf34dac3c413217258f44041e6af06de77a3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=BE=99?= Date: Wed, 15 Jan 2025 14:54:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:(feature/REQ-3282)=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E8=AE=B0=E5=BD=95=E6=93=8D=E4=BD=9C=E6=97=A5?= =?UTF-8?q?=E5=BF=97=EF=BC=8C=E5=B9=B6=E4=B8=8D=E6=8A=9B=E5=87=BA=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tyr/server/service/OperateLogService.java | 8 +++++ .../service/impl/OperateLogServiceImpl.java | 36 +++++++++++++++++++ .../impl/SaasRoleUserRelationServiceImpl.java | 7 ++-- 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 tyr-server/src/main/java/cn/axzo/tyr/server/service/OperateLogService.java create mode 100644 tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/OperateLogServiceImpl.java diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/OperateLogService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/OperateLogService.java new file mode 100644 index 00000000..b53ed3e2 --- /dev/null +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/OperateLogService.java @@ -0,0 +1,8 @@ +package cn.axzo.tyr.server.service; + +import cn.axzo.log.platform.client.model.req.LogAddReq; + +public interface OperateLogService { + + void save(LogAddReq param); +} diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/OperateLogServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/OperateLogServiceImpl.java new file mode 100644 index 00000000..fd77ced4 --- /dev/null +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/OperateLogServiceImpl.java @@ -0,0 +1,36 @@ +package cn.axzo.tyr.server.service.impl; + +import cn.axzo.framework.jackson.utility.JSON; +import cn.axzo.log.platform.client.feign.LogApi; +import cn.axzo.log.platform.client.model.req.LogAddReq; +import cn.axzo.tyr.server.service.OperateLogService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.util.concurrent.ExecutorService; + +@Slf4j +@Service +public class OperateLogServiceImpl implements OperateLogService { + + @Autowired + private LogApi logApi; + @Qualifier("asyncExecutor") + @Autowired + private ExecutorService asyncExecutor; + + @Override + public void save(LogAddReq param) { + + try { + // 目前操作日志的记录,不是核心流程,这个方法,不抛出异常,以免影响正常业务流程。 + // 异步处理 + asyncExecutor.submit(() -> logApi.addLog(param)); + } catch (Throwable e) { + log.warn("OperateLogServiceImpl save caught exception, msg = {}, param = {}", + e.getMessage(), JSON.toJSONString(param), e); + } + } +} diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleUserRelationServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleUserRelationServiceImpl.java index 25911e92..50e9da35 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleUserRelationServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasRoleUserRelationServiceImpl.java @@ -15,7 +15,6 @@ import cn.axzo.framework.auth.domain.ContextInfo; import cn.axzo.framework.auth.domain.ContextInfoHolder; import cn.axzo.framework.rocketmq.Event; import cn.axzo.karma.client.model.dto.ProjectWorkBaseDTO; -import cn.axzo.log.platform.client.feign.LogApi; import cn.axzo.log.platform.client.model.req.LogAddReq; import cn.axzo.maokai.api.client.OrganizationalUnitApi; import cn.axzo.maokai.api.vo.response.OrganizationalUnitVO; @@ -51,6 +50,7 @@ import cn.axzo.tyr.server.repository.dao.SaasRoleUserRelationDao; import cn.axzo.tyr.server.repository.entity.SaasRole; import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation; import cn.axzo.tyr.server.repository.mapper.SaasRoleUserRelationMapper; +import cn.axzo.tyr.server.service.OperateLogService; import cn.axzo.tyr.server.service.RoleService; import cn.axzo.tyr.server.service.SaasRoleGroupService; import cn.axzo.tyr.server.service.SaasRoleUserRelationService; @@ -115,7 +115,7 @@ public class SaasRoleUserRelationServiceImpl extends ServiceImpl