package ink.wgink.login.base.util;

import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.pojo.pos.RolePO;
import org.apache.commons.lang3.StringUtils;

import java.util.List;

/**
 * @Description: 用户登录
 * @Author: WenG
 * @Date: 2022/5/19 13:23
 * @Version: 1.0
 **/
public class UserLoginUtil {

    /**
     * 删除重复的角色
     *
     * @param rolePOs
     */
    public static void removalDuplicateRole(List<RolePO> rolePOs) {
        if (rolePOs == null || rolePOs.isEmpty()) {
            return;
        }
        for (int i = 0; i < rolePOs.size(); i++) {
            RolePO rolePO = rolePOs.get(i);
            boolean isExist = false;
            for (int j = i + 1; j < rolePOs.size(); j++) {
                if (StringUtils.equals(rolePO.getRoleId(), rolePOs.get(j).getRoleId())) {
                    isExist = true;
                    break;
                }
            }
            if (isExist) {
                rolePOs.remove(i);
                i--;
                break;
            }
        }
    }

    /**
     * 是否超管
     *
     * @param roleIds
     * @return
     */
    public static boolean hasAdmin(List<String> roleIds) {
        for (String roleId : roleIds) {
            if (StringUtils.equals(ISystemConstant.ADMIN, roleId)) {
                return true;
            }
        }
        return false;
    }

}
