package cc.mrbird.febs.common.enumerates; import lombok.Getter; import java.util.ArrayList; import java.util.List; @Getter public enum MemberLevelEnum { /** * 董事 */ V_DIRECTOR("V_DIRECTOR",8,"董事"), /** * v1-v6 * V1 个体户,V2 经销商,V3 区代理,V4 市代理,V5 省代理,V6 运营中心 */ V6("V6",7,"运营中心"), V5("V5",6,"省代理"), V4("V4",5,"市代理"), V3("V3",4,"区代理"), V2("V2",3,"经销商"), V1("V1",2,"个体户"), //普通用户 NORMAL("NORMAL",1,"普通会员"), //粉丝非会员 FANS("FANS",0,"粉丝"); private String type; private Integer code; private String description; MemberLevelEnum(String type, Integer code,String description) { this.type = type; this.code = code; this.description = description; } public List getLevelType(){ List strs = new ArrayList<>(); for (MemberLevelEnum value : MemberLevelEnum.values()) { strs.add(value.type); } return strs; } public String getLevelDescription(String Level){ String description = "粉丝"; for (MemberLevelEnum value : MemberLevelEnum.values()) { if(value.type.equals(Level)){ description = value.description; } } return description; } public int getLevelCode(String Level){ int codeOne = 0; for (MemberLevelEnum value : MemberLevelEnum.values()) { if(value.type.equals(Level)){ codeOne = value.code; } } return codeOne; } public String getNextLevel(String Level){ String levelNext = Level; int codeOne = 0; for (MemberLevelEnum value : MemberLevelEnum.values()) { if(value.type.equals(Level)){ codeOne = value.code; break; } } codeOne = codeOne + 1; for (MemberLevelEnum value : MemberLevelEnum.values()) { if(value.code == (codeOne)){ levelNext = value.type; break; } } return levelNext; } // public static void main(String[] args) { // String zero_level = MemberLevelEnum.SECOND_LEVEL.getNextLevel("SIX_LEVEL"); // System.out.println(zero_level); // } /** * 比较两个级别的大小,levelOne大于levelTwo返回1,levelOne等于levelTwo返回2,否则返回0 */ public int compareLevel(String levelOne ,String levelTwo) { int codeOne = 0; int codeTwo = 0; for (MemberLevelEnum value : MemberLevelEnum.values()) { if(value.type.equals(levelOne)){ codeOne = value.code; } if(value.type.equals(levelTwo)){ codeTwo = value.code; } } if(codeOne > codeTwo){ return 1; } if(codeOne == codeTwo){ return 2; } return 0; } }