AuRechargeData/src/main/java/com/yaohun/aurechargedata/manage/ConsumeManage.java

69 lines
2.7 KiB
Java
Raw Normal View History

2024-07-14 12:04:14 +00:00
package com.yaohun.aurechargedata.manage;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class ConsumeManage {
private File file;
private FileConfiguration yml;
private String dataKey = "ConsumeData";
private HashMap<String,Double> consumeData = new HashMap<>();
private HashMap<String, Double> dayDataMap = new HashMap<>();
private HashMap<String, Double> monthDataMap = new HashMap<>();
public ConsumeManage(){
file = new File("plugins/AuRechargeData", "consume.yml");
yml = YamlConfiguration.loadConfiguration(file);
// 检查配置文件中是否包含 "RechargeData" 节点
if (yml.getConfigurationSection(dataKey) != null) {
// 遍历 "RechargeData" 节点下的所有键(用户名)
for (String name : yml.getConfigurationSection(dataKey).getKeys(false)) {
// 构建键路径前缀
String str = dataKey+"." + name + ".";
// 获取每日充值数据并存储到 dayDataMap
double day = yml.getDouble(str + "daydata");
dayDataMap.put(name, day);
// 获取每月充值数据并存储到 monthDataMap
double month = yml.getDouble(str + "monthdata");
monthDataMap.put(name, month);
// 获取长期充值数据并存储到 rechargeData
double term = yml.getDouble(str + "longTermData");
consumeData.put(name, term);
}
}
}
public void SaveData(){
yml.set(dataKey,null);
// 保存 dayDataMap 到配置文件
for (Map.Entry<String, Double> entry : dayDataMap.entrySet()) {
String name = entry.getKey();
double dayData = entry.getValue();
yml.set(dataKey+"." + name + ".daydata", dayData);
}
// 保存 monthDataMap 到配置文件
for (Map.Entry<String, Double> entry : monthDataMap.entrySet()) {
String name = entry.getKey();
double monthData = entry.getValue();
yml.set(dataKey+"." + name + ".monthdata", monthData);
}
// 保存 rechargeData 到配置文件
for (Map.Entry<String, Double> entry : consumeData.entrySet()) {
String name = entry.getKey();
double longTermData = entry.getValue();
yml.set(dataKey+"." + name + ".longTermData", longTermData);
}
// 保存配置文件
try {
yml.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
}