From 6b0823675eec641c14a4eaaa6974b4217774eea3 Mon Sep 17 00:00:00 2001 From: zengchenxi Date: Tue, 16 Jan 2024 12:47:15 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E3=80=91=E5=A2=9E=E5=8A=A0=E4=B8=9A=E5=8A=A1=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E4=B8=8Eid=20=E4=BB=A5=E6=94=AF=E6=8C=81=E6=9B=B4=E5=A4=9A?= =?UTF-8?q?=E7=9A=84=E4=B8=9A=E5=8A=A1=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/annotations/OperateLog.java | 8 ++++++ .../operatelog/core/aop/OperateLogAspect.java | 13 +++++++-- .../core/enums/OperateTypeEnum.java | 28 +++++++++++++++++++ .../operatelog/core/service/OperateLog.java | 9 +++++- .../logger/dto/OperateLogCreateReqDTO.java | 9 +++++- 5 files changed, 63 insertions(+), 4 deletions(-) diff --git a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/annotations/OperateLog.java b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/annotations/OperateLog.java index 75b5001a..d8ddce32 100644 --- a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/annotations/OperateLog.java +++ b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/annotations/OperateLog.java @@ -38,6 +38,14 @@ public @interface OperateLog { * 实际并不是数组,因为枚举不能设置 null 作为默认值 */ OperateTypeEnum[] type() default {}; + /** + * 业务类型 + */ + String businessType() default ""; + /** + * 业务类型id + */ + long businessId() default 0L; // ========== 开关字段 ========== diff --git a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/aop/OperateLogAspect.java b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/aop/OperateLogAspect.java index f1981f6c..694ab3a4 100644 --- a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/aop/OperateLogAspect.java +++ b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/aop/OperateLogAspect.java @@ -88,11 +88,11 @@ public class OperateLogAspect { private Object around0(ProceedingJoinPoint joinPoint, com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog operateLog, Operation operation) throws Throwable { - // 目前,只有管理员,才记录操作日志!所以非管理员,直接调用,不进行记录 + /*// 目前,只有管理员,才记录操作日志!所以非管理员,直接调用,不进行记录 Integer userType = WebFrameworkUtils.getLoginUserType(); if (!Objects.equals(userType, UserTypeEnum.ADMIN.getValue())) { return joinPoint.proceed(); - } + }*/ // 记录开始时间 LocalDateTime startTime = LocalDateTime.now(); @@ -159,11 +159,20 @@ public class OperateLogAspect { fillRequestFields(operateLogObj); // 补全方法信息 fillMethodFields(operateLogObj, joinPoint, operateLog, startTime, result, exception); + // 补全业务信息 + fillBusinessFields(operateLogObj, operateLog); // 异步记录日志 operateLogFrameworkService.createOperateLog(operateLogObj); } + private static void fillBusinessFields(OperateLog operateLogObj, com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog operateLog) { + if(operateLog != null){ + operateLogObj.setBusinessType(operateLog.businessType()) + .setBusinessId(operateLog.businessId()); + } + } + private static void fillUserFields(OperateLog operateLogObj) { operateLogObj.setUserId(WebFrameworkUtils.getLoginUserId()); operateLogObj.setUserType(WebFrameworkUtils.getLoginUserType()); diff --git a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/enums/OperateTypeEnum.java b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/enums/OperateTypeEnum.java index 608119c1..70198a87 100644 --- a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/enums/OperateTypeEnum.java +++ b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/enums/OperateTypeEnum.java @@ -40,6 +40,34 @@ public enum OperateTypeEnum { * 导入 */ IMPORT(6), + /* + * 保存 + * */ + SAVE(7), + /* + * 送审 + * */ + SUBMIT_AUDIT(8), + /* + * 审核 + * */ + AUDIT(9), + /* + * 批准 + * */ + APPROVE(10), + /* + * 打回 + * */ + REPULSE(11), + /* + * 变更 + * */ + ALTER(12), + /* + * 终止 + * */ + TERMINATE(13), /** * 其它 * diff --git a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/service/OperateLog.java b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/service/OperateLog.java index 955a1780..01ff2759 100644 --- a/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/service/OperateLog.java +++ b/mes-framework/mes-spring-boot-starter-biz-operatelog/src/main/java/com/chanko/yunxi/mes/framework/operatelog/core/service/OperateLog.java @@ -17,7 +17,14 @@ public class OperateLog { * 链路追踪编号 */ private String traceId; - + /** + * 业务类型 用于业务关联 + */ + private String businessType; + /** + * 业务id + */ + private Long businessId; /** * 用户编号 */ diff --git a/mes-module-system/mes-module-system-api/src/main/java/com/chanko/yunxi/mes/module/system/api/logger/dto/OperateLogCreateReqDTO.java b/mes-module-system/mes-module-system-api/src/main/java/com/chanko/yunxi/mes/module/system/api/logger/dto/OperateLogCreateReqDTO.java index 1d2546eb..6bf4584b 100644 --- a/mes-module-system/mes-module-system-api/src/main/java/com/chanko/yunxi/mes/module/system/api/logger/dto/OperateLogCreateReqDTO.java +++ b/mes-module-system/mes-module-system-api/src/main/java/com/chanko/yunxi/mes/module/system/api/logger/dto/OperateLogCreateReqDTO.java @@ -17,7 +17,14 @@ public class OperateLogCreateReqDTO { * 链路追踪编号 */ private String traceId; - + /** + * 业务类型 用于业务关联 + */ + private String businessType; + /** + * 业务id + */ + private Long businessId; /** * 用户编号 */