From 0201c32312f6478b2bde706607c8c6338e9e1d06 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 27 五月 2026 17:05:29 +0800
Subject: [PATCH] 新增智能电表、空调管理
---
server/visits/dmvisit_service/src/main/java/com/doumee/core/device/ElectronicToolUtil.java | 69 +++++++++++++++++++++++++++++++++-
1 files changed, 66 insertions(+), 3 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/device/ElectronicToolUtil.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/device/ElectronicToolUtil.java
index 065155a..4b86b6b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/device/ElectronicToolUtil.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/device/ElectronicToolUtil.java
@@ -203,7 +203,7 @@
return null;
}
/**
- * 鐢佃〃寮�鎴穇鐢佃〃鍏呭��
+ * 鐢佃〃_鐢佃〃鍏呭��
*/
public static ElectronicBaseResponse recharger(List<OpenAccountRequest> param) {
if(param ==null || param.size()==0){
@@ -216,7 +216,7 @@
String r = requestAsync(url, request_content);
return parseAsyncMeterResponse(r);
}catch (Exception e){
- log.error("鐢佃〃==============寮�鎴�",e);
+ log.error("鐢佃〃==============鍏呭��",e);
}
return null;
}
@@ -227,7 +227,7 @@
if(param ==null || param.size()==0){
return null;
}
- String url = ElectronicConstant.api2_url+"/Api_v2/ele_security/ele_control";
+ String url = ElectronicConstant.api2_url+"/Api_v2/ele_control";
try {
String request_content = JSON.toJSONString(param);
@@ -239,6 +239,69 @@
return null;
}
/**
+ * 鏌ヨ寮傛鎿嶄綔浠诲姟鐘舵�侊紙/Api_v2/request/status锛夈��
+ * request_content 涓� JSON 鏁扮粍锛屽彲鍚堝苟浼犲叆澶氫釜 opr_id 涓�娆℃煡璇€��
+ * 璋冪敤鎴愬姛鍚庡缓璁� 30s 棣栨鏌ヨ锛屽悗缁棿闅旈�掑锛�1h銆�2h銆�4h鈥︼級锛岀姝㈤绻佽皟鐢ㄣ��
+ * 鍝嶅簲 SUCCESS銆丗AIL銆乀IMEOUT銆丆ANCELED銆丷ESPONSE_FAIL 鍚庢棤闇�鍐嶆煡璇€��
+ */
+ public static ElectronicBaseResponse requestStatus(List<RequestStatusRequest> param) {
+ if (param == null || param.isEmpty()) {
+ return null;
+ }
+ String url = ElectronicConstant.api2_url + "/Api_v2/request/status";
+ try {
+ String request_content = JSON.toJSONString(param);
+ String r = request(url, request_content);
+ return parseAsyncMeterResponse(r);
+ } catch (Exception e) {
+ log.error("鐢佃〃==============鏌ヨ寮傛浠诲姟鐘舵��", e);
+ }
+ return null;
+ }
+
+ /**
+ * 鎸� opr_id 鍒楄〃鍚堝苟鏌ヨ寮傛浠诲姟鐘舵�併��
+ */
+ public static ElectronicBaseResponse requestStatusByOprIds(List<String> oprIds) {
+ if (oprIds == null || oprIds.isEmpty()) {
+ return null;
+ }
+ List<RequestStatusRequest> param = new ArrayList<>();
+ for (String oprId : oprIds) {
+ if (StringUtils.isNotBlank(oprId)) {
+ RequestStatusRequest req = new RequestStatusRequest();
+ req.setOpr_id(oprId.trim());
+ param.add(req);
+ }
+ }
+ return param.isEmpty() ? null : requestStatus(param);
+ }
+
+ /**
+ * 鏌ヨ鍗曚釜寮傛鎿嶄綔浠诲姟鐘舵�併��
+ */
+ public static ElectronicBaseResponse requestStatus(String oprId) {
+ if (StringUtils.isBlank(oprId)) {
+ return null;
+ }
+ RequestStatusRequest req = new RequestStatusRequest();
+ req.setOpr_id(oprId.trim());
+ return requestStatus(Collections.singletonList(req));
+ }
+
+ /**
+ * 寮傛浠诲姟鏄惁宸插埌杈剧粓鎬侊紝骞冲彴鍚庣画涓嶅啀澶勭悊锛屾棤闇�鍐嶈疆璇€��
+ */
+ public static boolean isAsyncStatusFinal(String status) {
+ if (StringUtils.isBlank(status)) {
+ return false;
+ }
+ String s = status.trim().toUpperCase(Locale.ROOT);
+ return "SUCCESS".equals(s) || "FAIL".equals(s) || "TIMEOUT".equals(s)
+ || "CANCELED".equals(s) || "RESPONSE_FAIL".equals(s);
+ }
+
+ /**
* 鐢佃〃_绔嬪嵆鎶勮〃
*/
public static ElectronicBaseResponse eleRead(List<EleReadRequest> param) {
--
Gitblit v1.9.3