| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- package com.xuekairui.user.entity;
- import com.baomidou.mybatisplus.annotation.*;
- import com.xuekairui.user.enums.AuditResult;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- import lombok.AllArgsConstructor;
- import lombok.Builder;
- import java.time.LocalDateTime;
- /**
- * 操作审计日志实体
- *
- * 记录运营和用户的所有关键操作,用于审计、追溯和问题排查
- */
- @Data
- @NoArgsConstructor
- @AllArgsConstructor
- @Builder
- @TableName("t_operation_audit_log")
- public class OperationAuditLog {
- /** 主键ID */
- @TableId(type = IdType.ASSIGN_ID)
- private Long id;
- /** 操作人ID(用户ID或运营人员ID) */
- private Long operatorId;
- /** 操作人姓名/昵称 */
- private String operatorName;
- /** 操作人角色:USER-普通用户 ADMIN-运营人员 SUPER_ADMIN-超级管理员 */
- private String operatorRole;
- /** 操作时间 */
- @Builder.Default
- private LocalDateTime operationTime = LocalDateTime.now();
- /** 操作IP地址 */
- private String ipAddress;
- /** 操作设备信息(User-Agent) */
- private String userAgent;
- /** 操作模块:USER-用户管理 LEVEL-等级配置 PLATFORM-平台配置 LICENSE-入驻信息 INVITE-邀请系统 COUPON-优惠券 SYSTEM-系统管理 */
- private String module;
- /** 操作类型(见OperationType枚举) */
- private String operationType;
- /** 操作来源:ADMIN_CREATE-管理员新增 USER_SUBMIT-用户自主提交 EXTERNAL-外部系统(见 OperationSource 枚举) */
- private String operationSource;
- /** 操作描述(中文描述,便于阅读) */
- private String description;
- /** 目标对象类型:USER-用户 LEVEL_CONFIG-等级配置 PLATFORM-平台 ACCOUNT-账号 LICENSE-执照 */
- private String targetType;
- /** 目标对象ID */
- private Long targetId;
- /** 目标对象标识(如:用户名、版本号等) */
- private String targetIdentifier;
- /** 操作前的数据快照(JSON格式) */
- private String beforeData;
- /** 操作后的数据快照(JSON格式) */
- private String afterData;
- /** 操作结果:SUCCESS-成功 FAILED-失败 PARTIAL-部分成功(见 AuditResult 枚举) */
- @Builder.Default
- private String result = AuditResult.SUCCESS.getCode();
- /** 错误信息(操作失败时记录) */
- private String errorMessage;
- /** 请求URL */
- private String requestUrl;
- /** 请求方法:GET/POST/PUT/DELETE */
- private String requestMethod;
- /** 请求参数(JSON格式,敏感信息脱敏) */
- private String requestParams;
- /** 响应状态码 */
- private Integer responseCode;
- /** 耗时(毫秒) */
- private Long duration;
- /** 备注说明 */
- private String remark;
- /** 是否敏感操作(需要特别关注) */
- @Builder.Default
- private Boolean isSensitive = false;
- /** 创建时间 */
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
- }
|