From f68a0518107776824903fc574fcd8f4631e3a19e Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期二, 14 三月 2023 01:11:30 +0800
Subject: [PATCH] 查询设备状态

---
 service-common/src/main/java/com/java110/common/charge/factory/dingding/DingdingChargeMachineFactoryAdapt.java |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/charge/factory/dingding/DingdingChargeMachineFactoryAdapt.java b/service-common/src/main/java/com/java110/common/charge/factory/dingding/DingdingChargeMachineFactoryAdapt.java
index 36a7c66..43ca128 100644
--- a/service-common/src/main/java/com/java110/common/charge/factory/dingding/DingdingChargeMachineFactoryAdapt.java
+++ b/service-common/src/main/java/com/java110/common/charge/factory/dingding/DingdingChargeMachineFactoryAdapt.java
@@ -18,13 +18,16 @@
 
 /**
  * 鍙彯鍏呯數妗� 鍏呯數鎺ュ彛绫�
- *
+ * <p>
  * 鍙彯 鍏呯數妗� 閫氱煡澶勭悊绫诲悕涓� NotifyDingDingChargeController.java
  */
 @Service("dingdingChargeMachineFactory")
 public class DingdingChargeMachineFactoryAdapt implements IChargeFactoryAdapt {
 
     private static final String QUERY_PORT_URL = DingdingChargeUtils.URL + "/equipments/ID/PORT";
+
+    private static final String QUERY_CHARGE_STATE_URL = DingdingChargeUtils.URL + "/equipments/code/ID";
+
 
     //寮�濮嬪厖鐢�
     private static final String START_CHARGE_URL = DingdingChargeUtils.URL + "/equipments/ID/PORT/open";
@@ -121,4 +124,31 @@
 
         return ports;
     }
+
+    @Override
+    public void queryChargeMachineState(ChargeMachineDto chargeMachineDto) {
+        String url = QUERY_CHARGE_STATE_URL.replace("ID", chargeMachineDto.getMachineCode());
+
+        String paramOut = null;
+        try {
+            paramOut = DingdingChargeUtils.execute(url, "", HttpMethod.GET);
+        } catch (Exception e) {
+            throw new IllegalArgumentException(e.getMessage());
+        }
+
+        JSONObject paramObj = JSONObject.parseObject(paramOut);
+        if (paramObj.getIntValue("code") != 200) {
+            throw new IllegalArgumentException(paramObj.getString("msg"));
+        }
+
+        Boolean online = paramObj.getJSONObject("data").getBoolean("online");
+        if (online) {
+            chargeMachineDto.setState(ChargeMachineDto.STATE_ONLINE);
+            chargeMachineDto.setStateName("鍦ㄧ嚎");
+            return;
+        }
+
+        chargeMachineDto.setState(ChargeMachineDto.STATE_OFFLINE);
+        chargeMachineDto.setStateName("绂荤嚎");
+    }
 }

--
Gitblit v1.8.0