Skip to content

Commit e3700a7

Browse files
author
xiaofeng
committed
bugfix:替换fastjson
1 parent 6f0e429 commit e3700a7

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

case-server/src/main/java/com/xiaoju/framework/handler/Room.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
package com.xiaoju.framework.handler;
22

3-
import com.alibaba.fastjson.JSON;
4-
import com.alibaba.fastjson.JSONArray;
5-
import com.alibaba.fastjson.JSONObject;
3+
import com.fasterxml.jackson.databind.JsonNode;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import com.fasterxml.jackson.databind.node.ArrayNode;
66
import com.xiaoju.framework.entity.persistent.TestCase;
77
import com.xiaoju.framework.mapper.TestCaseMapper;
88
import com.xiaoju.framework.service.CaseBackupService;
99
import com.xiaoju.framework.service.RecordService;
1010
import com.xiaoju.framework.util.BitBaseUtil;
11-
import com.xiaoju.framework.util.TreeUtil;
1211
import org.apache.poi.util.StringUtil;
1312
import org.slf4j.Logger;
1413
import org.slf4j.LoggerFactory;
1514
import org.springframework.util.StringUtils;
1615

17-
import javax.annotation.Resource;
1816
import javax.websocket.Session;
19-
import java.awt.*;
2017
import java.util.*;
2118
import java.util.List;
2219
import java.util.concurrent.ConcurrentHashMap;
@@ -46,6 +43,8 @@ public abstract class Room {
4643
public static RecordService recordService;
4744
public static CaseBackupService caseBackupService;
4845

46+
ObjectMapper jsonMapper = new ObjectMapper();
47+
4948
protected String testCaseContent;
5049
protected TestCase testCase;
5150

@@ -190,18 +189,22 @@ private void broadcastMessage(String msg) {
190189
} else {
191190
int seperateIndex = msg.indexOf('|');
192191
String sendSessionId = msg.substring(0, seperateIndex);
193-
JSONObject request = JSON.parseObject(msg.substring(seperateIndex + 1));
194-
JSONArray patch = (JSONArray) request.get("patch");
195-
long currentVersion = ((JSONObject) request.get("case")).getLong("base");
196-
testCaseContent = ((JSONObject) request.get("case")).toJSONString().replace("\"base\":" + currentVersion, "\"base\":" + (currentVersion + 1));
197-
for (Player p : players) {
198-
if (sendSessionId.equals(p.getClient().getSession().getId())) { //ack消息
199-
String msgAck = "[[{\"op\":\"replace\",\"path\":\"/base\",\"value\":" + (currentVersion + 1) + "}]]";
200-
p.getBufferedMessages().add(msgAck);
201-
} else { // notify消息
202-
String msgNotify = patch.toJSONString().replace("[[{", "[[{\"op\":\"replace\",\"path\":\"/base\",\"value\":" + (currentVersion + 1) + "},{");
203-
p.getBufferedMessages().add(msgNotify);
192+
try {
193+
JsonNode request = jsonMapper.readTree(msg.substring(seperateIndex + 1));
194+
ArrayNode patch = (ArrayNode) request.get("patch");
195+
long currentVersion = ((JsonNode) request.get("case")).get("base").asLong();
196+
testCaseContent = ((JsonNode) request.get("case")).toString().replace("\"base\":" + currentVersion, "\"base\":" + (currentVersion + 1));
197+
for (Player p : players) {
198+
if (sendSessionId.equals(p.getClient().getSession().getId())) { //ack消息
199+
String msgAck = "[[{\"op\":\"replace\",\"path\":\"/base\",\"value\":" + (currentVersion + 1) + "}]]";
200+
p.getBufferedMessages().add(msgAck);
201+
} else { // notify消息
202+
String msgNotify = patch.toString().replace("[[{", "[[{\"op\":\"replace\",\"path\":\"/base\",\"value\":" + (currentVersion + 1) + "},{");
203+
p.getBufferedMessages().add(msgNotify);
204+
}
204205
}
206+
} catch (Exception e) {
207+
LOGGER.error("json 操作失败。", e);
205208
}
206209
}
207210
}

case-server/src/main/java/com/xiaoju/framework/service/impl/CaseBackupServiceImpl.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,8 @@
2020

2121
import javax.annotation.Resource;
2222
import java.io.IOException;
23-
import java.lang.reflect.Field;
2423
import java.util.*;
2524

26-
import static com.flipkart.zjsonpatch.DiffFlags.ADD_EXPLICIT_REMOVE_ADD_ON_REPLACE;
2725
import static com.flipkart.zjsonpatch.DiffFlags.ADD_ORIGINAL_VALUE_ON_REPLACE;
2826

2927
/**

0 commit comments

Comments
 (0)