refac: замена ручной генерации json на Gson

This commit is contained in:
2025-06-11 19:22:43 +03:00
parent b226f5e8ef
commit 7b90db3857

View File

@@ -168,51 +168,33 @@ public class StatFileWriter
return hashmap;
}
public static String func_27185_a(String par0Str, String par1Str, Map par2Map)
public static String func_27185_a(String userName, String userSessionId, Map<StatBase,Integer> stats)
{
StringBuilder stringbuilder = new StringBuilder();
JsonObject jsonRootObject = new JsonObject();
JsonObject jsonUserObject = new JsonObject();
jsonUserObject.addProperty("name", userName);
jsonUserObject.addProperty("sessionid", userSessionId);
jsonRootObject.add("user", jsonUserObject);
JsonArray jsonStatsChange = new JsonArray();
StringBuilder stringbuilder1 = new StringBuilder();
boolean flag = true;
stringbuilder.append("{\r\n");
if (par0Str != null && par1Str != null)
{
stringbuilder.append(" \"user\":{\r\n");
stringbuilder.append(" \"name\":\"").append(par0Str).append("\",\r\n");
stringbuilder.append(" \"sessionid\":\"").append(par1Str).append("\"\r\n");
stringbuilder.append(" },\r\n");
}
stringbuilder.append(" \"stats-change\":[");
StatBase statbase;
for (Iterator iterator = par2Map.keySet().iterator(); iterator.hasNext(); stringbuilder1.append(par2Map.get(statbase)).append(","))
{
for (Iterator iterator = stats.keySet().iterator(); iterator.hasNext(); stringbuilder1.append(stats.get(statbase)).append(",")) {
statbase = (StatBase)iterator.next();
if (!flag)
{
stringbuilder.append("},");
}
else
{
flag = false;
}
stringbuilder.append("\r\n {\"").append(statbase.statId).append("\":").append(par2Map.get(statbase));
JsonObject jsonArrayItem = new JsonObject();
jsonArrayItem.addProperty(String.valueOf(statbase.statId), stats.get(statbase));
stringbuilder1.append(statbase.statGuid).append(",");
}
if (!flag)
{
stringbuilder.append("}");
jsonStatsChange.add(jsonArrayItem);
}
jsonRootObject.add("stats-change", jsonStatsChange);
MD5String md5string = new MD5String(par1Str);
stringbuilder.append("\r\n ],\r\n");
stringbuilder.append(" \"checksum\":\"").append(md5string.getMD5String(stringbuilder1.toString())).append("\"\r\n");
stringbuilder.append("}");
return stringbuilder.toString();
MD5String md5string = new MD5String(userSessionId);
jsonRootObject.addProperty("checksum", md5string.getMD5String(stringbuilder1.toString()));
return jsonRootObject.toString();
}
/**