From e7f57669f58160b14350589a6789cb801c8a82e4 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 15 十二月 2025 13:54:30 +0800
Subject: [PATCH] 2025年12月15日13:54:27
---
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 124 +++++++++++++++++++++++++++++++++++++---
1 files changed, 113 insertions(+), 11 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index 5c88631..059e728 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -54,6 +54,7 @@
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.ui.bean.LinkBean;
import com.hdl.photovoltaic.ui.bean.MemberBean;
+import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.photovoltaic.ui.bean.NotRunBean;
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.photovoltaic.ui.bean.QrcodeUrlBean;
@@ -62,7 +63,9 @@
import com.hdl.photovoltaic.ui.bean.UserRightTypeBean;
import com.hdl.photovoltaic.ui.me.AsRegardsActivity;
import com.hdl.photovoltaic.ui.me.CPersonalDataActivity;
+import com.hdl.photovoltaic.ui.me.HelpWebActivity;
import com.hdl.photovoltaic.ui.me.SetActivity;
+import com.hdl.photovoltaic.ui.message.MessageInfoActivity;
import com.hdl.photovoltaic.ui.newC.MessageCenterListActivity;
import com.hdl.photovoltaic.ui.newC.PowerStationsListActivity;
import com.hdl.photovoltaic.uni.HDLUniMP;
@@ -401,6 +404,11 @@
this.uniDeleteOid(mode_type, data, callback);
}
break;
+ //璁惧娓呯┖杩愯鏁版嵁
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_clear_data: {
+ this.uniDeviceClearData(mode_type, data, callback);
+ }
+ break;
}
} else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(topic)) {
@@ -669,6 +677,29 @@
}
break;
+ //鎵撳紑娑堟伅璇︽儏
+ case HDLUniMP.UNI_EVENT_REPLY_Message_Center_Detail: {
+ try {
+ String msgId = getKeyValue("msgId", getKeyValue("data", data));//鍞竴鏍囪瘑
+ MessageBean messageBean = new MessageBean();
+ messageBean.setMsgId(Long.parseLong(msgId));
+ Intent intent = new Intent();
+ intent.putExtra("messageBean", new Gson().toJson(messageBean));
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setClass(HDLApp.getInstance(), MessageInfoActivity.class);
+ HDLApp.getInstance().startActivity(intent);
+ } catch (Exception e) {
+ }
+ }
+ break;
+ //鎵撳紑C绔府鍔╅〉闈�
+ case HDLUniMP.UNI_EVENT_REPLY_help_Detail: {
+ Intent intent = new Intent();
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setClass(HDLApp.getInstance(), HelpWebActivity.class);
+ HDLApp.getInstance().startActivity(intent);
+ }
+ break;
}
@@ -817,6 +848,12 @@
}
break;
+ //璁惧瀹氫綅
+ case HDLUniMP.UNI_EVENT_REPLY_OTHER_GET_DEVICE_LOCATION: {
+ this.uniGetDeviceFind(mode_type, data, TopicApi.DELETING_GATEWAY_FIND, callback);
+ ;
+ }
+ break;
}
} else if (HDLUniMP.UNI_EVENT_REPLY_NO_WORK_MODEL.equals(topic)) {
//鏃犵綉妯″紡
@@ -931,6 +968,7 @@
*/
public void sendUni(String topic, HDLUniMP.UniCallBackBaseBean callBackBaseBean) {
try {
+// HdlLogLogic.print("uni---鍘熺敓涓诲姩鍚戝皬绋嬪簭鍙戦�侀�氱煡浜嬩欢---" +topic, false);
HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, topic, getJSONObject(callBackBaseBean));
} catch (Exception e) {
HdlLogLogic.print("uni---鍘熺敓涓诲姩鍚戝皬绋嬪簭鍙戦�侀�氱煡浜嬩欢---" + e.getMessage(), false);
@@ -965,6 +1003,47 @@
@Override
public void onError(HDLLinkException e) {
+ if (callback != null) {
+ uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+ }
+ }
+ });
+ }
+
+ /**
+ * 璁惧瀹氫綅
+ */
+ private void uniGetDeviceFind(String type, Object data, String TopicApi, DCUniMPJSCallback callback) {
+ String mac = getKeyValue("mac", getKeyValue("data", data));
+ JsonObject jObject = new JsonObject();
+ String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data));
+ if (!TextUtils.isEmpty(attribute_data)) {
+ try {
+ jObject = new Gson().fromJson(attribute_data, JsonObject.class);
+ } catch (Exception ignored) {
+ jObject = new JsonObject();
+ }
+ }
+ TcpClient.getInstance().sendDataToLinkGateway(mac, false, TopicApi, jObject, "", new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String s) {
+ if (callback != null) {
+ try {
+ if (s.startsWith("{")) {
+ uniSuccessCallback(type, new Gson().fromJson(s, JsonObject.class), callback);
+ } else if (s.startsWith("[")) {
+ uniSuccessCallback(type, new Gson().fromJson(s, JsonArray.class), callback);
+ } else {
+ uniSuccessCallback(type, s, callback);
+ }
+ } catch (Exception e) {
+ uniSuccessCallback(type, s, callback);
+ }
+ }
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
if (callback != null) {
uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
}
@@ -1670,7 +1749,7 @@
uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback);
return;
}
- if (cloudInverterDeviceBean.getDeviceStatus() != 3) {
+ if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) {
uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback);
return;
}
@@ -1709,7 +1788,7 @@
uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback);
return;
}
- if (cloudInverterDeviceBean.getDeviceStatus() != 3) {
+ if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) {
uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback);
return;
}
@@ -1784,7 +1863,7 @@
private void uniGetLocalDrivers(String type, Object data, DCUniMPJSCallback callback) {
try {
String driveCode = getKeyValue("driveCode", getKeyValue("data", data));//椹卞姩缂栧彿鎴栭┍鍔ㄥ悕绉�
-// String osImageId = getKeyValue("osImageId", getKeyValue("data", data));//椹卞姩绫诲瀷id
+ String imageId = getKeyValue("imageId", getKeyValue("data", data));//椹卞姩闀滃儚Id
// String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//椹卞姩绫诲瀷id
List<GatewayDriverBean> list = new ArrayList<>();
String driverFileList = HdlFileLogic.getInstance().getDriveRootPath();
@@ -1792,14 +1871,15 @@
if (file.list() != null) {
for (int i = 0; i < Objects.requireNonNull(file.list()).length; i++) {
String fileName = Objects.requireNonNull(file.list())[i];
- if (!fileName.contains(driveCode)) {
+ if (!fileName.contains(driveCode + "_" + imageId)) {
continue;
}
String[] driverInfoAry = fileName.split("_");
GatewayDriverBean gatewayDriverBean = new GatewayDriverBean();
gatewayDriverBean.setDriverCode(driverInfoAry[0]);
- gatewayDriverBean.setVersion(driverInfoAry[1].replace(".zip", ""));
- gatewayDriverBean.setLocalUrl(HdlFileLogic.getInstance().getDrivePathFileName(gatewayDriverBean.getDriverCode(), gatewayDriverBean.getVersion()));
+ gatewayDriverBean.setImageId(driverInfoAry[1]);
+ gatewayDriverBean.setVersion(driverInfoAry[2].replace(".zip", ""));
+ gatewayDriverBean.setLocalUrl(HdlFileLogic.getInstance().getDrivePathFileName(gatewayDriverBean.getDriverCode(),gatewayDriverBean.getImageId(), gatewayDriverBean.getVersion()));
list.add(gatewayDriverBean);
}
}
@@ -1819,7 +1899,7 @@
// String deviceOid = getKeyValue("oid", getKeyValue("data", data));//閫嗗彉鍣ㄨ澶噊id
String driverCode = getKeyValue("driverCode", getKeyValue("data", data));//椹卞姩缂栫爜
-// String imageId = getKeyValue("imageId", getKeyValue("data", data));//椹卞姩闀滃儚id
+ String imageId = getKeyValue("imageId", getKeyValue("data", data));//椹卞姩闀滃儚id
String version = getKeyValue("version", getKeyValue("data", data));//椹卞姩鐗堟湰
// String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//椹卞姩鐗堟湰id
String localUrl = getKeyValue("localUrl", getKeyValue("data", data));//鍌ㄥ瓨鍦ㄦ湰鍦伴┍鍔ㄦ枃浠惰矾寰�
@@ -1832,7 +1912,7 @@
@Override
public void run() {
- String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, version);
+ String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode,imageId, version);
//涓嶅湪瀛愮嚎绋嬭娴佷細鍗℃涓荤嚎绋�
boolean isBoolean = HdlOtaLogic.getInstance().disposeDownLoadFile(drivePathFileName, responseBody, md5, HdlOtaLogic.driver_type);
if (isBoolean) {
@@ -1884,7 +1964,7 @@
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
//鏈湴鍗囩骇椹卞姩鏂囦欢璺緞
- String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, version);
+ String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode,imageId, version);
byte[] data = HdlFileLogic.getInstance().readFileByte(drivePathFileName);
if (data == null || data.length == 0) {
uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.found_locally_drive_file), callback);
@@ -1923,7 +2003,7 @@
uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback);
return;
}
- if (cloudInverterDeviceBean.getDeviceStatus() != 3) {
+ if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) {
uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback);
return;
}
@@ -1962,7 +2042,7 @@
uniCallbackData(type, null, 6, HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_binding_cloud_upgrade_fails), callback);
return;
}
- if (cloudInverterDeviceBean.getDeviceStatus() != 3) {
+ if (cloudInverterDeviceBean.getDeviceStatus() == 1 || cloudInverterDeviceBean.getDeviceStatus() == 4) {
uniCallbackData(type, null, cloudInverterDeviceBean.getDeviceStatus(), HDLApp.getInstance().getAppLocaleContext().getString(R.string.ota_not_cloud_upgrade_fails), callback);
return;
}
@@ -2902,6 +2982,28 @@
});
}
+ /**
+ * 璁惧娓呯┖杩愯鏁版嵁
+ *
+ * @param type 绫诲瀷
+ * @param data uni璇锋眰鏁版嵁
+ * @param callback uni鍥炶皟
+ */
+ public void uniDeviceClearData(String type, Object data, DCUniMPJSCallback callback) {
+ String mac = getKeyValue("mac", getKeyValue("data", data));
+ HdlDeviceLogic.getInstance().DeviceClearData(mac, new LinkCallBack<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ uniSuccessCallback(type, obj, callback);
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+ }
+ });
+ }
+
/**
* 鍙戦�乵odbus鍗忚鏁版嵁
--
Gitblit v1.8.0