package com.app.framework.core.support.auth;

/**
 * 登录用户接口 存入session的登录用户对象必须实现该接口
 */
public interface LoginUser {

    /**
     * 默认密码
     */
    public final static String DEFAULT_PWD = "e10adc3949ba59abbe56e057f20f883e";

    /**
     * 机构(平台方)
     */
    public final static Long ORGANIZATION_SUPER = 0L;

    /**
     * 用户类型(超级管理员)
     */
    public final static Integer TYPE_SUPER = 0;
    /**
     * 用户类型(机构管理员,机构创建时同步创建)
     */
    public final static Integer TYPE_ADMIN = 1;
    /**
     * 用户类型(普通管理员即员工)
     */
    public final static Integer TYPE_EMP = 2;

    /**
     * 获取登录账号Id
     *
     * @return Long
     */
    Long getId();

    /**
     * 获取登录用户姓名
     *
     * @return String
     */
    String getRealName();

    /**
     * 获取登录名
     *
     * @return String
     */
    String getUsername();

    /**
     * 获取用户类型
     */
    Integer getUserType();

    /**
     * 获取所属机构ID
     */
    Long getOrganizationId();
}