package cc.mrbird.febs.common.enumerates; import lombok.Getter; import java.util.ArrayList; import java.util.List; @Getter public enum MemberLevelEnum { /** * 合伙人 */ V_PARTNER("V_PARTNER",8), /** * 董事 */ V_DIRECTOR("V_DIRECTOR",7), /** * v1-v6 */ V6("V6",6), V5("V5",5), V4("V4",4), V3("V3",3), V2("V2",2), V1("V1",1), //普通用户 NORMAL("NORMAL",0); private String type; private Integer code; MemberLevelEnum(String type, Integer code) { this.type = type; this.code = code; } public List getLevelType(){ List strs = new ArrayList<>(); for (MemberLevelEnum value : MemberLevelEnum.values()) { strs.add(value.type); } return strs; } 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; } }