package com.unis.module.system.enums.permission;

import com.unis.framework.common.util.object.ObjectUtils;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 角色标识枚举
 */
@Getter
@AllArgsConstructor
public enum RoleCodeEnum {

    SUPER_ADMIN("super_admin", "超级管理员"),
    TENANT_ADMIN("tenant_admin", "租户管理员"),
    //    	grain_trading_center
    GRAIN_TRADING_CENTER("grain_trading_center", "粮食交易中心"),
    //    省级核验人员	provincial_verification_personnel
    PROVINCIAL_VERIFICATION_PERSONNEL("provincial_verification_personnel", "省级核验人员"),
    //    银行用户	bank_users
    BANK_USERS("bank_users", "银行用户"),
    //银行核验人员 bank_verification_personnel
    BANK_VERIFICATION_PERSONNEL("bank_verification_personnel", "银行核验人员"),
    //    监管公司	regulatory_company
    REGULATORY_COMPANY("regulatory_company", "监管公司"),
    //    保险公司	insurance_company
    INSURANCE_COMPANY("insurance_company", "保险公司"),
    //    存粮人(贷款人) grain_depositor
    GRAIN_DEPOSITOR("grain_depositor", "存粮人(贷款人)"),
    //    省局	sheng_admin
    SHENG_ADMIN("sheng_admin", "省局"),
    //    市局	shi_admin
    SHI_ADMIN("shi_admin", "市局"),
    //    县局	xian_admin
    XIAN_ADMIN("xian_admin", "县局")

    ;

    /**
     * 角色编码
     */
    private final String code;
    /**
     * 名字
     */
    private final String name;

    public static boolean isSuperAdmin(String code) {
        return ObjectUtils.equalsAny(code, SUPER_ADMIN.getCode());
    }

}
