mac
2024-03-27 08f74861b6445c33054a66eb0e4e4d154884be51
2024年03月27日17:30:49

备份
4个文件已修改
102 ■■■■■ 已修改文件
app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/newC/adapter/MessageCenterListAdapter.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
        }
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 @@
                    //逆变器清空住宅id
                    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);
            }
        });
    }
    /**
     * 发送modbus协议数据
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:事件
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