miduo_server/tablemanager/src/main/java/config/SVipLevelConfig.java

103 lines
2.6 KiB
Java
Raw Normal View History

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