package config; import manager.STableManager; import manager.Table; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; @Table(name = "DialRewardConfig") public class SDialRewardConfig implements BaseConfig { private int id; private int activityId; private int poolId; private int[] reward; private int initializeWeight; private int extractWeight; private int limitNum; public static Map sDialRewardConfigMap; public static Map>> sRandPosMap = new HashMap<>(); //activityid posid - ids @Override public void init() throws Exception { sDialRewardConfigMap = STableManager.getConfig(SDialRewardConfig.class); sDialRewardConfigMap.forEach((k, v) -> sRandPosMap.compute(v.getActivityId(), (activityId, oldv) -> { if (oldv == null) { oldv = new HashMap<>(); } oldv.compute(v.getPoolId(), (pooid, setv) -> { if(null == setv){ setv = new HashSet<>(); } setv.add(v.getId()); return setv; }); return oldv; }) ); } public static Map getsDialRewardConfigMap() { return sDialRewardConfigMap; } public int getId() { return id; } public int getActivityId() { return activityId; } public int getPoolId() { return poolId; } public int[] getReward() { return reward; } public int getInitializeWeight() { return initializeWeight; } public int getExtractWeight() { return extractWeight; } public int getLimitNum() { return limitNum; } public static Map>> getsRandPosMap() { return sRandPosMap; } public static void setsRandPosMap(Map>> sRandPosMap) { SDialRewardConfig.sRandPosMap = sRandPosMap; } }