| | |
| | | break; |
| | | } |
| | | |
| | | if(fakeSocket.isClosed()) { |
| | | fakeSocket = null; |
| | | continue; |
| | | } |
| | | |
| | | handleClient(fakeSocket, device); |
| | | } |
| | | }catch (Exception e){ |
| | |
| | | log.info("收到Client Data: {}", JSON.toJSONString(result)); |
| | | processCommand(result, device); |
| | | } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | socket.close(); |
| | | fakeServerMap.remove(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo()); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | |
| | | JSONObject fakeStatus = fakeStatusMap.get(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo()); |
| | | |
| | | JSONObject request = result.getJSONObject("request"); |
| | | JSONObject header = request.getJSONObject("header"); |
| | | JSONObject body = request.getJSONObject("body"); |
| | | |
| | | Integer requestId = header.getInteger("requestId"); |
| | | String requestType = body.getString("requestType"); |
| | | Integer taskId = body.getInteger("taskId"); |
| | | if (requestType.equals("liftUp")) { |
| | | fakeStatus.put("hasLift", true); |
| | | response = genereateFakeCommandResponse(requestId, taskId, requestType); |
| | | } else if (requestType.equals("liftDown")) { |
| | | fakeStatus.put("hasLift", false); |
| | | response = genereateFakeCommandResponse(requestId, taskId, requestType); |
| | | } else if (requestType.equals("charge")) { |
| | | fakeStatus.put("hasCharge", true); |
| | | response = genereateFakeCommandResponse(requestId, taskId, requestType); |
| | | } else if (requestType.equals("stopCharge")) { |
| | | fakeStatus.put("hasCharge", false); |
| | | response = genereateFakeCommandResponse(requestId, taskId, requestType); |
| | | } else if (requestType.equals("updateFloor")) { |
| | | String currentCode = fakeStatus.getString("currentCode"); |
| | | JSONObject point = JSON.parseObject(currentCode); |
| | | point.put("z", body.getInteger("z")); |
| | | fakeStatus.put("currentCode", JSON.toJSONString(point)); |
| | | response = genereateFakeCommandResponse(requestId, taskId, requestType); |
| | | } else if (requestType.equals("move")) { |
| | | String pathList = body.getString("path"); |
| | | List<JSONObject> list = JSON.parseArray(pathList, JSONObject.class); |
| | |
| | | } |
| | | } |
| | | } else if (requestType.equals("readState")) { |
| | | response = genereateFakeStatusResponse(taskId, fakeStatus); |
| | | response = genereateFakeStatusResponse(requestId, fakeStatus); |
| | | } |
| | | |
| | | fakeStatusMap.put(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo(), fakeStatus); |
| | |
| | | return JSON.toJSONString(result); |
| | | } |
| | | |
| | | public String genereateFakeCommandResponse(Integer responseId, Integer taskId, String commandType) { |
| | | JSONObject result = new JSONObject(); |
| | | JSONObject response = new JSONObject(); |
| | | result.put("msgType", "responseMsg"); |
| | | result.put("robotId", 5001); |
| | | result.put("response", response); |
| | | |
| | | JSONObject header = new JSONObject(); |
| | | JSONObject body = new JSONObject(); |
| | | response.put("header", header); |
| | | response.put("body", body); |
| | | |
| | | header.put("responseId", responseId); |
| | | header.put("version", "GV-APP-F427-N24036-1112"); |
| | | |
| | | body.put("responseType", commandType); |
| | | body.put("result", "success"); |
| | | body.put("taskId", taskId); |
| | | return JSON.toJSONString(result); |
| | | } |
| | | |
| | | @Override |
| | | public boolean connect() { |
| | | return true; |