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

88 lines
2.1 KiB
Java

package config;
import manager.STableManager;
import manager.Table;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Table(name ="LodeConfig")
public class SLodeConfig implements BaseConfig {
private int id;
private int no;
private int pageNo;
private int group;
private int quality;
private int[][] rewardList;
private int guard;
public static Map<Integer, SLodeConfig> lodeConfig;
public static Map<Integer, Map<Integer, List<SLodeConfig>>> lodeConfigMap;//组 页码
@Override
public void init() throws Exception {
lodeConfig = STableManager.getConfig(SLodeConfig.class);
Map<Integer, Map<Integer, List<SLodeConfig>>> tempLodeConfigMap = new HashMap<Integer, Map<Integer, List<SLodeConfig>>>() ;
for(SLodeConfig config:lodeConfig.values()){
if(!tempLodeConfigMap.containsKey(config.getGroup())){
tempLodeConfigMap.put(config.getGroup(),new HashMap<Integer, List<SLodeConfig>>());
}
if(!tempLodeConfigMap.get(config.getGroup()).containsKey(config.getPageNo())){
tempLodeConfigMap.get(config.getGroup()).put(config.getPageNo(),new ArrayList<SLodeConfig>());
}
tempLodeConfigMap.get(config.getGroup()).get(config.getPageNo()).add(config);
}
if(tempLodeConfigMap!=null){
lodeConfigMap = tempLodeConfigMap;
}
}
public static List<SLodeConfig> getByGroupAndPageNo(int group,int page){
if(lodeConfigMap.containsKey(group)){
if(lodeConfigMap.get(group).containsKey(page)){
return lodeConfigMap.get(group).get(page);
}
}
return null;
}
public int getId() {
return id;
}
public int getNo() {
return no;
}
public int getPageNo() {
return pageNo;
}
public int getGroup() {
return group;
}
public int getQuality() {
return quality;
}
public int[][] getRewardList() {
return rewardList;
}
public int getGuard() {
return guard;
}
}