package com.qmth.teachcloud.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.teachcloud.common.base.BaseEntity;
import com.qmth.teachcloud.common.enums.userPush.SpecialPrivilegeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * <p>
 * 推送用户异常数据
 * </p>
 *
 * @author wangliang
 * @since 2021-10-29
 */
@ApiModel(value="PushUserError对象", description="推送用户异常数据")
public class PushUserError extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "逸教云系统用户id")
    @JsonSerialize(using = ToStringSerializer.class)
    @TableField("school_id")
    private Long schoolId;

    @ApiModelProperty(value = "逸教云系统用户id")
    @JsonSerialize(using = ToStringSerializer.class)
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty(value = "关联名称（唯一标识）")
    @TableField("account")
    private String account;

    @ApiModelProperty(value = "名称")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "密码")
    @TableField("password")
    private String password;

    @ApiModelProperty(value = "特殊角色权限 MARKER('评卷员权限','Marker','M_'),SUBJECT_HEADER('科组长权限','SubjectHeader','S_')")
    @TableField("role")
    private SpecialPrivilegeEnum role;

    @ApiModelProperty(value = "是否启用")
    @TableField("enable")
    private Boolean enable;

    @ApiModelProperty(value = "科组长关联科目，科目代码用,分割，例如ASC,WED")
    @TableField("subject_codes")
    private String subjectCodes;


    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public Long getUserId() {
        return userId;
    }

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

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public SpecialPrivilegeEnum getRole() {
        return role;
    }

    public void setRole(SpecialPrivilegeEnum role) {
        this.role = role;
    }

    public Boolean getEnable() {
        return enable;
    }

    public void setEnable(Boolean enable) {
        this.enable = enable;
    }

    public String getSubjectCodes() {
        return subjectCodes;
    }

    public void setSubjectCodes(String subjectCodes) {
        this.subjectCodes = subjectCodes;
    }
}
