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; 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(); 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; StatBase statbase;
for (Iterator iterator = stats.keySet().iterator(); iterator.hasNext(); stringbuilder1.append(stats.get(statbase)).append(",")) {
for (Iterator iterator = par2Map.keySet().iterator(); iterator.hasNext(); stringbuilder1.append(par2Map.get(statbase)).append(","))
{
statbase = (StatBase)iterator.next(); statbase = (StatBase)iterator.next();
if (!flag) JsonObject jsonArrayItem = new JsonObject();
{ jsonArrayItem.addProperty(String.valueOf(statbase.statId), stats.get(statbase));
stringbuilder.append("},");
}
else
{
flag = false;
}
stringbuilder.append("\r\n {\"").append(statbase.statId).append("\":").append(par2Map.get(statbase));
stringbuilder1.append(statbase.statGuid).append(","); stringbuilder1.append(statbase.statGuid).append(",");
}
if (!flag) jsonStatsChange.add(jsonArrayItem);
{
stringbuilder.append("}");
} }
jsonRootObject.add("stats-change", jsonStatsChange);
MD5String md5string = new MD5String(par1Str); MD5String md5string = new MD5String(userSessionId);
stringbuilder.append("\r\n ],\r\n"); jsonRootObject.addProperty("checksum", md5string.getMD5String(stringbuilder1.toString()));
stringbuilder.append(" \"checksum\":\"").append(md5string.getMD5String(stringbuilder1.toString())).append("\"\r\n");
stringbuilder.append("}"); return jsonRootObject.toString();
return stringbuilder.toString();
} }
/** /**