optimize 框架组件的api尽量用本地实现类,提升执行效率

This commit is contained in:
1351515658@qq.com
2024-07-30 11:33:12 +08:00
parent 77e082c17c
commit 0431201141
5 changed files with 45 additions and 5 deletions

View File

@@ -1,6 +1,8 @@
package cn.iocoder.yudao.framework.operatelog.config;
import cn.hutool.extra.spring.SpringUtil;
import cn.iocoder.yudao.framework.operatelog.core.service.LogRecordServiceImpl;
import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;
import com.mzt.logapi.service.ILogRecordService;
import com.mzt.logapi.starter.annotation.EnableLogRecord;
import lombok.extern.slf4j.Slf4j;
@@ -20,8 +22,15 @@ public class YudaoOperateLogConfiguration {
@Bean
@Primary
public ILogRecordService iLogRecordServiceImpl() {
return new LogRecordServiceImpl();
public ILogRecordService iLogRecordServiceImpl(OperateLogApi operateLogApi) {
// Cloud 专属逻辑:优先使用本地的 operateLogApi 实现类,而不是 Feign 调用
try {
OperateLogApi operateLogApiImpl = SpringUtil.getBean("operateLogApiImpl", OperateLogApi.class);
if (operateLogApiImpl != null) {
operateLogApi = operateLogApiImpl;
}
} catch (Exception ignored) {}
return new LogRecordServiceImpl(operateLogApi);
}
}

View File

@@ -8,8 +8,8 @@ import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;
import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO;
import com.mzt.logapi.beans.LogRecord;
import com.mzt.logapi.service.ILogRecordService;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
@@ -21,11 +21,11 @@ import java.util.List;
*
* @author HUIHUI
*/
@RequiredArgsConstructor
@Slf4j
public class LogRecordServiceImpl implements ILogRecordService {
@Resource
private OperateLogApi operateLogApi;
private final OperateLogApi operateLogApi;
@Override
public void record(LogRecord logRecord) {