This commit is contained in:
xuzhiheng
2025-06-05 12:21:31 +08:00
parent 8c508f3a74
commit 503771fe7c
64 changed files with 2911 additions and 537 deletions

View File

@@ -279,6 +279,20 @@ public class V1RequestHandler
"/peripheralJobs/dispatcher/trigger",
this::handlePostPeripheralJobsDispatchTrigger
);
//新建接口,接收平台异步响应
service.post(
"/vehicles/receiveCallback",
this::handlePostReceiveCallback
);
}
private Object handlePostReceiveCallback(Request request, Response response)
throws KernelRuntimeException {
response.type(HttpConstants.CONTENT_TYPE_TEXT_PLAIN_UTF8);
vehicleHandler.postReceiveCallback(
request.body()
);
return "";
}
private Object handlePostDispatcherTrigger(Request request, Response response)

View File

@@ -4,6 +4,8 @@ package org.opentcs.kernel.extensions.servicewebapi.v1;
import static java.util.Objects.requireNonNull;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import jakarta.annotation.Nullable;
import jakarta.inject.Inject;
import java.util.Comparator;
@@ -13,6 +15,9 @@ import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import org.opentcs.access.KernelServicePortal;
import org.opentcs.access.rmi.KernelServicePortalBuilder;
import org.opentcs.common.GuestUserCredentials;
import org.opentcs.components.kernel.services.RouterService;
import org.opentcs.components.kernel.services.VehicleService;
import org.opentcs.data.ObjectUnknownException;
@@ -31,6 +36,7 @@ import org.opentcs.kernel.extensions.servicewebapi.v1.binding.GetVehicleResponse
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PostVehicleRoutesRequestTO;
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PutVehicleAllowedOrderTypesTO;
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PutVehicleEnergyLevelThresholdSetTO;
import org.opentcs.manage.AdapterManage;
/**
* Handles requests related to vehicles.
@@ -59,6 +65,29 @@ public class VehicleHandler {
this.executorWrapper = requireNonNull(executorWrapper, "executorWrapper");
}
/**
* 接收平台异步回调处理
*/
public void postReceiveCallback(Object data) {
System.out.println("jsonObject-----ssss: " + data.toString());
//截取平台响应的字符串
// String jsonStr = data.toString().split("=", 2)[1];
String jsonStr = data.toString();
JSONObject jsonObject = JSON.parseObject(jsonStr);
String name = jsonObject.getString("name");
Integer type = jsonObject.getInteger("type");
//将数据更新到线程安全的集合中,防止线程阻塞
AdapterManage.setAdapterStatus(name);
if (type == 1) {
AdapterManage.setAdapterVehicleModel(name, jsonStr);
} else if (type == 5) {
//动作完成上报
AdapterManage.setActionStatus(name);
}
}
/**
* Find all vehicles orders and filters depending on the given parameters.
*