package com.sy.coinage.log.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 系统操作记录实体类
 */
@Data
@EqualsAndHashCode(callSuper = false)

@TableName("sys_operate_log")
@ApiModel(value = "系统操作记录对象", description = "系统操作记录")
public class OperateLog implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键 -10
     */
    @ApiModelProperty(value = "自增主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 操作状态 1成功 2失败 -3
     */
    @ApiModelProperty(value = "操作状态 1成功 2失败")
    @TableField(value = "status")
    private Integer status;

    /**
     * 请求方式 1普通方式 2ajax -3
     */
    @ApiModelProperty(value = "请求方式 1普通方式 2ajax")
    @TableField(value = "type")
    private Integer type;

    /**
     * 请求方式(post,get等) -7
     */
    @ApiModelProperty(value = "请求方式(post,get等) ")
    @TableField(value = "way")
    private String way;

    /**
     * 用户id -10
     */
    @ApiModelProperty(value = "用户id")
    @TableField(value = "user_id")
    private Integer userId;

    /**
     * 姓名 -10
     */
    @ApiModelProperty(value = "姓名")
    @TableField(value = "real_name")
    private String realName;

    /**
     * 请求ip -15
     */
    @ApiModelProperty(value = "请求ip")
    @TableField(value = "ip")
    private String ip;

    /**
     * 请求操作名 -20
     */
    @ApiModelProperty(value = "请求操作名")
    @TableField(value = "name")
    private String name;

    /**
     * 请求开始时间 -19
     */
    @ApiModelProperty(value = "请求开始时间")
    @TableField(value = "start_time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 请求结束时间 -19
     */
    @ApiModelProperty(value = "请求结束时间")
    @TableField(value = "return_time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date returnTime;

    /**
     * 请求地址 -32
     */
    @ApiModelProperty(value = "请求地址")
    @TableField(value = "url")
    private String url;

    /**
     * 请求执行的类名:方法名 -32
     */
    @ApiModelProperty(value = "请求执行的类名:方法名")
    @TableField(value = "class_name")
    private String className;

    /**
     * 请求参数json -65535
     */
    @ApiModelProperty(value = "请求参数json")
    @TableField(value = "param")
    private String param;

    /**
     * 错误信息 -65535
     */
    @ApiModelProperty(value = "错误信息")
    @TableField(value = "err_msg")
    private String errMsg;

    /**
     * 租户id -10
     */
    @ApiModelProperty(value = "租户id")
    @TableField(value = "tenant_id")
    private Integer tenantId;

}
