package com.hzs.common.domain.system.sys;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 操作日志
 *
 * @author hzs
 * @since 2022-09-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@KeySequence("SYS_OPERATION_LOG_SEQ")
@TableName("SYS_OPERATION_LOG")
public class SysOperationLog implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("PK_ID")
    private Long pkId;

    /**
     * 操作用户ID
     */
    @TableField("USER_ID")
    private Long userId;

    /**
     * 操作时间
     */
    @Excel(name = "操作时间", sort = 6, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("OPERATION_TIME")
    private Date operationTime;

    /**
     * 操作菜单
     */
    @Excel(name = "菜单", sort = 2)
    @TableField("OPERATION_MODULE")
    private String operationModule;

    /**
     * 操作方法
     */
    @Excel(name = "操作功能", sort = 4)
    @TableField("OPERATION_METHOD")
    private String operationMethod;

    /**
     * 操作参数
     */
    @Excel(name = "操作内容", sort = 5)
    @TableField("OPERATION_PARAM")
    private String operationParam;

    /**
     * 地址
     */
    @Excel(name = "IP地址", sort = 7)
    @TableField("IPADDR")
    private String ipaddr;

    /**
     * 请求URI
     */
    @TableField("URI")
    private String uri;

    /**
     * 备注说明
     */
    @TableField("REMARK")
    private String remark;

    /**
     * 操作业务
     */
    @Excel(name = "业务类型", sort = 3)
    @TableField("OPERATION_BUSINESS")
    private String operationBusiness;

    /**
     * 所属国家
     */
    @TableField("PK_COUNTRY")
    private String pkCountry;

}
