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

107 lines
2.6 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-10-19 23:25:14 +08:00
private float price_8;
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_";
2020-08-25 18:29:17 +08:00
if (!field.getName().contains(temp)) {
continue;
2020-08-18 16:12:54 +08:00
}
String substring = field.getName().substring(temp.length());
Integer integer = Integer.valueOf(substring);
2020-08-25 18:29:17 +08:00
doubleIntegerHashMap.putIfAbsent(integer, new HashMap<>());
2020-08-18 16:12:54 +08:00
HashMap<Integer, Double> doubleIntegerHashMap = SExchangeRate.doubleIntegerHashMap.get(integer);
config.entrySet().forEach(integerSExchangeRateEntry -> {
try {
2020-08-25 18:29:17 +08:00
if (integer == 1) {
doubleIntegerHashMap.put(integerSExchangeRateEntry.getValue().getPrice_1(), Double.valueOf((int) field.get(integerSExchangeRateEntry.getValue())));
} else {
float f = (float) field.get(integerSExchangeRateEntry.getValue());
double v = Double.parseDouble(Float.toString(f));
doubleIntegerHashMap.put(integerSExchangeRateEntry.getValue().getPrice_1(), v);
2020-08-18 16:12:54 +08:00
}
2020-08-25 18:29:17 +08:00
} catch (Exception e) {
2020-08-18 16:12:54 +08:00
e.printStackTrace();
}
});
}
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;
}
}