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