package cc.mrbird.febs.dapp.enumerate; import lombok.Getter; import java.util.ArrayList; import java.util.List; @Getter public enum MemberLevelEnum { /** */ NODE_5("NODE_5",5,"DAO5"), NODE_4("NODE_4",4,"DAO4"), NODE_3("NODE_3",3,"DAO3"), NODE_2("NODE_2",2,"DAO2"), NODE_1("NODE_1",1,"DAO1"), MEMBER("MEMBER",0,"MEMBER"); 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 = "MEMBER"; 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; } /** * 比较两个级别的大小,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; } }