package com.sckw.core.model.auth.context;

import com.sckw.core.model.auth.LoginEnterpriseInfo;

/**
 * 当前登录用户企业的临时保存容器
 * @Author zhaokang
 * @date 2020/04/13 0021
 */
public class LoginEnterpriseHolder {
    private static final ThreadLocal<LoginEnterpriseInfo> LONGIN_ENTERPRISE_HOLDER = new ThreadLocal<LoginEnterpriseInfo>();

    /**
     * 赋值
     * @author zhaokang
     * @Date 2020/04/13 0021
     */
    public static void set(LoginEnterpriseInfo loginEnterpriseInfo) {
        LONGIN_ENTERPRISE_HOLDER.set(loginEnterpriseInfo);
    }

    /**
     * 取值
     * @author zhaokang
     * @Date 2020/04/13 0021
     */
    public static LoginEnterpriseInfo get() {
        return LONGIN_ENTERPRISE_HOLDER == null ? null : LONGIN_ENTERPRISE_HOLDER.get();
    }

    /**
     * 删除保存的用户
     * @author zhaokang
     * @Date 2020/04/13 0021
     */
    public static void remove() {
        LONGIN_ENTERPRISE_HOLDER.remove();
    }

    /**
     * 用户所属企业id
     * @author zhaokang
     * @Date 2020/04/13 0021
     */
    public static Long getEntId(){
        return LONGIN_ENTERPRISE_HOLDER.get() == null ? null : LONGIN_ENTERPRISE_HOLDER.get().getId();
    }

    /**
     * 用户所属企业名称
     * @author zhaokang
     * @Date 2020/04/13 0021
     */
    public static String getFirmName(){
        return LONGIN_ENTERPRISE_HOLDER.get() == null ? null : LONGIN_ENTERPRISE_HOLDER.get().getFirmName();
    }

    /**
     * 用户类型
     * @author zhaokang
     * @Date 2020/04/13 0021
     */
    public static Integer getUserType(){
        return LONGIN_ENTERPRISE_HOLDER.get() == null ? null : LONGIN_ENTERPRISE_HOLDER.get().getUserType();
    }

    /**
     * 资料审批状态（1通过、0未审批、2未通过、3审批中）
     * @author zhaokang
     * @Date 2020/04/13 0021
     */
    public static Integer getApproval(){
        return LONGIN_ENTERPRISE_HOLDER.get() == null ? null : LONGIN_ENTERPRISE_HOLDER.get().getApproval();
    }

    /**
     * 用户状态（-1删除、0正常、1已锁）
     * @author zhaokang
     * @Date 2020/04/13 0021
     */
    public static Integer getStatus(){
        return LONGIN_ENTERPRISE_HOLDER.get() == null ? null : LONGIN_ENTERPRISE_HOLDER.get().getStatus();
    }

    /**
     * 用户分支类型
     * @author zk
     * @date 2021/3/16 11:24
     **/
    public static Integer getBranchType(){
        return LONGIN_ENTERPRISE_HOLDER.get() == null ? null : LONGIN_ENTERPRISE_HOLDER.get().getBranchType();
    }


}
