From 791f82dc46e14491116a87bd4aa84ade011ab4c6 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期一, 15 一月 2024 14:30:58 +0800
Subject: [PATCH] 2024年01月15日14:30:41

---
 app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java |  102 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 94 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
index 3388a68..b119560 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
@@ -4,12 +4,17 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
@@ -18,11 +23,14 @@
 import com.hdl.photovoltaic.enums.MessageFunctionTabSwitch;
 import com.hdl.photovoltaic.enums.MessageStateType;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
+import com.hdl.photovoltaic.ui.bean.HouseIdBean;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
+import com.hdl.photovoltaic.utils.GlideUtils;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 
 import org.greenrobot.eventbus.EventBus;
@@ -124,15 +132,30 @@
             this.messageNascentAdapter.setList(mList);
             this.messageNascentAdapter.notifyDataSetChanged();
         }
+        //鍒锋柊銆愬彂鐢熶腑銆戜俊鎭暟閲忔�绘暟
+        this.refreshNascentCount();
+        this.nullDataUpdateUi();
 
-        if (mList.size() > 0) {
-            BaseEventBus baseEventBus = new BaseEventBus();
-            baseEventBus.setTopic(ConstantManage.message_count);
-            baseEventBus.setType(MessageStateType.untreated);
-            baseEventBus.setData(mList.size());
-            EventBus.getDefault().post(baseEventBus);
-        }
 
+    }
+
+    /**
+     * 鍒锋柊銆愬彂鐢熶腑銆戜俊鎭暟閲忔�绘暟
+     */
+    private void refreshNascentCount() {
+        HdlThreadLogic.runMainThread(new Runnable() {
+            @Override
+            public void run() {
+                TextView textView = _mActivity.findViewById(R.id.message_tab_nascent_title_tv);
+                if (textView != null) {
+                    textView.setText(getText(R.string.message_nascent));
+                    if (mList.size() > 0) {
+                        String s = getText(R.string.message_nascent) + "(" + mList.size() + ")";
+                        textView.setText(s);
+                    }
+                }
+            }
+        });
     }
 
     @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
@@ -146,8 +169,10 @@
             if (eventBus.getType().equals(MessageFunctionTabSwitch.nascent.toString())) {
                 initData();
                 getNascentMessageList(true);
+                getUnreadCount();
                 // 鍙栨秷绮樻�т簨浠�
                 EventBus.getDefault().removeStickyEvent(eventBus);
+
             }
 
         } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
@@ -155,6 +180,7 @@
                 //娑堟伅璇︽儏鍥炶皟
                 initData();
                 updateListData();
+                getUnreadCount();
             }
         }
     }
@@ -162,7 +188,7 @@
     /**
      * 鑾峰彇鍙戠敓涓殑娑堟伅鍒楄〃
      *
-     * @param isShowLoading 鏄惁鍚姩 true鍚姩
+     * @param isShowLoading 鏄惁鍚姩鍔犺浇妗� true鍚姩
      */
     private void getNascentMessageList(boolean isShowLoading) {
         if (mList.size() == 0) {
@@ -222,4 +248,64 @@
 //        List<MessageBean> newData = HdlMessageLogic.getInstance().getAllMessageList();
 //        return newData;
 //    }
+
+    /**
+     * 璇诲彇娑堟伅銆愭湭璇绘暟閲忋��
+     */
+    private void getUnreadCount() {
+        HdlMessageLogic.getInstance().getMessageUntreatedCount(new CloudCallBeak<String>() {
+            @Override
+            public void onSuccess(String data) {
+
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        JSONObject jsonObject = JSON.parseObject(data);
+//                        if (jsonObject.containsKey("untreatedCount")) {
+//                            //鏈鐞嗘暟閲�
+//                            jsonObject.getString("untreatedCount");
+//                        }
+                        String unreadCount = "0";
+                        if (jsonObject.containsKey("unreadCount")) {
+                            //鏈鏁伴噺
+                            unreadCount = jsonObject.getString("unreadCount");
+                        }
+                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                        if (textView != null) {
+                            if (TextUtils.isEmpty(unreadCount) || unreadCount.equals("0")) {
+                                textView.setVisibility(View.GONE);
+                            } else {
+                                if (unreadCount.length() > 2) {
+                                    //澶т簬3浣嶆暟,榛樿99+
+                                    unreadCount = "99+";
+                                }
+                                textView.setVisibility(View.VISIBLE);
+                                textView.setText(unreadCount);
+                            }
+                        }
+                    }
+                });
+
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                if (textView != null) {
+                    textView.setVisibility(View.GONE);
+                }
+            }
+        });
+    }
+
+
+    /**
+     * 娌℃湁鐢电珯鍒楄〃鐨勬牱寮�
+     */
+    private void nullDataUpdateUi() {
+        HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity,
+                viewBinding.nullDataIc.getRoot(),
+                viewBinding.nullDataIc.nullDataGifAnimationIv,
+                viewBinding.nullDataIc.nullDataTv, getString(R.string.message_alarm_data_null), mList.size() > 0);
+    }
 }

--
Gitblit v1.8.0