package config; import manager.STableManager; import manager.Table; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @Table(name ="SComposeActivity") public class SComposeActivity implements BaseConfig { private int id; private int activityId; private int[] needItems; private int count; private int composeType; private Map> configMap; private Map>> itemMap; @Override public void init() throws Exception { Map> tempConfigMap = new HashMap<>(); Map>> tempItemMap = new HashMap<>(); Map config = STableManager.getConfig(SComposeActivity.class); for(SComposeActivity activity : config.values()){ if(tempConfigMap.containsKey(activity.getActivityId())){ tempConfigMap.get(activity.getActivityId()).put(activity.getComposeType(),activity); List list = Arrays.stream( activity.getNeedItems() ).boxed().collect(Collectors.toList()); tempItemMap.get(activity.getActivityId()).put(activity.getComposeType(),list); }else{ Map map1 = new HashMap<>(); map1.put(activity.getComposeType(),activity); tempConfigMap.put(activity.getActivityId(),map1); Map> map2 = new HashMap<>(); List list = Arrays.stream( activity.getNeedItems() ).boxed().collect(Collectors.toList()); map2.put(activity.getComposeType(),list); tempItemMap.put(activity.getActivityId(),map2); } } if(configMap == null){ configMap = tempConfigMap; itemMap = tempItemMap; } } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getActivityId() { return activityId; } public void setActivityId(int activityId) { this.activityId = activityId; } public int[] getNeedItems() { return needItems; } public void setNeedItems(int[] needItems) { this.needItems = needItems; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public int getComposeType() { return composeType; } public void setComposeType(int composeType) { this.composeType = composeType; } }