118 lines
2.9 KiB
Java
118 lines
2.9 KiB
Java
package config;
|
|
|
|
import manager.STableManager;
|
|
import manager.Table;
|
|
|
|
import java.util.*;
|
|
|
|
@Table(name ="PackPush")
|
|
public class SPackPushConfig implements BaseConfig {
|
|
|
|
private int id;
|
|
private String desc;
|
|
private int[] scopeId;
|
|
private int[] conditionId;
|
|
private int priority;
|
|
private int cDTime;
|
|
private int count;
|
|
private int[] personas;
|
|
private int[] packs;
|
|
private int statistics;
|
|
|
|
private int privateCD;
|
|
|
|
public static Map<Integer,SPackPushConfig> configMap;
|
|
public static Map<Integer,Map<Integer,List<SPackPushConfig>>> conditionMap;
|
|
|
|
public void init() throws Exception {
|
|
Map<Integer, SPackPushConfig> config = STableManager.getConfig(SPackPushConfig.class);
|
|
Map<Integer,SPackPushConfig> tempConfigMap = new HashMap<>();
|
|
Map<Integer,Map<Integer,List<SPackPushConfig>>> tempConditionMap = new HashMap<>();
|
|
for(SPackPushConfig newConfig : config.values()){
|
|
tempConfigMap.put(newConfig.getId(),newConfig);
|
|
int[] conditionId = newConfig.getConditionId();
|
|
if(tempConditionMap.containsKey(conditionId[0])){
|
|
if(tempConditionMap.get(conditionId[0]).containsKey(conditionId[1])){
|
|
tempConditionMap.get(conditionId[0]).get(conditionId[1]).add(newConfig);
|
|
}else{
|
|
List<SPackPushConfig> list = new ArrayList<>();
|
|
list.add(newConfig);
|
|
tempConditionMap.get(conditionId[0]).put(conditionId[1],list);
|
|
}
|
|
}else{
|
|
Map<Integer,List<SPackPushConfig>> map = new HashMap<>();
|
|
List<SPackPushConfig> list = new ArrayList<>();
|
|
list.add(newConfig);
|
|
map.put(conditionId[1],list);
|
|
tempConditionMap.put(conditionId[0],map);
|
|
}
|
|
}
|
|
if(configMap == null){
|
|
configMap = tempConfigMap;
|
|
conditionMap = tempConditionMap;
|
|
}
|
|
}
|
|
|
|
public static SPackPushConfig getConfigById(int id){
|
|
return configMap.get(id);
|
|
}
|
|
|
|
public static List<SPackPushConfig> findConfigByCon(int type,int num){
|
|
if(conditionMap.get(type) == null){
|
|
return null;
|
|
}
|
|
return conditionMap.get(type).get(num);
|
|
}
|
|
|
|
public int getId() {
|
|
return id;
|
|
}
|
|
|
|
public String getDesc() {
|
|
return desc;
|
|
}
|
|
|
|
public int[] getScopeId() {
|
|
return scopeId;
|
|
}
|
|
|
|
|
|
public int[] getConditionId() {
|
|
return conditionId;
|
|
}
|
|
|
|
|
|
public int getPriority() {
|
|
return priority;
|
|
}
|
|
|
|
|
|
public int getcDTime() {
|
|
return cDTime;
|
|
}
|
|
|
|
|
|
public int getCount() {
|
|
return count;
|
|
}
|
|
|
|
public int[] getPersonas() {
|
|
return personas;
|
|
}
|
|
|
|
|
|
public int[] getPacks() {
|
|
return packs;
|
|
}
|
|
|
|
|
|
public int getStatistics() {
|
|
return statistics;
|
|
}
|
|
|
|
|
|
public int getPrivateCD() {
|
|
return privateCD;
|
|
}
|
|
}
|