package com.smart.module.sys.entity; import com.fasterxml.jackson.annotation.JsonFormat; import com.smart.common.model.PageBean; import lombok.Data; import javax.persistence.*; import java.io.Serializable; import java.sql.Timestamp; /** * sys_log 实体类 */ @Data // Lombok注解,自动生成getter、setter等方法 @Entity // JPA注解,表示该类是一个实体类 @Table(name = "sys_log") // JPA注解,映射到数据库中的sys_log表 public class SysLog extends PageBean implements Serializable { /** * 主键 */ @Id // JPA注解,标识该字段为主键 @GeneratedValue(strategy = GenerationType.IDENTITY) // JPA注解,指定主键生成策略为自增长 @Column(name = "id", nullable = false, length = 20) // JPA注解,映射到数据库表的id字段,设置非空约束和长度限制 private Long id; /** * 用户id */ @Column(name = "user_id", length = 20) // JPA注解,映射到数据库表的user_id字段,设置长度限制 private Long userId; /** * 用户名 */ @Column(name = "username", length = 50) // JPA注解,映射到数据库表的username字段,设置长度限制 private String username; /** * 用户操作 */ @Column(name = "operation", length = 50) // JPA注解,映射到数据库表的operation字段,设置长度限制 private String operation; /** * 响应时间 */ @Column(name = "time", length = 11) // JPA注解,映射到数据库表的time字段,设置长度限制 private Integer time; /** * 请求方法 */ @Column(name = "method", length = 200) // JPA注解,映射到数据库表的method字段,设置长度限制 private String method; /** * 请求参数 */ @Column(name = "params") // JPA注解,映射到数据库表的params字段 private String params; /** * IP地址 */ @Column(name = "ip", length = 64) // JPA注解,映射到数据库表的ip字段,设置长度限制 private String ip; /** * 访问方式 0:PC 1:手机 2:未知 */ @Column(name = "device_type", nullable = false, length = 4) // JPA注解,映射到数据库表的device_type字段,设置非空约束和长度限制 private Short deviceType; /** * 类型 0: 一般日志记录 1: 异常错误日志 */ @Column(name = "log_type", nullable = false, length = 4) // JPA注解,映射到数据库表的log_type字段,设置非空约束和长度限制 private Short logType; /** * 异常详细信息 */ @Column(name = "exception_detail") // JPA注解,映射到数据库表的exception_detail字段 private String exceptionDetail; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // Jackson注解,指定时间格式化的模式和时区 @Column(name = "gmt_create") // JPA注解,映射到数据库表的gmt_create字段 private Timestamp gmtCreate; }