From 32962c32d4ca368a2df84262d777c3de8cfdf5b6 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 29 May 2020 13:40:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8C=8E=E5=A6=96=E5=92=8C=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E6=A3=80=E6=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/db/mongo/MongoUtil.java | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoUtil.java index d5ad9f16f..4236fcacc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoUtil.java @@ -1,7 +1,9 @@ package com.ljsd.jieling.db.mongo; +import com.alibaba.fastjson.JSON; import com.fasterxml.jackson.core.type.TypeReference; import com.google.gson.*; +import com.google.gson.reflect.TypeToken; import com.ljsd.common.mogodb.LjsdMongoTemplate; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.dao.root.User; @@ -24,6 +26,7 @@ import java.io.PrintWriter; import java.lang.reflect.Type; import java.net.UnknownHostException; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; public class MongoUtil { @@ -150,15 +153,16 @@ public class MongoUtil { } return false; } - }).registerTypeAdapter(Map.class, (JsonDeserializer>) (json, typeOfT, context) -> { - TreeMap treeMap = new TreeMap<>(); - JsonObject jsonObject = json.getAsJsonObject(); - Set> entrySet = jsonObject.entrySet(); - for (Map.Entry entry : entrySet) { - treeMap.put(entry.getKey(), entry.getValue()); - } - return treeMap; - }).create(); + }).registerTypeAdapter(HashMap.class, new JsonSerializer() { + @Override + public JsonElement serialize(AbstractMap abstractMap, Type type, JsonSerializationContext jsonSerializationContext) { + TreeMap treeMap = new TreeMap<>(abstractMap); + JsonParser jp = new JsonParser(); + JsonElement je = jp.parse(String.valueOf(JSON.toJSON(treeMap))); + return je; + } + } + ).create(); String s = gson.toJson(byId); @@ -211,10 +215,15 @@ public class MongoUtil { } else { LOGGER.info("定期检查数据库对象数据一致性 匹配" + byId.getId()); } - - //JsonObject obj = (JsonObject) parser.parse(json1); - //JsonParser parser1 = new JsonParser(); - //JsonObject obj1 = (JsonObject) parser1.parse(json2); 也可以 不好排查 + JsonParser parser = new JsonParser(); + JsonObject obj = (JsonObject) parser.parse(s1); + JsonParser parser1 = new JsonParser(); + JsonObject obj1 = (JsonObject) parser1.parse(s); //也可以 不好排查 + if(obj.equals(obj1)){ + LOGGER.info(" 匹配"); + }else { + LOGGER.info(" not 匹配"); + } }, new LinkedList<>(ids), 2); }