mac
2024-05-07 56c2f0faf5e9e33ec783a14c17ad46fbe8e7506c
app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -74,6 +74,21 @@
        return sortList(newList);
    }
    /**
     * 消息全部已读(本地缓存)
     *
     * @param isRead 是否读取(true已读取)
     */
    public void setAllRead(boolean isRead) {
        for (int i = 0; i < mListMessage.size(); i++) {
            MessageBean messageBean = mListMessage.get(i);
            if (messageBean == null) {
                continue;
            }
            messageBean.setRead(isRead);
        }
    }
    /**
     * 获取恢复中缓存列表
@@ -115,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) {
@@ -122,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);
        }
@@ -166,7 +192,8 @@
                    break;
                }
            }
        } catch (Exception ignored) {
        } catch (Exception e) {
            String ss = e.getMessage();
        }
    }
@@ -466,23 +493,32 @@
    /**
     * 获取指定页的获取消息列表(用于C端)
     *
     * @param pageNo           页码
     * @param messageStateType all:全部,UNTREATED:未处理,PROCESSED:已处理;
     * @param filter_key       类型(设备,等级,时间)
     * @param filter_value     deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元);
     *                         type(FAULT :故障; WARN :告警; EVENT :事件(提示));
     *                         timeType(TODAY :今天;LAST_3_DAYS: 近3天;LAST_7_DAYS :近7天;LAST_30_DAYS :近30天);
     * @param cloudCallBeak    -
     * @param homeId                  电站id
     * @param pageNo                  页码
     * @param messageStateType        all:全部,UNTREATED:未处理,PROCESSED:已处理;
     * @param deviceType_filter_key   类型(设备,等级,时间)
     * @param deviceType_filter_value deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元);
     *                                type(FAULT :故障; WARN :告警; EVENT :事件(提示));
     *                                timeType(TODAY :今天;LAST_3_DAYS: 近3天;LAST_7_DAYS :近7天;LAST_30_DAYS :近30天);
     * @param cloudCallBeak           -
     */
    public void getPageNoMessageList_C(int pageNo, String messageStateType, String filter_key, String filter_value, CloudCallBeak<MessageListClass> cloudCallBeak) {
    public void getPageNoMessageList_C(String homeId, int pageNo, String messageStateType, String deviceType_filter_key, String deviceType_filter_value, String type_filter_key, String type_filter_value, String timeType_filter_key, String timeType_filter_value, CloudCallBeak<MessageListClass> cloudCallBeak) {
        String requestUrl = HttpApi.POST_Message_List;
        JsonObject json = new JsonObject();
        if (!TextUtils.isEmpty(homeId)) {
            json.addProperty("homeId", homeId);
        }
        if (!MessageStateType.all.equals(messageStateType)) {
            json.addProperty("status", messageStateType);
        }
        if (!TextUtils.isEmpty(filter_key) && !TextUtils.isEmpty(filter_value)) {
            json.addProperty(filter_key, filter_value);
        if (!TextUtils.isEmpty(deviceType_filter_key) && !TextUtils.isEmpty(deviceType_filter_value)) {
            json.addProperty(deviceType_filter_key, deviceType_filter_value);
        }
        if (!TextUtils.isEmpty(type_filter_key) && !TextUtils.isEmpty(type_filter_value)) {
            json.addProperty(type_filter_key, type_filter_value);
        }
        if (!TextUtils.isEmpty(timeType_filter_key) && !TextUtils.isEmpty(timeType_filter_value)) {
            json.addProperty(timeType_filter_key, timeType_filter_value);
        }
        json.addProperty("pageNo", pageNo);//页码
        json.addProperty("pageSize", pageSize);//页数