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

98 lines
2.4 KiB
Java
Raw Normal View History

package config;
import manager.STableManager;
import manager.Table;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
@Table(name = "LuckyCatConfig")
public class SLuckyCatConfig implements BaseConfig {
private int id;
private int activityId;
private int luckyType;
private int luckyTime;
private int consumeValue;
private int valueUp;
private int valueDown;
private int rmbValue;
public static Map<Integer, SLuckyCatConfig> configMap = new TreeMap<>();
private static Map<Integer, Integer> miss2times = new HashMap<>();
//按期配置
private static Map<Integer, TreeMap<Integer, SLuckyCatConfig>> configMapByActivityId = new HashMap<>();
@Override
public void init() throws Exception {
configMap = new TreeMap<>(STableManager.getConfig(SLuckyCatConfig.class));
for (SLuckyCatConfig sLuckyCatConfig : configMap.values()) {
int id = sLuckyCatConfig.getActivityId();
if (!configMapByActivityId.containsKey(id)) {
configMapByActivityId.put(id, new TreeMap<>());
}
configMapByActivityId.get(id).put(sLuckyCatConfig.getId(), sLuckyCatConfig);
}
for (TreeMap<Integer, SLuckyCatConfig> maps : configMapByActivityId.values()) {
int lastTimes = 0;
for (Map.Entry<Integer, SLuckyCatConfig> item : maps.entrySet()) {
miss2times.put(item.getKey(), item.getValue().getLuckyTime() - lastTimes);
lastTimes = item.getValue().getLuckyTime();
}
}
}
public int getId() {
return id;
}
public int getActivityId() {
return activityId;
}
public int getLuckyType() {
return luckyType;
}
public int getLuckyTime() {
return luckyTime;
}
public int getConsumeValue() {
return consumeValue;
}
public int getValueUp() {
return valueUp;
}
public int getValueDown() {
return valueDown;
}
public int getRmbValue() {
return rmbValue;
}
public static Integer getMiss2time(int luckyTime) {
return miss2times.containsKey(luckyTime) ? miss2times.get(luckyTime) : 0;
}
public static Map<Integer, SLuckyCatConfig> getConfigMapByActivityId(int activityId) {
return configMapByActivityId.getOrDefault(activityId,new TreeMap<>());
}
}