From 13d6c42a4869cec4608f94cc46d2876797916a8f Mon Sep 17 00:00:00 2001 From: puhui999 Date: Tue, 12 Dec 2023 22:42:50 +0800 Subject: [PATCH] 系统操作日志:集成 mzt-biz-log 2 --- yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java | 2 +- yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/config/YudaoOperateLogV2Configuration.java | 39 +-------------------------------------- yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/function/AdminUserParseFunction.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/AdminUserParseFunction.java | 56 -------------------------------------------------------- yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/ILogRecordServiceImpl.java | 8 +++++--- 5 files changed, 65 insertions(+), 98 deletions(-) create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/function/AdminUserParseFunction.java delete mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/AdminUserParseFunction.java diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java index 402cbcb..1418525 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java @@ -135,7 +135,7 @@ public class CrmCustomerServiceImpl implements CrmCustomerService { public void transferCustomer(CrmCustomerTransferReqVO reqVO, Long userId) { // 1. 校验客户是否存在 validateCustomer(reqVO.getId()); - + // 添加 crmCustomer 到日志上下文 LogRecordContext.putVariable("crmCustomer", customerMapper.selectById(reqVO.getId())); // 2.1 数据权限转移 crmPermissionService.transferPermission( diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/config/YudaoOperateLogV2Configuration.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/config/YudaoOperateLogV2Configuration.java index 04fbdef..a74dc34 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/config/YudaoOperateLogV2Configuration.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/config/YudaoOperateLogV2Configuration.java @@ -1,53 +1,16 @@ package cn.iocoder.yudao.module.system.framework.bizlog.config; -import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; -import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; -import cn.iocoder.yudao.module.system.api.user.AdminUserApi; -import cn.iocoder.yudao.module.system.framework.bizlog.service.AdminUserParseFunction; -import cn.iocoder.yudao.module.system.framework.bizlog.service.ILogRecordServiceImpl; -import com.mzt.logapi.beans.Operator; -import com.mzt.logapi.service.IOperatorGetService; import com.mzt.logapi.starter.annotation.EnableLogRecord; -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import java.util.Optional; - /** - * 使用 @Configuration 是因为 mzt-biz-log 的配置类是 @Configuration 的 + * * * @author HUIHUI */ @Configuration(proxyBeanMethods = false) @EnableLogRecord(tenant = "${yudao.info.base-package}") -@Slf4j public class YudaoOperateLogV2Configuration { - //======================= mzt-biz-log ======================= - - @Bean - public ILogRecordServiceImpl iLogRecordServiceImpl(OperateLogApi operateLogApi) { - log.info("ILogRecordServiceImpl 初始化"); - return new ILogRecordServiceImpl(operateLogApi); - } - - @Bean - public IOperatorGetService operatorGetLoginUserIdService() { - // 获取操作用户编号 - return () -> Optional.of(WebFrameworkUtils.getLoginUserId()) - .map(a -> { - Operator operator = new Operator(); - operator.setOperatorId(a.toString()); - return operator; - }) - .orElseThrow(() -> new IllegalArgumentException("user is null")); - } - - @Bean - public AdminUserParseFunction adminUserParseFunction(AdminUserApi adminUserApi) { - return new AdminUserParseFunction(adminUserApi); - } - } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/function/AdminUserParseFunction.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/function/AdminUserParseFunction.java new file mode 100644 index 0000000..5e4d4f2 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/function/AdminUserParseFunction.java @@ -0,0 +1,58 @@ +package cn.iocoder.yudao.module.system.framework.bizlog.function; + +import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.StrUtil; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; +import com.mzt.logapi.service.IParseFunction; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 自定义函数-通过用户编号获取用户信息 + * + * @author HUIHUI + */ +@Slf4j +@Component +public class AdminUserParseFunction implements IParseFunction { + + @Resource + private AdminUserApi adminUserApi; + + @Override + public boolean executeBefore() { + return true; + } + + @Override + public String functionName() { + return "getAdminUserById"; + } + + @Override + public String apply(Object value) { + if (value == null) { + log.warn("(getAdminUserById) 解析异常参数为 null"); + return ""; + } + if (StrUtil.isEmpty(value.toString())) { + log.warn("(getAdminUserById) 解析异常参数为空"); + return ""; + } + + // 获取用户信息 + AdminUserRespDTO user = adminUserApi.getUser(Long.parseLong(value.toString())); + if (user == null) { + log.warn("(getAdminUserById) 获取用户信息失败,参数为:{}", value); + return ""; + } + // 返回格式 芋道源码(13888888888) + String nickname = user.getNickname(); + if (ObjUtil.isNotEmpty(user.getMobile())) { + return nickname.concat("(").concat(user.getMobile()).concat(")"); + } + return nickname; + } +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/AdminUserParseFunction.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/AdminUserParseFunction.java deleted file mode 100644 index d29e3ba..0000000 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/AdminUserParseFunction.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.iocoder.yudao.module.system.framework.bizlog.service; - -import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.util.StrUtil; -import cn.iocoder.yudao.module.system.api.user.AdminUserApi; -import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; -import com.mzt.logapi.service.IParseFunction; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -/** - * 自定义函数-通过用户编号获取用户信息 - * - * @author HUIHUI - */ -@Slf4j -@RequiredArgsConstructor -public class AdminUserParseFunction implements IParseFunction { - - private final AdminUserApi adminUserApi; - - @Override - public boolean executeBefore() { - return true; - } - - @Override - public String functionName() { - return "getAdminUserById"; - } - - @Override - public String apply(Object value) { - if (value == null) { - log.warn("(getAdminUserById) 解析异常参数为 null"); - return ""; - } - if (StrUtil.isEmpty(value.toString())) { - log.warn("(getAdminUserById) 解析异常参数为空"); - return ""; - } - - // 获取用户信息 - AdminUserRespDTO user = adminUserApi.getUser(Long.parseLong(value.toString())); - if (user == null) { - log.warn("(getAdminUserById) 获取用户信息失败,参数为:{}", value); - return ""; - } - // 返回格式 芋道源码(13888888888) - String nickname = user.getNickname(); - if (ObjUtil.isNotEmpty(user.getMobile())) { - return nickname.concat("(").concat(user.getMobile()).concat(")"); - } - return nickname; - } -} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/ILogRecordServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/ILogRecordServiceImpl.java index 2e2c4b5..23584d2 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/ILogRecordServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/bizlog/service/ILogRecordServiceImpl.java @@ -3,8 +3,9 @@ package cn.iocoder.yudao.module.system.framework.bizlog.service; import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; import com.mzt.logapi.beans.LogRecord; import com.mzt.logapi.service.ILogRecordService; -import lombok.RequiredArgsConstructor; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; import java.util.Collections; import java.util.List; @@ -17,10 +18,11 @@ import java.util.List; * @author HUIHUI */ @Slf4j -@RequiredArgsConstructor +@Service public class ILogRecordServiceImpl implements ILogRecordService { - private final OperateLogApi operateLogApi; + @Resource + private OperateLogApi operateLogApi; @Override public void record(LogRecord logRecord) { -- libgit2 0.21.4