feat:(feature/REQ-3282) 修改异步记录操作日志,并不抛出异常

This commit is contained in:
李龙 2025-01-15 14:54:57 +08:00
parent c650ed3e10
commit 421bf34dac
3 changed files with 48 additions and 3 deletions

View File

@ -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);
}

View File

@ -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);
}
}
}

View File

@ -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<SaasRoleUserRel
@Autowired
private SaasRoleGroupService saasRoleGroupService;
@Autowired
private LogApi logApi;
private OperateLogService operateLogService;
private static final String TARGET_TYPE = "saasRoleUserRelationId";
@ -262,7 +262,8 @@ public class SaasRoleUserRelationServiceImpl extends ServiceImpl<SaasRoleUserRel
mqProducer.send(event);
}
logApi.addLog(LogAddReq.builder()
operateLogService.save(LogAddReq.builder()
.scene("UPSERT_USER_ROLE")
.level("INFO")
.tags(param.getUserRoles().stream()