From cfdab7d0c0d61485997a255fe05ad0849d21fe4a Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 22 七月 2024 10:17:52 +0800 Subject: [PATCH] 2024年07月22日10:17:47 --- app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 27 ++++++++++++++++++--------- 1 files changed, 18 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java index 197b7e6..9a57ee2 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java @@ -909,20 +909,29 @@ */ public void getGatewayInfo(String mac, LinkCallBack<GatewayBean> linkCallBack) { String requestUrl = TopicApi.GET_GATEWAY_INFO; - TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, null, "", new HDLLinkCallBack() { + JsonObject json = new JsonObject(); + json.addProperty("device_mac", mac); + TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, json, "", new HDLLinkCallBack() { @Override public void onSuccess(String json) { - if (TextUtils.isEmpty(json)) { - if (linkCallBack != null) { - linkCallBack.onSuccess(null); - } + if (linkCallBack == null) { return; } - Gson gson = new Gson(); - GatewayBean gatewayBean = gson.fromJson(json, GatewayBean.class); - if (linkCallBack != null) { - linkCallBack.onSuccess(gatewayBean); + if (TextUtils.isEmpty(json)) { + linkCallBack.onSuccess(null); + return; } + + Gson gson = new Gson(); + Type typeOfT = new TypeToken<BaseLocalResponse<GatewayBean>>() { + }.getType(); + BaseLocalResponse<GatewayBean> baseLocalResponse = gson.fromJson(json, typeOfT); + if (baseLocalResponse == null || baseLocalResponse.getObjects() == null) { + linkCallBack.onSuccess(new GatewayBean()); + } else { + linkCallBack.onSuccess(baseLocalResponse.getObjects()); + } + } @Override -- Gitblit v1.8.0