From 22a4ef4f4212dae8ee94342e1f7619a9f6560b9a Mon Sep 17 00:00:00 2001 From: imhao183 Date: Thu, 16 Jul 2020 15:02:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=92=A4=E5=9B=9E=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=97=B6=E5=BC=82=E5=B8=B8=E4=BF=A1=E6=81=AF=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/moquette/persistence/MemoryMessagesStore.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 0edcf851..76a3b8e5 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -34,6 +34,7 @@ import io.moquette.spi.IMessagesStore; import io.moquette.spi.security.Tokenor; import io.moquette.spi.impl.subscriptions.Topic; import io.netty.handler.codec.mqtt.MqttVersion; +import org.json.simple.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import win.liyufan.im.*; @@ -1471,7 +1472,14 @@ public class MemoryMessagesStore implements IMessagesStore { String searchContent = message.getContent().getSearchableContent() == null ? "" : message.getContent().getSearchableContent(); String cont = message.getContent().getContent() == null ? "" : message.getContent().getContent().replace("\"", "\\\""); String extra = message.getContent().getExtra() == null ? "" : message.getContent().getExtra().replace("\"", "\\\""); - String recalledContent = "{\"s\":\"" + message.getFromUser() + "\",\"ts\":" + message.getServerTimestamp() + ",\"t\":" + message.getContent().getType() + ",\"sc\":\"" + searchContent + "\",\"c\":\"" + cont + "\",\"e\":\"" + extra + "\"}"; + JSONObject json = new JSONObject(); + json.put("s", message.getFromUser()); + json.put("ts", message.getServerTimestamp()); + json.put("t", message.getContent().getType()); + json.put("sc", message.getContent().getSearchableContent()); + json.put("c", message.getContent().getContent()); + json.put("e", message.getContent().getExtra()); + String recalledContent = json.toJSONString(); message = message.toBuilder().setContent(message.getContent().toBuilder().setContent(operatorId).setType(80).clearSearchableContent().setData(ByteString.copyFrom(String.valueOf(messageUid).getBytes())).setExtra(recalledContent).build()).build(); messageBundle.setMessage(message);