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

104 lines
3.1 KiB
Java

package config;
import manager.STableManager;
import manager.Table;
import java.util.*;
import java.util.stream.Collectors;
@Table(name ="ComposeActivity")
public class SComposeActivity implements BaseConfig {
private int id;
private int activityId;
private int[] needItems;
private int count;
private int composeType;
private static Map<Integer, Map<Integer,SComposeActivity>> configMap;
private static Map<Integer, Map<Integer, List<Integer>>> itemMap;
@Override
public void init() throws Exception {
Map<Integer, Map<Integer,SComposeActivity>> tempConfigMap = new HashMap<>();
Map<Integer, Map<Integer, List<Integer>>> tempItemMap = new HashMap<>();
Map<Integer, SComposeActivity> config = STableManager.getConfig(SComposeActivity.class);
for(SComposeActivity activity : config.values()){
if(tempConfigMap.containsKey(activity.getActivityId())){
tempConfigMap.get(activity.getActivityId()).put(activity.getComposeType(),activity);
List<Integer> list = Arrays.stream( activity.getNeedItems() ).boxed().collect(Collectors.toList());
tempItemMap.get(activity.getActivityId()).put(activity.getComposeType(),list);
}else{
Map<Integer,SComposeActivity> map1 = new HashMap<>();
map1.put(activity.getComposeType(),activity);
tempConfigMap.put(activity.getActivityId(),map1);
Map<Integer,List<Integer>> map2 = new HashMap<>();
List<Integer> list = Arrays.stream( activity.getNeedItems() ).boxed().collect(Collectors.toList());
// List<Integer> list = new ArrayList<>();
// for(int i : activity.getNeedItems()[0]){
// list.add(i);
// }
map2.put(activity.getComposeType(),list);
tempItemMap.put(activity.getActivityId(),map2);
}
}
if(configMap == null){
configMap = tempConfigMap;
itemMap = tempItemMap;
}
}
public static Map<Integer, Map<Integer,SComposeActivity>> getConfigMap(){
return configMap;
}
public static int getTypeById(int actId,int equipId){
for(Map.Entry<Integer,List<Integer>> entry : itemMap.get(actId).entrySet()){
if(entry.getValue().contains(equipId)){
return entry.getKey();
}
}
return -1;
}
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;
}
}