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

217 lines
5.4 KiB
Java

package config;
import manager.STableManager;
import manager.Table;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Table(name ="RechargeCommodityConfig")
public class SRechargeCommodityNewConfig implements BaseConfig {
private int id;
private String rechargeId;
private String name;
private int type;
private double price;
private int[][] firstMultiple;
private int[][] baseReward;
private int[] openPrivilege;
private int contiueDays;
private int limit;
private int firstInvest;
private int accumulativeRecharge;
private int time;
private String onSaleRule;
private int dailyUpdate;
private int[] mail;
private int otype;
private String rechargeId2;
private String rechargeId3;
private String rechargeId4;
private String rechargeId5;
private String rechargeId6;
private String rechargeId7;
private String rechargeId8;
private String rechargeId9;
private String rechargeId10;
private int isShowInWeb;
private int[] forbid;
private String[][] condition;
private int isRecommond;
public static Map<Integer,SRechargeCommodityNewConfig> configMap;
public static Map<String,SRechargeCommodityNewConfig> sdkconfigMap;
public static Map<Integer, List<Integer>> configTypeMap;
public void init() throws Exception {
Map<Integer, SRechargeCommodityNewConfig> config = STableManager.getConfig(SRechargeCommodityNewConfig.class);
Map<Integer,SRechargeCommodityNewConfig> tempConfigMap = new HashMap<>();
Map<String,SRechargeCommodityNewConfig> tempSdkConfigMap = new HashMap<>();
Map<Integer, List<Integer>> tempConfigTypeMap = new HashMap<>();
for(SRechargeCommodityNewConfig newConfig : config.values()){
newConfig.setCondition(initConditon(newConfig));
tempConfigMap.put(newConfig.getId(),newConfig);
tempSdkConfigMap.put(newConfig.getRechargeId(),newConfig);
tempSdkConfigMap.put(newConfig.getRechargeId2(),newConfig);
tempSdkConfigMap.put(newConfig.getRechargeId3(),newConfig);
if(tempConfigTypeMap.containsKey(newConfig.getType())){
tempConfigTypeMap.get(newConfig.getType()).add(newConfig.getId());
}else{
List<Integer> list = new ArrayList<>();
list.add(newConfig.getId());
tempConfigTypeMap.put(newConfig.getType(),list);
}
}
// if(configMap == null){
configMap = tempConfigMap;
System.out.println("重新加载Recharge");
sdkconfigMap = tempSdkConfigMap;
configTypeMap = tempConfigTypeMap;
// }
}
public static String[][] getConditon(int id){
return configMap.get(id).getCondition();
}
public String[][] initConditon(SRechargeCommodityNewConfig config){
String[] s = config.getOnSaleRule().split("\\|");
condition = new String[s.length][3];
int i = 0;
for (String s0 : s) {
String[] s1 = s0.split("#");
condition[i][0] = s1[0];
condition[i][1] = s1[1];
if(s1.length > 2){
condition[i][2] = s1[2];
}
i++;
}
return condition;
}
public static SRechargeCommodityNewConfig getConfigById(int id){
return configMap.get(id);
}
public static List<Integer> getConfigListByType(int type){
return configTypeMap.get(type);
}
public int getId() { return id; }
public String getRechargeId() { return rechargeId; }
public String getName() { return name; }
public int getType() {
return type;
}
public double getPrice() { return price; }
public int[][] getFirstMultiple() { return firstMultiple; }
public int[][] getBaseReward() { return baseReward; }
public int[] getOpenPrivilege() { return openPrivilege; }
public int getContiueDays() { return contiueDays; }
public int getLimit() { return limit; }
public int getFirstInvest() { return firstInvest; }
public int getAccumulativeRecharge() { return accumulativeRecharge; }
public int getTime() { return time; }
public String getOnSaleRule() { return onSaleRule; }
public int getDailyUpdate() { return dailyUpdate; }
public int[] getMail() { return mail; }
public int getOtype() { return otype; }
public int[] getForbid() {
return forbid;
}
public String getRechargeId2() { return rechargeId2; }
public String getRechargeId3() { return rechargeId3; }
public String getRechargeId4() {
return rechargeId4;
}
public String getRechargeId5() {
return rechargeId5;
}
public String getRechargeId6() {
return rechargeId6;
}
public String getRechargeId7() {
return rechargeId7;
}
public String getRechargeId8() {
return rechargeId8;
}
public String getRechargeId9() {
return rechargeId9;
}
public String getRechargeId10() {
return rechargeId10;
}
public String[][] getCondition() {
return condition;
}
public void setCondition(String[][] condition) {
this.condition = condition;
}
public int getIsShowInWeb() {
return isShowInWeb;
}
public int getIsRecommond() {
return isRecommond;
}
}