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

107 lines
2.5 KiB
Java
Raw Normal View History

2020-08-14 23:18:18 +08:00
package config;
import manager.STableManager;
import manager.Table;
2020-08-18 16:12:54 +08:00
import java.lang.reflect.Field;
import java.util.HashMap;
2020-08-14 23:18:18 +08:00
import java.util.Map;
2020-08-18 16:12:54 +08:00
@Table(name = "ExchangeRate")
2020-08-14 23:18:18 +08:00
public class SExchangeRate implements BaseConfig {
2020-08-18 16:12:54 +08:00
private int id;
2020-08-14 23:18:18 +08:00
2020-08-18 16:12:54 +08:00
private int price_1;
2020-08-14 23:18:18 +08:00
2020-08-18 16:12:54 +08:00
private float price_2;
2020-08-14 23:18:18 +08:00
2020-08-18 16:12:54 +08:00
private float price_3;
2020-08-14 23:18:18 +08:00
2020-08-18 16:12:54 +08:00
private float price_4;
2020-08-14 23:18:18 +08:00
2020-08-18 16:12:54 +08:00
private float price_5;
2020-08-14 23:18:18 +08:00
2020-08-18 16:12:54 +08:00
private float price_6;
2020-08-14 23:18:18 +08:00
2020-08-18 16:12:54 +08:00
private float price_7;
2020-08-14 23:18:18 +08:00
2020-08-18 16:12:54 +08:00
public static HashMap<Integer, HashMap<Integer, Double>> doubleIntegerHashMap = new HashMap<>(); //币种 原货币 本货币
@Override
2020-08-14 23:18:18 +08:00
public void init() throws Exception {
2020-08-18 16:12:54 +08:00
doubleIntegerHashMap = new HashMap<>();
Map<Integer, SExchangeRate> config = STableManager.getConfig(SExchangeRate.class);
Field[] fields = SExchangeRate.class.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
String temp = "price_";
if(!field.getName().contains(temp)){
continue;
}
String substring = field.getName().substring(temp.length());
Integer integer = Integer.valueOf(substring);
doubleIntegerHashMap.putIfAbsent(integer,new HashMap<>());
HashMap<Integer, Double> doubleIntegerHashMap = SExchangeRate.doubleIntegerHashMap.get(integer);
config.entrySet().forEach(integerSExchangeRateEntry -> {
try {
if(integer==1){
doubleIntegerHashMap.put(integerSExchangeRateEntry.getValue().getPrice_1(), Double.valueOf((int)field.get(integerSExchangeRateEntry.getValue())));
}else {
doubleIntegerHashMap.put(integerSExchangeRateEntry.getValue().getPrice_1(),Double.valueOf((float) field.get(integerSExchangeRateEntry.getValue())));
}
}catch (Exception e){
e.printStackTrace();
}
});
}
System.out.println("");
2020-08-14 23:18:18 +08:00
}
2020-08-18 16:12:54 +08:00
public int getId() {
2020-08-14 23:18:18 +08:00
return id;
}
2020-08-18 16:12:54 +08:00
public int getPrice_1() {
2020-08-14 23:18:18 +08:00
return price_1;
}
2020-08-18 16:12:54 +08:00
public float getPrice_2() {
2020-08-14 23:18:18 +08:00
return price_2;
}
2020-08-18 16:12:54 +08:00
public float getPrice_3() {
2020-08-14 23:18:18 +08:00
return price_3;
}
2020-08-18 16:12:54 +08:00
public float getPrice_4() {
2020-08-14 23:18:18 +08:00
return price_4;
}
2020-08-18 16:12:54 +08:00
public float getPrice_5() {
2020-08-14 23:18:18 +08:00
return price_5;
}
2020-08-18 16:12:54 +08:00
public float getPrice_6() {
2020-08-14 23:18:18 +08:00
return price_6;
}
2020-08-18 16:12:54 +08:00
public float getPrice_7() {
2020-08-14 23:18:18 +08:00
return price_7;
}
}