145 lines
3.6 KiB
Java
145 lines
3.6 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;
|
|
|
|
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 void setId(int id) {
|
|
this.id = id;
|
|
}
|
|
|
|
public String getDesc() {
|
|
return desc;
|
|
}
|
|
|
|
public void setDesc(String desc) {
|
|
this.desc = desc;
|
|
}
|
|
|
|
public int[] getScopeId() {
|
|
return scopeId;
|
|
}
|
|
|
|
public void setScopeId(int[] scopeId) {
|
|
this.scopeId = scopeId;
|
|
}
|
|
|
|
public int[] getConditionId() {
|
|
return conditionId;
|
|
}
|
|
|
|
public void setConditionId(int[] conditionId) {
|
|
this.conditionId = conditionId;
|
|
}
|
|
|
|
public int getPriority() {
|
|
return priority;
|
|
}
|
|
|
|
public void setPriority(int priority) {
|
|
this.priority = priority;
|
|
}
|
|
|
|
public int getcDTime() {
|
|
return cDTime;
|
|
}
|
|
|
|
public void setcDTime(int cDTime) {
|
|
this.cDTime = cDTime;
|
|
}
|
|
|
|
public int getCount() {
|
|
return count;
|
|
}
|
|
|
|
public void setCount(int count) {
|
|
this.count = count;
|
|
}
|
|
|
|
public int[] getPersonas() {
|
|
return personas;
|
|
}
|
|
|
|
public void setPersonas(int[] personas) {
|
|
this.personas = personas;
|
|
}
|
|
|
|
public int[] getPacks() {
|
|
return packs;
|
|
}
|
|
|
|
public void setPacks(int[] packs) {
|
|
this.packs = packs;
|
|
}
|
|
|
|
public int getStatistics() {
|
|
return statistics;
|
|
}
|
|
|
|
public void setStatistics(int statistics) {
|
|
this.statistics = statistics;
|
|
}
|
|
}
|