package com.reyun.saas.mob.util;

import com.reyun.saas.common.constants.RoleEnumType;
import com.reyun.saas.mob.user.domain.User;

/**
 * @author: 角色工具类
 * @Date: 2021/10/26/16:08
 * @Description:
 */
public class RoleUtil {

    /**
     * 判断当前用户是否是主用户
     * @param user 目标用户
     * @return true为主用户  false不是主用户
     */
    public static boolean isSupperUser(User user){
        if (RoleEnumType.SUPER_USER.getKey().equals(user.getRoleCategory())) {
            return true;
        }
        return false;
    }

    /**
     * 获取用户的主用户id
     * @param user 目标用户
     * @return 主用户id
     */
    public static Long getRootUserId(User user){
        if (RoleEnumType.SUPER_USER.getKey().equals(user.getRoleCategory())) {
            return  user.getId();
        }else{
            return user.getRootParent();
        }
    }


    /**
     * 校验用户是否是主账号或者管理员
     * @param user 目标用户
     * @return
     */
    public static boolean isSuperUserOrManager(User user){
        if(RoleEnumType.SUPER_USER.getKey().equals(user.getRoleCategory())
            || RoleEnumType.MANAGER.getKey().equals(user.getRoleCategory())){
            return true;
        }else{
            return false;
        }
    }

    /**
     * 校验用户是否是为子应用管理员
     * @param user 目标用户
     * @return
     */
    public static boolean isSubAppManager(User user){
        return RoleEnumType.SUB_APP_MANAGER.getKey().equals(user.getRoleCategory());
    }



}
