梳理操作日志表,提交~

This commit is contained in:
YunaiV
2021-01-16 01:37:46 +08:00
parent 4ab1cf1cd4
commit 7dad85a9d6
11 changed files with 182 additions and 407 deletions

View File

@ -0,0 +1,126 @@
package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.logger;
import cn.iocoder.dashboard.common.pojo.CommonResult;
import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO;
import cn.iocoder.dashboard.modules.system.enums.logger.SysOperateLogTypeEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.Map;
/**
* 操作日志表
*
* @author 芋道源码
*/
@TableName("sys_operate_log")
@Data
@EqualsAndHashCode(callSuper = true)
public class SysOperateLogDO extends BaseDO {
/**
* 日志主键
*/
@TableId
private Long id;
/**
* 链路追踪编号
*
* 一般来说通过链路追踪编号可以将访问日志错误日志链路追踪日志logger 打印日志等,结合在一起,从而进行排错。
*/
private String traceId;
/**
* 操作人
*
* {@link SysUserDO#getId()}
*/
private Long userId;
/**
* 操作模块
*/
private String module;
/**
* 操作名
*/
private String name;
/**
* 操作分类
*
* 枚举 {@link SysOperateLogTypeEnum}
*/
private Integer type;
/**
* 操作内容,记录整个操作的明细
* 例如说,修改编号为 1 的用户信息,将性别从男改成女,将姓名从芋道改成源码。
*
* TODO 预留字段
*/
private String content;
/**
* 拓展字段,有些复杂的业务,需要记录一些字段
* 例如说,记录订单编号,则可以添加 key 为 "orderId"value 为订单编号
*
* TODO 预留字段
*/
@TableField(typeHandler = FastjsonTypeHandler.class)
private Map<String, Object> ext;
/**
* 请求方法名
*/
private String requestMethod;
/**
* 请求地址
*/
private String requestUrl;
/**
* 请求参数
*/
@TableField(typeHandler = FastjsonTypeHandler.class)
private Map<String, Object> requestParams;
/**
* 用户 IP
*/
private String userIp;
/**
* 浏览器 UA
*/
private String userAgent;
/**
* Java 方法名
*/
private String javaMethod;
/**
* 开始时间
*/
private Date startTime;
/**
* 执行时长,单位:毫秒
*/
private Integer duration;
/**
* 结果码
*
* 目前使用的 {@link CommonResult#getCode()} 属性
*/
private Integer resultCode;
/**
* 结果提示
*
* 目前使用的 {@link CommonResult#getMsg()} 属性
*/
private String resultMsg;
/**
* 结果数据
*/
@TableField(typeHandler = FastjsonTypeHandler.class)
private Map<String, Object> resultData;
}

View File

@ -0,0 +1,47 @@
package cn.iocoder.dashboard.modules.system.enums.logger;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 操作日志的操作类型
*
* @author ruoyi
*/
@Getter
@AllArgsConstructor
public enum SysOperateLogTypeEnum {
/**
* 新增
*/
CREATE(1),
/**
* 修改
*/
UPDATE(2),
/**
* 删除
*/
DELETE(3),
/**
* 导出
*/
EXPORT(4),
/**
* 导入
*/
IMPORT(5),
/**
* 其它
*
* 在无法归类时,可以选择使用其它。因为还有操作名可以进一步标识
*/
OTHER(0);
/**
* 类型
*/
private final Integer type;
}