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 configMap = new TreeMap<>(); private static Map miss2times = new HashMap<>(); //按期配置 private static Map> 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 maps : configMapByActivityId.values()) { int lastTimes = 0; for (Map.Entry 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 getConfigMapByActivityId(int activityId) { return configMapByActivityId.getOrDefault(activityId,new TreeMap<>()); } }