修正撤回消息时异常信息问题

This commit is contained in:
imhao183
2020-07-16 15:22:21 +08:00
parent da0d2e22cc
commit 22a4ef4f42
@@ -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);