package com.securitycontrol.system.api.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

import com.securitycontrol.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 操作日志记录表 oper_log
 *
 * @author czc
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SysOperLog extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 日志主键
     */
    private Long operId;

    /**
     * 用户身份（角色名称）
     */
    private String roleName;

    /**
     * 操作人员
     */
    private String operName;

    /**
     * 操作类型
     */
    private String grade;

    /**
     * 日志类型（1-系统日志，2-业务日志，3-审计日志，4-运行日志）
     */
    private String logType;

    /**
     * 操作模块
     */
    private String title;

    /**
     * 业务类型（0查询 1新增 2修改 3删除 4授权 5导出 6导入 7强退 8生成代码 9清空数据）
     */
    private Integer businessType;

    /**
     * 请求方法
     */
    private String method;

    /**
     * 操作详情
     */
    private String detail;

    /**
     * 请求方式（请求类方法）
     */
    private String requestMethod;

    /**
     * 操作类别（0其它 1后台用户 2手机端用户）
     */
    private Integer operatorType;

    /**
     * 响应时间，单位毫秒
     */
    private Long logTime;

    /**
     * 部门名称(所属单位)
     */
    private String deptName;

    /**
     * 请求url
     */
    private String operUrl;

    /**
     * 操作地址
     */
    private String operIp;

    /**
     * 请求参数
     */
    private String operParam;

    /**
     * 返回参数
     */
    private String jsonResult;

    /**
     * 操作状态（0正常 1异常）
     */
    private Integer status;

    /**
     * 错误消息
     */
    private String errorMsg;

    /**
     * 时间
     */
    private String times;

    /**
     * 操作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operTime;

    /**
     * 是否记录日志
     */
    private Boolean isLog;

    /**
     * 系统版本
     */
    private String sysVersion;

    /**
     * 所属菜单
     */
    private String sysMenu;

    /**
     * 系统名称
     */
    private String sysName;

    /**
     * 系统结束时间
     */
    private String endTime;

}
