package com.inkasso.adapter.bean;

import com.fasterxml.jackson.annotation.JsonIgnore;

import java.io.Serializable;
import java.util.List;

/**
 * @author 张超
 * @date 2021/10/18
 */
public abstract class AbstractUser implements Serializable {

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

    /**
     * 用户名/账号
     */
    private String userName;

    /**
     * 用户再系统中的名字
     */
    private String name;

    /**
     * 密码
     */
    @JsonIgnore
    private String password;

    /**
     * 该用户拥有的角色集合
     */
    private AbstractRole roles;

    /**
     * 租户id
     */
    private Long tenantId;


    /**
     * 是否是该企业的法人（认证人）
     */
    private Boolean legalPerson;


    /**
     * 资源权限点
     */
    private List<String> resourceCode;

    /**
     * 微信标识
     */
    private String openId;

    /**
     * 资源-->权限code
     */
    private List<String> permissionCode;


    private String phone;

    public Long getId() {
        return id;
    }

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

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    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 AbstractRole getRoles() {
        return roles;
    }

    public void setRoles(AbstractRole roles) {
        this.roles = roles;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Boolean getLegalPerson() {
        return legalPerson;
    }

    public void setLegalPerson(Boolean legalPerson) {
        this.legalPerson = legalPerson;
    }

    public List<String> getResourceCode() {
        return resourceCode;
    }

    public void setResourceCode(List<String> resourceCode) {
        this.resourceCode = resourceCode;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public List<String> getPermissionCode() {
        return permissionCode;
    }

    public void setPermissionCode(List<String> permissionCode) {
        this.permissionCode = permissionCode;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}
