From b89cb5972e469ee5856cf7718ec90d067b86d99e Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 08 七月 2025 16:56:02 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java b/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java
index 6071aae..53e7eee 100644
--- a/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java
@@ -130,6 +130,10 @@
try {
JSONObject fakeStatus = fakeStatusMap.get(key);
String commandType = command.getString("commandType");
+ if (commandType == null) {
+ return;
+ }
+
if (commandType.equals("liftUp")) {
fakeStatus.put("deviceStatus", 0);//璁惧蹇欑
fakeStatusMap.put(key, fakeStatus);
@@ -155,6 +159,18 @@
//delay
Thread.sleep(2000);
fakeStatus.put("hasCharge", true);
+
+ Integer batteryPower = Integer.parseInt(fakeStatus.getString("batteryPower"));
+ while (true) {
+ Thread.sleep(10000);
+ batteryPower = batteryPower + 1;
+ fakeStatus.put("batteryPower", batteryPower);
+ fakeStatusMap.put(key, fakeStatus);
+ if(batteryPower >= 100) {
+ break;
+ }
+ }
+
fakeStatus.put("deviceStatus", 1);//璁惧绌洪棽
fakeStatusMap.put(key, fakeStatus);
}else if (commandType.equals("stopCharge")) {
@@ -212,8 +228,18 @@
private void handleClient(DeviceConfig device) throws IOException {
try {
Socket socket = fakeServerMap.get(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo());
+ if (socket == null) {
+ removeFake(device);
+ return;
+ }
+ InputStream inputStream = socket.getInputStream();
+ if(inputStream == null){
+ removeFake(device);
+ return;
+ }
+
// 鑾峰彇杈撳叆娴�
- BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
+ BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// 璇诲彇鏈嶅姟鍣ㄧ殑鍝嶅簲
StringBuffer sb = new StringBuffer();
char[] chars = new char[2048];//缂撳啿鍖�
@@ -234,6 +260,12 @@
}
}
+ private void removeFake(DeviceConfig device) {
+ fakeServerMap.remove(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo());
+ fakeStatusMap.remove(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo());
+ fakeCommandMap.remove(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo());
+ }
+
public void processCommand(JSONObject result, DeviceConfig device) throws IOException {
String response = null;
JSONObject fakeStatus = fakeStatusMap.get(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo());
--
Gitblit v1.9.1