package com.cpop.oam.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 操作日志表Vo输出
 *
 * @author DB.lost
 * @since 2023-05-10
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "SysOperationLog对象", description = "操作日志表")
public class SysOperationLogVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ApiModelProperty("ID")
    private String id;

    /**
     * 用户ID
     */
    @ApiModelProperty("用户ID")
    private String operationUserId;

    /**
     * 操作用户
     */
    @ApiModelProperty("操作用户")
    private String operationUserName;

    /**
     * 操作码
     */
    @ApiModelProperty("操作码")
    private Integer code;

    /**
     * 操作信息
     */
    @ApiModelProperty("操作信息")
    private String info;

    /**
     * 操作终端的IP地址
     */
    @ApiModelProperty("操作终端的IP地址")
    private String devIp;

    /**
     * 结果  -1:失败 1:成功
     */
    @ApiModelProperty("结果  -1:失败 1:成功")
    private Boolean result;

    /**
     * 日志级别,0-提示，1-一般，2-危险，3-高危
     */
    @ApiModelProperty("日志级别,0-提示，1-一般，2-危险，3-高危")
    private Integer level;

    /**
     * 行为类别，1-一般行为，2-异常行为
     */
    @ApiModelProperty("行为类别，1-一般行为，2-异常行为")
    private Integer actionType;

    /**
     * 失败原因
     */
    @ApiModelProperty("失败原因")
    private String failReason;

    /**
     * 操作描述
     */
    @ApiModelProperty("操作描述")
    private String description;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;
}
