12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package com.szwl.annotation;
- import com.szwl.constant.AuditEnum;
- import java.lang.annotation.*;
- /**
- * 审计日志
- *
- * @author wuhs
- * @date 2022-05-17 11:40
- */
- @Target({ElementType.METHOD})
- @Retention(RetentionPolicy.RUNTIME)
- @Documented
- public @interface Audit {
- /**
- * 日志内容,支持SPEL,使用 #作为标识符
- * 使用说明:
- * 一、获取登录用户:
- * 1、#loginUser 即可获取登录的DefaultUserDetails对象,如果使用了@IgnoreToken,则获取到一个new DefaultUserDetails()
- *
- * 二、获取方法参数:
- * 1、接口参数为int、String等基本数据类型的,参数名为id,直接使用 #id则可以获取到值
- * 2、接口参数为对象的,如 #obj.propertyA、#obj.propertyB
- *
- * 三、获取方法返回值对象:
- * 1、#returnObj 为该方法的返回值对象
- *
- * 四、引用Bean
- * 1、使用@beanId可以获取spring中注册了的bean,例如:@sysUserServiceImpl.getById(#loginUser.userId)可以获取到SysUserService对象,使用里面的方法
- *
- * 五、综合使用:
- * 1、@Audit(content = "#loginUser.userRealName + '禁用了用户' + #banUserId")
- * 解析结果为:测试用户禁用了用户202205180000001
- * 2、@Audit(content = "#loginUser.userRealName + '给用户组[' + @sysUserGroupServiceImpl.getById(#req.userGroupId).userGroupName + ']添加了用户:' + #req.userIds")
- * 解析结果为:张三给用户组[测试组]添加了用户:202109151538040291a2d37fb9ef641398
- */
- String content();
- /**
- * 业务编号,支持SPEL
- */
- String bizNo() default "";
- /**
- * 业务类型
- */
- AuditEnum type();
- }
|