diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index da0c4e735..4c1e671a3 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -26,7 +26,7 @@
3.5.4.1
3.5.4.1
4.2.0
- 1.4.7.2
+ 1.4.8.1
3.25.0
8.1.3.62
diff --git a/yudao-framework/yudao-spring-boot-starter-biz-operatelog/pom.xml b/yudao-framework/yudao-spring-boot-starter-biz-operatelog/pom.xml
index 5792b4cb4..51ea2e04f 100644
--- a/yudao-framework/yudao-spring-boot-starter-biz-operatelog/pom.xml
+++ b/yudao-framework/yudao-spring-boot-starter-biz-operatelog/pom.xml
@@ -46,6 +46,13 @@
com.google.guava
guava
+
+
+
+ io.github.mouzt
+ bizlog-sdk
+
+
diff --git a/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/config/YudaoOperateLogAutoConfiguration.java b/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/config/YudaoOperateLogAutoConfiguration.java
index 441ec6bbd..0f4f48eeb 100644
--- a/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/config/YudaoOperateLogAutoConfiguration.java
+++ b/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/config/YudaoOperateLogAutoConfiguration.java
@@ -1,23 +1,18 @@
package cn.iocoder.yudao.framework.operatelog.config;
-import cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect;
-import cn.iocoder.yudao.framework.operatelog.core.service.OperateLogFrameworkService;
-import cn.iocoder.yudao.framework.operatelog.core.service.OperateLogFrameworkServiceImpl;
-import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;
import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.context.annotation.Bean;
@AutoConfiguration
public class YudaoOperateLogAutoConfiguration {
- @Bean
- public OperateLogAspect operateLogAspect() {
- return new OperateLogAspect();
- }
-
- @Bean
- public OperateLogFrameworkService operateLogFrameworkService(OperateLogApi operateLogApi) {
- return new OperateLogFrameworkServiceImpl(operateLogApi);
- }
+ //@Bean
+ //public OperateLogAspect operateLogAspect() {
+ // return new OperateLogAspect();
+ //}
+ //
+ //@Bean
+ //public OperateLogFrameworkService operateLogFrameworkService(OperateLogApi operateLogApi) {
+ // return new OperateLogFrameworkServiceImpl(operateLogApi);
+ //}
}
diff --git a/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelogv2/config/YudaoOperateLogV2Configuration.java b/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelogv2/config/YudaoOperateLogV2Configuration.java
new file mode 100644
index 000000000..a7aa3a379
--- /dev/null
+++ b/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelogv2/config/YudaoOperateLogV2Configuration.java
@@ -0,0 +1,33 @@
+package cn.iocoder.yudao.framework.operatelogv2.config;
+
+import cn.iocoder.yudao.framework.operatelogv2.core.aop.OperateLogV2Aspect;
+import cn.iocoder.yudao.framework.operatelogv2.core.service.ILogRecordServiceImpl;
+import com.mzt.logapi.service.ILogRecordService;
+import com.mzt.logapi.starter.annotation.EnableLogRecord;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Primary;
+
+/**
+ * mzt-biz-log 配置类
+ *
+ * @author HUIHUI
+ */
+@EnableLogRecord(tenant = "") // 貌似用不上 tenant 这玩意给个空好啦
+@AutoConfiguration
+@Slf4j
+public class YudaoOperateLogV2Configuration {
+
+ @Bean
+ @Primary
+ public ILogRecordService iLogRecordServiceImpl() {
+ return new ILogRecordServiceImpl();
+ }
+
+ @Bean
+ public OperateLogV2Aspect operateLogV2Aspect() {
+ return new OperateLogV2Aspect();
+ }
+
+}
diff --git a/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelogv2/core/aop/OperateLogV2Aspect.java b/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelogv2/core/aop/OperateLogV2Aspect.java
new file mode 100644
index 000000000..a4129c37c
--- /dev/null
+++ b/yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelogv2/core/aop/OperateLogV2Aspect.java
@@ -0,0 +1,329 @@
+package cn.iocoder.yudao.framework.operatelogv2.core.aop;
+
+import cn.hutool.core.date.LocalDateTimeUtil;
+import cn.hutool.core.exceptions.ExceptionUtil;
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.util.ObjUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
+import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils;
+import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
+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.logger.dto.OperateLogV2CreateReqDTO;
+import com.google.common.collect.Maps;
+import com.mzt.logapi.beans.LogRecord;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.core.annotation.AnnotationUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Array;
+import java.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Predicate;
+import java.util.stream.IntStream;
+
+import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
+import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.SUCCESS;
+import static cn.iocoder.yudao.framework.operatelogv2.core.enums.OperateLogV2Constants.*;
+
+/**
+ * 拦截使用 @Operation 注解, 获取操作类型、开始时间、持续时间、方法相关信息、执行结果等信息
+ * 对 mzt-biz-log 日志信息进行增强
+ *
+ * @author HUIHUI
+ */
+@Aspect
+@Slf4j
+public class OperateLogV2Aspect {
+
+ /**
+ * 用于记录操作内容的上下文
+ *
+ * @see OperateLogV2CreateReqDTO#getContent()
+ */
+ private static final ThreadLocal CONTENT = new ThreadLocal<>();
+ /**
+ * 用于记录拓展字段的上下文
+ *
+ * @see OperateLogV2CreateReqDTO#getExtra()
+ */
+ private static final ThreadLocal