package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;

/**
 * 【请填写功能名称】对象 sys_secret_project
 *
 * @author ruoyi
 * @date 2023-11-21
 */
public class SysSecretProject extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    private Long id;

    /**
     * 项目id
     */
    @Excel(name = "项目id")
    private Long projectId;

    /**
     * 过期时间
     */
    @Excel(name = "过期时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate overdueDate;

    /**
     * 状态 （1：正常；2：过期；3：临期（离到期时间7天之内））
     */
    @Excel(name = "状态")
    private Long status;

    /**
     * 标识码
     */
    @Excel(name = "标识码")
    private String secretKey;

    /**
     * 是否校验授权(1:是；0：否)
     */
    private Boolean isSwitch;

    /**
     * 授权认证类型（1：离线认证；2：在线认证；）
     */
    private Long authorityType;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setStatus(Long status) {
        this.status = status;
    }

    public Long getStatus() {
        return status;
    }

    public void setOverdueDate(LocalDate overdueDate) {
        this.overdueDate = overdueDate;
    }

    public LocalDate getOverdueDate() {
        return overdueDate;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setSecretKey(String secretKey) {
        this.secretKey = secretKey;
    }

    public String getSecretKey() {
        return secretKey;
    }

    public void setIsSwitch(Boolean isSwitch) {
        this.isSwitch = isSwitch;
    }

    public Boolean getIsSwitch() {
        return isSwitch;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("projectId", getProjectId())
                .append("overdueDate", getOverdueDate())
                .append("status", getStatus())
                .append("secretKey", getSecretKey())
                .append("isSwitch", getIsSwitch())
                .append("authorityType", getAuthorityType())
                .toString();
    }

    public Long getAuthorityType() {
        return authorityType;
    }

    public void setAuthorityType(Long authorityType) {
        this.authorityType = authorityType;
    }
}
