From e0b8a57c0d609fc0aa50ade417ea3d35e55d98c3 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Thu, 28 Apr 2022 09:46:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/annotation/Log.java | 26 +++++++++++ .../organization/entity/LoggerContext.java | 45 +++++++++++++++++++ .../organization/enums/OperateTypeEnum.java | 31 +++++++++++++ .../service/impl/DemoServiceImpl.java | 1 - .../engine/organization/util/LogAspect.java | 40 +++++++++++++++++ 5 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 src/com/engine/organization/annotation/Log.java create mode 100644 src/com/engine/organization/entity/LoggerContext.java create mode 100644 src/com/engine/organization/enums/OperateTypeEnum.java create mode 100644 src/com/engine/organization/util/LogAspect.java diff --git a/src/com/engine/organization/annotation/Log.java b/src/com/engine/organization/annotation/Log.java new file mode 100644 index 00000000..d11c3bcd --- /dev/null +++ b/src/com/engine/organization/annotation/Log.java @@ -0,0 +1,26 @@ +package com.engine.organization.annotation; + +import java.lang.annotation.*; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/27 + * @Version V1.0 + **/ + +@Target({ElementType.PARAMETER, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface Log { + + /** + * 操作事件 + */ + String value(); + + /** + * 字段组装描述内容 + */ + String description() default ""; +} diff --git a/src/com/engine/organization/entity/LoggerContext.java b/src/com/engine/organization/entity/LoggerContext.java new file mode 100644 index 00000000..a0928534 --- /dev/null +++ b/src/com/engine/organization/entity/LoggerContext.java @@ -0,0 +1,45 @@ +package com.engine.organization.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author weaver_cl + * @Description: TODO 日志实体类 hr_log + * @Date 2022/4/27 + * @Version V1.0 + **/ + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class LoggerContext implements Serializable { + + private static final long serialVersionUID = 15869325700230992L; + + //日志ID + private long id; + + //操作人 + private String operator; + + //操作人姓名 + private String operatorName; + + // '操作时间(yyyy-MM-dd HH:mm:ss)' + @JSONField(format="yyyy-MM-dd HH:mm:ss") + private Date operTime; + + private Integer operateType; + + + + +} diff --git a/src/com/engine/organization/enums/OperateTypeEnum.java b/src/com/engine/organization/enums/OperateTypeEnum.java new file mode 100644 index 00000000..b8b1505e --- /dev/null +++ b/src/com/engine/organization/enums/OperateTypeEnum.java @@ -0,0 +1,31 @@ +package com.engine.organization.enums; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/28 + * @Version V1.0 + **/ +public enum OperateTypeEnum { + + ADD("1", "新增"), + UPDATE("2", "更新"), + DELETE("4", "删除"); + + private String value; + + private String label; + + OperateTypeEnum(String value, String label) { + this.value = value; + this.label = label; + } + + public String getValue() { + return value; + } + + public String getLabel() { + return label; + } +} diff --git a/src/com/engine/organization/service/impl/DemoServiceImpl.java b/src/com/engine/organization/service/impl/DemoServiceImpl.java index 5a2e857d..2fb0856c 100644 --- a/src/com/engine/organization/service/impl/DemoServiceImpl.java +++ b/src/com/engine/organization/service/impl/DemoServiceImpl.java @@ -6,7 +6,6 @@ import com.engine.organization.mapper.DemoMapper; import com.engine.organization.service.DemoService; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; -import com.engine.organization.wrapper.DemoWrapper; import java.util.List; diff --git a/src/com/engine/organization/util/LogAspect.java b/src/com/engine/organization/util/LogAspect.java new file mode 100644 index 00000000..9d982752 --- /dev/null +++ b/src/com/engine/organization/util/LogAspect.java @@ -0,0 +1,40 @@ +package com.engine.organization.util; + +import com.engine.organization.annotation.Log; + +import java.lang.reflect.Method; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/27 + * @Version V1.0 + **/ +public class LogAspect { + + Class clazz; + + Method method; + + public LogAspect(Class clazz,Method method) { + this.clazz = clazz; + this.method = method; + } + + public void start() { + try { + boolean f = method.isAnnotationPresent(Log.class); + + if (f) { + Log annotation = method.getAnnotation(Log.class); + String value = annotation.value(); + String description = annotation.description(); + } + + Method[] methods = clazz.getMethods(); + + } catch (Exception e) { + + } + } +}