From a583d00d2e629b72cae74864d67168ccb5f71daa Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 28 十二月 2023 21:46:24 +0800
Subject: [PATCH] 2023年12月28日21:46:15

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java |   96 ++++++++++++++++++++++++++---------------------
 1 files changed, 53 insertions(+), 43 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 93f1665..f78b194 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -41,7 +41,7 @@
     /**
      * 鑾峰彇鍙戠敓涓紦瀛樺垪琛�
      */
-    public List<MessageBean> getRecoverMessageMemoryList() {
+    public List<MessageBean> getNascentMessageMemoryList() {
         if (this.mListMessage == null || this.mListMessage.size() == 0) {
             return new ArrayList<>();
         }
@@ -57,9 +57,9 @@
     }
 
     /**
-     * 鑾峰彇澶勭悊涓紦瀛樺垪琛�
+     * 鑾峰彇鎭㈠涓紦瀛樺垪琛�
      */
-    public List<MessageBean> getNascentMessageMemoryList() {
+    public List<MessageBean> getRecoverMessageMemoryList() {
         if (this.mListMessage == null || this.mListMessage.size() == 0) {
             return new ArrayList<>();
         }
@@ -67,6 +67,7 @@
         for (int i = 0; i < mListMessage.size(); i++) {
             MessageBean messageBean = mListMessage.get(i);
             if (messageBean.getStatus().equals(MessageStateType.processed)) {
+                messageBean.setRead(true);//榛樿宸茶
                 newList.add(messageBean);
             }
 
@@ -78,6 +79,11 @@
         return mListMessage;
     }
 
+    /**
+     * 娣诲姞娑堟伅鍒板垪琛ㄩ噷闈�
+     *
+     * @param list -
+     */
     public void setListMessage(List<MessageBean> list) {
         try {
             if (list == null || list.size() == 0) {
@@ -87,23 +93,37 @@
                 this.mListMessage.addAll(list);
                 return;
             }
-            List<MessageBean> newList = new ArrayList<>();
             for (int i = 0; i < list.size(); i++) {
-                MessageBean messageBean = list.get(i);
-                boolean if_boolean = false;
-                for (int j = 0; j < mListMessage.size(); j++) {
-                    if (mListMessage.get(j).toString().equals(messageBean.getMsgId().toString())) {
-                        mListMessage.remove(j);
-                        mListMessage.add(j, messageBean);
-                        if_boolean = true;
-                        break;
-                    }
-                }
-                if (!if_boolean) {
-                    newList.add(messageBean);
+                this.setListMessage(list.get(i));
+            }
+        } catch (Exception ignored) {
+        }
+    }
+
+    /**
+     * 娣诲姞娑堟伅鍒板垪琛ㄩ噷闈�
+     *
+     * @param messageBean -
+     */
+    public void setListMessage(MessageBean messageBean) {
+        try {
+            if (messageBean == null) {
+                return;
+            }
+            boolean if_boolean = false;
+            for (int i = 0; i < mListMessage.size(); i++) {
+                if (mListMessage.get(i).getMsgId().toString().equals(messageBean.getMsgId().toString())) {
+                    //瀛樺湪鏇挎崲
+                    mListMessage.remove(i);
+                    mListMessage.add(i, messageBean);
+                    if_boolean = true;
+                    break;
                 }
             }
-            this.mListMessage.addAll(newList);
+            if (!if_boolean) {
+                //娌℃湁娣诲姞
+                this.mListMessage.add(messageBean);
+            }
         } catch (Exception ignored) {
         }
     }
@@ -146,7 +166,16 @@
      * @param cloudCallBeak -
      */
     public void getAllMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
-        getMessageList(MessageStatus.all, cloudCallBeak);
+        getMessageList(MessageStateType.all, cloudCallBeak);
+    }
+
+    /**
+     * 鑾峰彇鎭㈠涓垪琛�
+     *
+     * @param cloudCallBeak -
+     */
+    public void getRecoverMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
+        getMessageList(MessageStateType.processed, cloudCallBeak);
     }
 
     /**
@@ -154,33 +183,22 @@
      *
      * @param cloudCallBeak -
      */
-    public void getRecoverMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
-        getMessageList(MessageStatus.untreated, cloudCallBeak);
-    }
-
-    /**
-     * 鑾峰彇澶勭悊涓垪琛�
-     *
-     * @param cloudCallBeak -
-     */
     public void getNascentMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
-        getMessageList(MessageStatus.processed, cloudCallBeak);
+        getMessageList(MessageStateType.untreated, cloudCallBeak);
     }
 
     /**
      * 鑾峰彇娑堟伅鍒楄〃
      *
-     * @param messageStatus all:鍏ㄩ儴,untreated:鏈鐞�,processed:宸插鐞�;
-     * @param cloudCallBeak -
+     * @param messageStateType all:鍏ㄩ儴,UNTREATED:鏈鐞�,PROCESSED:宸插鐞�;
+     * @param cloudCallBeak    -
      */
-    public void getMessageList(MessageStatus messageStatus, CloudCallBeak<List<MessageBean>> cloudCallBeak) {
+    private void getMessageList(String messageStateType, CloudCallBeak<List<MessageBean>> cloudCallBeak) {
         String requestUrl = HttpApi.POST_Message_List;
         JsonObject json = new JsonObject();
 
-        if (messageStatus == MessageStatus.untreated) {
-            json.addProperty("status", "UNTREATED");//鏈鐞�
-        } else if (messageStatus == MessageStatus.processed) {
-            json.addProperty("status", "PROCESSED");//宸插鐞�
+        if (!MessageStateType.all.equals(messageStateType)) {
+            json.addProperty("status", messageStateType);
         }
         json.addProperty("pageNo", 1);//椤电爜
         json.addProperty("pageSize", 50);//椤垫暟
@@ -315,14 +333,6 @@
 
     }
 
-
-    public enum MessageStatus {
-        all,//鍏ㄩ儴
-        untreated,//鏈鐞�
-        processed,//宸插鐞�
-
-
-    }
 
     static class MessageListClass {
 

--
Gitblit v1.8.0