package com.zd.laboratory.domain;

import com.zd.common.core.valid.ValidGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zd.common.core.annotation.Excel;
import com.zd.common.core.web.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 黑名单对象 lab_blacklist
 *
 * @author zd
 * @date 2021-09-01
 */
@ApiModel("黑名单表")
public class LabBlacklist extends BaseEntity {
    private static final long serialVersionUID = 1L;


    /**
     * 主键id
     */
    @ApiModelProperty("主键id")
    private Long id;

    /**
     * 关联用户id
     */
    @ApiModelProperty(value = "${comment}")
    @Excel(name = "关联用户id")
    @NotNull(groups = ValidGroup.Crud.Create.class, message = "用户ID不能为空！")
    private Long joinUserId;

    /**
     * 黑名单状态（1是，0否）
     */
    @ApiModelProperty("黑名单状态（1是，0否）")
    @Excel(name = "黑名单状态", readConverterExp = "1=是，0否")
    private Integer blacklistStatus;

    /**
     * 处置方案
     */
    @ApiModelProperty("处置方案")
    @NotBlank(groups = ValidGroup.Crud.Create.class, message = "处置方案不能为空！")
    private String penaltyType;

    /**
     * 创建人（用于数据权限）
     */
    @ApiModelProperty("创建人（用于数据权限）")
    @Excel(name = "创建人", readConverterExp = "用=于数据权限")
    private Long userId;

    private String reason;

    private String creditScore;


    public Long getId() {
        return id;
    }

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

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getPenaltyType() {
        return penaltyType;
    }

    public void setPenaltyType(String penaltyType) {
        this.penaltyType = penaltyType;
    }

    public Integer getBlacklistStatus() {
        return blacklistStatus;
    }

    public void setBlacklistStatus(Integer blacklistStatus) {
        this.blacklistStatus = blacklistStatus;
    }

    public void setJoinUserId(Long joinUserId) {
        this.joinUserId = joinUserId;
    }

    public Long getJoinUserId() {
        return joinUserId;
    }


    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getCreditScore() {
        return creditScore;
    }

    public void setCreditScore(String creditScore) {
        this.creditScore = creditScore;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("joinUserId", getJoinUserId())
                .append("blacklistStatus", getBlacklistStatus())
                .append("deptId", getDeptId())
                .append("deptName", getDeptName())
                .append("userId", getUserId())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
