package com.mortals.xhx.common.code;

import com.mortals.framework.ap.SysConstains;
import com.mortals.framework.common.IBaseEnum;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 角色类型
 * @author 
 *
 */
public enum RoleType implements IBaseEnum {
	 /** 系统内置角色 */
    BUILT_IN(0, "系统内置角色", SysConstains.STYLE_DEFAULT),
    /** 默认系统角色 */
    SYSTEM_DEFAULT(1, "默认系统角色", SysConstains.STYLE_INFO),
    /** 企业用户角色 */
    CUSTOMER_DEFAULT(2, "企业用户角色", SysConstains.STYLE_PRIMARY),
    /** 普通角色 */
    NORMAL(4, "普通角色 ", SysConstains.STYLE_SUCCESS),;

    

	//0：系统内置角色（不可删除），1：默认系统角色，2：默认新闻用户角色，3：默认资讯用户角色，4：普通角色，默认4
	
    private int value;
    private String desc;
    private String style;

    RoleType(int value, String desc, String style) {
        this.value = value;
        this.desc = desc;
        this.style = style;
    }

    @Override
    public int getValue() {
        return this.value;
    }

    public String getDesc() {
        return desc;
    }

    public String getStyle()
	{
		return style;
	}

	public static RoleType getByValue(int value) {
        for (RoleType examStatus : RoleType.values()) {
            if (examStatus.getValue() == value) {
                return examStatus;
            }
        }
        return null;
    }
	/**
	 * 获取Map集合
	 * @param eItem 不包含项
	 * @return
	 */
	public static Map<String,String> getEnumMap(int... eItem) {
		Map<String,String> resultMap= new LinkedHashMap<String,String>();
		for (RoleType item : RoleType.values()) {
			try{
				boolean hasE = false;
				for (int e : eItem){
					if(item.getValue()==e){
						hasE = true;
						break;
					}
				}
				if(!hasE){
					resultMap.put(item.getValue()+"", item.getDesc());
				}
			}catch(Exception ex){
			}
		}
		return resultMap;
	}
}
