2019-09-06 11:04:28 +08:00
|
|
|
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;
|
2019-09-06 11:04:28 +08:00
|
|
|
|
|
|
|
@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 ;
|
2019-09-06 11:04:28 +08:00
|
|
|
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;
|
|
|
|
|
2019-09-06 11:04:28 +08:00
|
|
|
|
|
|
|
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<>();
|
2019-09-06 11:04:28 +08:00
|
|
|
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());
|
2019-09-06 11:04:28 +08:00
|
|
|
}
|
|
|
|
sVipLevelConfigMap =config;
|
2019-12-12 10:59:33 +08:00
|
|
|
|
2019-09-06 11:04:28 +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();
|
|
|
|
}
|
2019-09-06 11:04:28 +08:00
|
|
|
|
|
|
|
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;
|
|
|
|
}
|
2019-09-06 11:04:28 +08:00
|
|
|
}
|