package com.jiayue.ssi.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 安全策略表
 *
 * @author xsl
 * @version 3.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "sys_policy")
public class SysPolicy extends BaseEntity{
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 登录失败次数限制（1-10次）
     */
    private Integer loginFails;
    /**
     * 登录失败锁定时长（至少20分钟）
     */
    private Integer loginLock;
    /**
     * 扫描未使用的账号（单位：月）
     */
    private Integer scanAccount;
    /**
     * 并发会话数设置（单位：个）
     */
    private Integer bfhhs;
    /**
     * 非活动状态时登出系统（单位：分钟）
     */
    private Integer inactiveLogout;
    /**
     * 审计日志保留月数
     */
    private Integer auditLog;
    /**
     * 审计日志保留月数
     */
    private Float auditLogBakCapAlarm;
    /**
     * 日志存储空间过低报警
     */
    private Integer logSpaceWarn;
    /**
     * 内存检测小于百分几之报警
     */
    private Integer memoryWarn;
    /**
     * 密码规则，多个规则用逗号分隔
     */
    private String passwordRule;
    /**
     * 连续登录失败异常级别设置（0:A 1:B两个级别）
     */
    private String excLevelLogin;
    /**
     * 同一用户多点登录异常级别设置（0:A 1:B两个级别）
     */
    private String excLevelSameUser;
    /**
     * 越权访问异常级别（0:A 1:B两个级别）
     */
    private String unauthorizedAccessExceptionLevel;
    /**
     * IP地址异常级别（0:A 1:B两个级别）
     */
    private String ipAddressExceptionLevel;
    /**
     * 异常A级别通知方式（0邮件 1告警）
     */
    private String excNoticeWayA;
    /**
     * 异常B级别通知方式（0邮件 1告警）
     */
    private String excNoticeWayB;
    /**
     * 可审计事件(0-NWP;1-DQ)
     */
    @TableField(value = "auditable_event",fill = FieldFill.INSERT_UPDATE)
    private String auditableEvent;

    //乐观锁
    @Version
    private Integer version;
}
