From 08f74861b6445c33054a66eb0e4e4d154884be51 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 27 三月 2024 17:30:54 +0800
Subject: [PATCH] 2024年03月27日17:30:49
---
app/src/main/java/com/hdl/photovoltaic/ui/newC/adapter/MessageCenterListAdapter.java | 5 +-
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java | 2 +
app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java | 15 ++++++-
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 80 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 98 insertions(+), 4 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
index 54702bc..ef25a07 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -130,6 +130,18 @@
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ unReadList.sort(new Comparator<MessageBean>() {
+ @Override
+ public int compare(MessageBean o1, MessageBean o2) {
+ if (o1 == null && o2 == null) {
+ return -1;
+ }
+ //鍊掑簭锛堥『搴� Long.compare(o2.getCreateTime(), o1.getCreateTime())锛�
+ return Long.compare(o2.getCreateTime(), o1.getCreateTime());
+ }
+ });
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
readList.sort(new Comparator<MessageBean>() {
@Override
public int compare(MessageBean o1, MessageBean o2) {
@@ -137,11 +149,10 @@
return -1;
}
//鍊掑簭锛堥『搴� Long.compare(o2.getCreateTime(), o1.getCreateTime())锛�
- return Long.compare(o1.getCreateTime(), o2.getCreateTime());
+ return Long.compare(o2.getCreateTime(), o1.getCreateTime());
}
});
}
-
if (unReadList.size() > 0) {
newList.addAll(unReadList);
}
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 45005db..8b43056 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -18,6 +18,7 @@
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
+import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -34,6 +35,8 @@
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
+import com.hdl.photovoltaic.internet.TcpClient;
+import com.hdl.photovoltaic.internet.api.TopicApi;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.listener.LinkCallBack;
import com.hdl.photovoltaic.ui.bean.CUserInfo;
@@ -56,6 +59,7 @@
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
import com.hdl.sdk.link.core.callback.GatewayCallBack;
+import com.hdl.sdk.link.core.callback.HDLLinkCallBack;
import com.hdl.sdk.link.core.callback.ModbusCallBack;
import com.hdl.sdk.link.core.connect.HDLModBusConnect;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
@@ -244,6 +248,16 @@
//閫嗗彉鍣ㄦ竻绌轰綇瀹卛d
case HDLUniMP.UNI_EVENT_REPLY_DEVICE_CLEAR_DATA: {
this.uniClearInverterHomeId(mode_type, data, callback);
+ }
+ break;
+ //spk灞炴�х紪杈�
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_Link_edit_SEND: {
+ this.uniLinkSpkAttributeEdit(mode_type, data, callback);
+ }
+ break;
+ //spk灞炴�ц鍙�
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_Link_read_SEND: {
+ this.uniLinkSpkAttributeRead(mode_type, data, callback);
}
break;
//鑾峰彇鏈鐞�/鏈娑堟伅鏁伴噺
@@ -1531,6 +1545,72 @@
}
+ /**
+ * link spk 灞炴�х紪杈�
+ *
+ * @param data uni鏁版嵁
+ * @param callback uni鍥炶皟
+ */
+ private void uniLinkSpkAttributeEdit(String type, Object data, DCUniMPJSCallback callback) {
+ String mac = getKeyValue("mac", getKeyValue("data", data));
+ String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data));
+ JsonArray jay = new JsonArray();
+ if (!TextUtils.isEmpty(attribute_data)) {
+ try {
+ Gson gson = new Gson();
+ JsonObject jObject = gson.fromJson(attribute_data, JsonObject.class);
+ String objects = jObject.get("objects").toString();
+ jay = gson.fromJson(objects, JsonArray.class);
+ } catch (Exception ignored) {
+ }
+ }
+ TcpClient.getInstance().sendDataToLinkGateway(mac, TopicApi.PROPERTY_DOWN, jay, "", new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String msg) {
+ uniCallbackData(type, msg, callback);
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+ }
+ });
+ }
+
+ /**
+ * link spk 灞炴�ц鍙�
+ *
+ * @param data uni鏁版嵁
+ * @param callback uni鍥炶皟
+ */
+ private void uniLinkSpkAttributeRead(String type, Object data, DCUniMPJSCallback callback) {
+ String mac = getKeyValue("mac", getKeyValue("data", data));
+ String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data));
+ JsonArray jay = new JsonArray();
+//{"id":"c2d8b26b-3371-4fed-a190-78da31b454cf","time_stamp":"1711531144489","objects":[{"sid":"010126005C000251333036333237"}]}
+ if (!TextUtils.isEmpty(attribute_data)) {
+ try {
+ Gson gson = new Gson();
+ JsonObject jObject = gson.fromJson(attribute_data, JsonObject.class);
+ String objects = jObject.get("objects").toString();
+ jay = gson.fromJson(objects, JsonArray.class);
+ } catch (Exception ignored) {
+ }
+
+ }
+ TcpClient.getInstance().sendDataToLinkGateway(mac, TopicApi.PROPERTY_READ, jay, "", new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String msg) {
+ uniCallbackData(type, msg, callback);
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+ }
+ });
+ }
+
/**
* 鍙戦�乵odbus鍗忚鏁版嵁
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/adapter/MessageCenterListAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/adapter/MessageCenterListAdapter.java
index 085d4b2..96c12cb 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/adapter/MessageCenterListAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/adapter/MessageCenterListAdapter.java
@@ -43,8 +43,9 @@
@Override
public void onBindViewHolder(@NonNull MessageCenterListAdapter.MyViewHolder holder, int position) {
MessageBean messageBean = this.mList.get(position);
- holder.item_content_tv.setText(messageBean.getTitle());
- holder.item_home_name_tv.setText(messageBean.getHomeName());
+ holder.item_home_name_tv.setText(messageBean.getTitle());
+ String strName = messageBean.getType() + "(" + messageBean.getDeviceDesc() + ")";
+ holder.item_content_tv.setText(strName);
String date = TimeUtils.getTimeFromTimestamp(messageBean.getCreateTime());
holder.item_time_tv.setText(date);
String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:浜嬩欢
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
index 57c071c..89e5422 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -47,6 +47,8 @@
public final static String UNI_EVENT_REPLY_DEVICE_CLEAR_DATA = "clear_data";//璁惧娓呯┖浣忓畢id
public final static String UNI_EVENT_REPLY_DEVICE_UPLOADING_DATA = "uploading_data";//璁惧涓婁紶鏁版嵁
public final static String UNI_EVENT_REPLY_DEVICE_MODBUS_SEND = "modbus_send";//modbus鍗忚
+ public final static String UNI_EVENT_REPLY_DEVICE_Link_edit_SEND = "link_property_edit";//link鍗忚灞炴�х紪杈�
+ public final static String UNI_EVENT_REPLY_DEVICE_Link_read_SEND = "link_property_read";//link鍗忚灞炴�ц鍙�
public final static String UNI_EVENT_REPLY_DEVICE_MESSAGE_NUMBER = "message_number";//娑堟伅鎬绘暟閲�
public final static String UNI_EVENT_REPLY_DEVICE_DELETE_OID = "delete_Oid";//鍒犻櫎璁惧oid
--
Gitblit v1.8.0