操作日志-处理流程

简介: `@Log` 是一个自定义操作日志注解,用于记录系统操作信息。可指定模块标题、业务类型、操作人类型,并支持是否保存请求/响应参数及排除敏感字段,适用于管理类操作的日志追踪。

package com.ruoyi.common.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.OperatorType;

/**

  • 自定义操作日志记录注解
  • @author ruoyi
    /
    @Target({ ElementType.PARAMETER, ElementType.METHOD })
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    public @interface Log
    {
    /**

    • 模块
      */
      public String title() default "";

      /**

    • 功能
      */
      public BusinessType businessType() default BusinessType.OTHER;

      /**

    • 操作人类别
      */
      public OperatorType operatorType() default OperatorType.MANAGE;

      /**

    • 是否保存请求的参数
      */
      public boolean isSaveRequestData() default true;

      /**

    • 是否保存响应的参数
      */
      public boolean isSaveResponseData() default true;

      /**

    • 排除指定的请求参数
      */
      public String[] excludeParamNames() default {};
      }
相关文章
|
20小时前
4 多对多
通过引入第三方类UserForDept关联用户与部门,实现多对多映射。在User和Dept类中分别添加对方集合,并在mapper.xml中配置collection关联UsersForDept,便于灵活管理多部门与多用户间的关系,适用于复杂权限场景。(236字)
|
20小时前
|
存储 NoSQL MongoDB
4.2.3 其他索引
MongoDB提供地理空间索引支持平面与球面查询,文本索引实现高效字符串搜索并提取词干,哈希索引则用于散列分片,仅支持等值匹配,提升数据分布随机性。
|
20小时前
2.映射关系(1-1 1-n n-n)
一对一通过ResultMap实现属性与字段映射,解决命名不一致问题;一对多需在“一”方添加集合属性,并在resultMap中使用<collection>标签映射关联对象,如用户与角色关系。
|
20小时前
3.5 文档的分页查询
统计查询使用count()方法,可统计集合中符合条件的记录数量。语法为db.collection.count(query, options)。如统计comment集合全部记录:db.comment.count();按条件统计userid为1003的记录数:db.comment.count({userid:"1003"})。默认返回所有匹配文档的数量。
|
20小时前
|
存储 NoSQL 关系型数据库
4-MongoDB索引知识
MongoDB索引通过B树结构提升查询效率,避免全表扫描。支持单字段和复合索引,前者适用于单一字段排序与查询,后者按字段顺序构建,优化多条件查询与排序操作,显著提升大数据量下的查询性能。
|
20小时前
3.5.3 排序查询
sort()方法用于对查询结果排序,1为升序,-1为降序,可按多字段排序。语法:db.集合名.find().sort({字段:1/-1})。与skip()、limit()联用时,执行顺序为先排序,再跳过,最后限制显示。
|
1天前
|
安全 Java 大数据
ArrayList扩容机制
初始化Map应避免容量设置不当,推荐使用Guava的`newHashMapWithExpectedSize`或手动计算初始容量。禁止使用`Executors`创建线程池,易因无界队列或过多线程引发OOM,应显式通过`ThreadPoolExecutor`构建,推荐结合Guava设置命名线程工厂。`Arrays.asList`返回不可变列表,禁止修改操作;遍历Map时优先使用`entrySet`提升性能;`SimpleDateFormat`非线程安全,建议用`ThreadLocal`隔离或JDK8新时间API;并发更新记录需加锁,推荐乐观锁(version控制),冲突率低时重试不少于3次。
|
20小时前
|
存储 NoSQL Linux
2.4 Linux系统中的安装启动和连接
本文介绍在Linux系统部署单机MongoDB用于生产环境的完整步骤,包括下载、解压、目录配置、日志与数据路径设置、配置文件编写及服务启停方法。操作类似Windows,通过配置`mongod.conf`实现后台运行,支持命令行与图形工具连接,并提供防火墙处理与安全关闭服务方案,确保稳定运行。
|
20小时前
|
NoSQL MongoDB
3.4.4 删除文档
MongoDB中删除文档使用`db.集合名称.remove(条件)`语法。如`db.comment.remove({})`将清空集合,慎用;删除指定_id的记录如`db.comment.remove({_id:"1"})`,按条件精准删除数据。
|
20小时前
|
NoSQL MongoDB
3.4.3 文档的更新
MongoDB update语法用于修改集合中的文档,支持覆盖更新与局部更新。使用`$set`可避免字段丢失,`multi: true`实现批量修改,`$inc`则用于数值增减。注意指定查询条件与选项,确保数据准确更新。(238字)