miduo_server/tablemanager/src/main/java/config/SPackPushConfig.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;
}
}