package cn.axzo.msg.center.common.manager;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 账号
 *
 * @author liuyang
 * @date 2020/6/11
 **/
@Data
public class AcctPrincipalRes {

    /**
     * 平台
     */
    public final static String TERMINAL_PLAT = "plat";
    /**
     * 企业
     */
    public final static String TERMINAL_ENT = "ent";
    /**
     * 项目
     */
    public final static String TERMINAL_PROJ = "proj";
    /**
     * 从业人员
     */
    public final static String TERMINAL_CMP = "cmp";

    /**
     * 工匠
     */
    public final static String TERMINAL_CM = "cm";
    public final static String TERMINAL_CM_LEADER = "cm_leader";
    public final static String TERMINAL_CM_WORKER = "cm_worker";

    //region add 3d
    /**
     * old: id
     * new: persionId
     */
    protected long id;

    /**
     * 账号id
     */
    private Long accountId;
    /**
     * 身份id
     */
    private Long userId;
    //endregion

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 人脸地址
     */
    private String faceUrl;
    /**
     * 性别
     */
    private String sex;
    /**
     * 生日
     */
    private String birthday;
    /**
     * 查询 - 名字首拼
     */
    private String query;
    /**
     * 手机号
     */
    private String phoneNumber;
    /**
     * 验证状态
     */
    private Integer verifiedStatus;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 密码
     */
    private String password;

    /**
     * 是否锁定
     */
    private Boolean isLock;

    /**
     * 当前终端
     */
    private String terminal;

    /**
     * 角色集
     */
    private List<String> roles;

    public AcctPrincipalRes() {
        roles = new ArrayList<>();
    }
//
//    @Override
//    public Collection<? extends GrantedAuthority> getAuthorities() {
//        return Collections.EMPTY_LIST;
//    }
//
//    @Override
//    public String getPassword() {
//        return password;
//    }
//
//    @Override
//    public String getUsername() {
//        return String.valueOf(id);
//    }
//
//    @Override
//    public boolean isAccountNonExpired() {
//        return true;
//    }
//
//    @Override
//    public boolean isAccountNonLocked() {
//        return true;
//    }
//
//    @Override
//    public boolean isCredentialsNonExpired() {
//        return true;
//    }
//
//    @Override
//    public boolean isEnabled() {
//        return true;
//    }
}
