package config; import manager.STableManager; import manager.Table; import java.util.HashMap; import java.util.Map; import java.util.TreeMap; @Table(name ="VipLevelConfig") public class SVipLevelConfig implements BaseConfig { private static Map sVipLevelConfigMap; private static TreeMap money2vip ; private int vipLevel; private int[][] privileges; private int[][] vipBoxDailyReward; private int[][] vipBoxReward; private int[] openRules; private int moneyLimit; private Map privilegeMap; @Override public void init() throws Exception { Map config = STableManager.getConfig(SVipLevelConfig.class); money2vip = new TreeMap<>(); for(SVipLevelConfig sVipLevelConfig : config.values()){ int[][] privileges = sVipLevelConfig.getPrivileges(); if(privileges!=null&&privileges.length>0){ Map privilegeMap = new HashMap<>(privileges.length); for(int[] temp : privileges){ privilegeMap.put(temp[0],temp[1]); } sVipLevelConfig.setPrivilegeMap(privilegeMap); } money2vip.put(sVipLevelConfig.getMoneyLimit(),sVipLevelConfig.getVipLevel()); } sVipLevelConfigMap =config; } public static Map getsVipLevelConfigMap() { return sVipLevelConfigMap; } //根据钱返回当前特权等级 public static int getsVipLevel(int money) { Map.Entry entry = money2vip.ceilingEntry(money); return entry==null?money2vip.lastEntry().getValue():entry.getValue(); } public int getVipLevel() { return vipLevel; } public int[][] getPrivileges() { return privileges; } public int[][] getVipBoxReward() { return vipBoxReward; } public Map getPrivilegeMap() { return privilegeMap; } public void setPrivilegeMap(Map privilegeMap) { this.privilegeMap = privilegeMap; } public int[][] getVipBoxDailyReward() { return vipBoxDailyReward; } public int[] getOpenRules() { return openRules; } public int getMoneyLimit() { return moneyLimit; } public void setMoneyLimit(int moneyLimit) { this.moneyLimit = moneyLimit; } public static TreeMap getMoney2vip() { return money2vip; } public static void setMoney2vip(TreeMap money2vip) { SVipLevelConfig.money2vip = money2vip; } }