From f7c38847b8e00c84c30e51a92c03071d3e9a9da8 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 14 五月 2024 09:08:57 +0800
Subject: [PATCH] 2024年05月14日09:08:49

---
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java |  178 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 163 insertions(+), 15 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
index 45d0e52..d90e9cf 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
@@ -1,14 +1,28 @@
 package com.hdl.photovoltaic.ui.message;
 
 
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.view.View;
 
-import com.google.gson.Gson;
+import androidx.appcompat.content.res.AppCompatResources;
+
+import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.config.ConstantManage;
+import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityMessageInfoBinding;
+import com.hdl.photovoltaic.enums.MessageAlarmStateType;
+import com.hdl.photovoltaic.enums.MessageStateType;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
+import com.hdl.photovoltaic.utils.TimeUtils;
+import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
+
+import org.greenrobot.eventbus.EventBus;
 
 /**
  * 娑堟伅璇︽儏
@@ -18,6 +32,8 @@
     ActivityMessageInfoBinding viewBinding;
 
     private MessageBean mMessageBean;
+
+    private String mMsgId;
 
     @Override
     public Object getContentView() {
@@ -30,12 +46,8 @@
         setNotificationBarBackgroundColor(CustomColor.white);
         setStatusBarTextColor();
         try {
-            String json = getIntent().getStringExtra("message_info");
-            mMessageBean = new Gson().fromJson(json, MessageBean.class);
+            mMsgId = getIntent().getStringExtra("msgId");
         } catch (Exception ignored) {
-        }
-        if (mMessageBean == null) {
-            mMessageBean = new MessageBean();
         }
 
         //鍒濆鍖�
@@ -47,39 +59,175 @@
     }
 
     private void readData() {
+
+//        showLoading();
+        HdlMessageLogic.getInstance().getMessageInfo(mMsgId, new CloudCallBeak<MessageBean>() {
+            @Override
+            public void onSuccess(MessageBean msg) {
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+//                        hideLoading();
+                        if (msg == null) {
+                            return;
+                        }
+                        mMessageBean = msg;
+
+                        viewBinding.messageInfoHomeNameTv.setText(mMessageBean.getHomeName());
+                        viewBinding.messageInfoAlarmContentIn.rightContentTv.setText(mMessageBean.getTitle());
+                        viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText(mMessageBean.getDeviceDesc());
+                        viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText(mMessageBean.getEffectScopeDesc());
+                        viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText(mMessageBean.getLocationAddress());
+                        String date = TimeUtils.getTimeFromTimestamp(mMessageBean.getCreateTime());
+                        viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText(date);
+
+                        String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:浜嬩欢
+                        Drawable drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
+                        if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
+                            type = _mActivity.getString(R.string.my_power_station_malfunction);
+                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_e34343);
+                        } else if (mMessageBean.getType().equals(MessageAlarmStateType.warn)) {
+                            type = _mActivity.getString(R.string.message_alarm);
+                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
+                        } else if (mMessageBean.getType().equals(MessageAlarmStateType.event)) {
+                            type = _mActivity.getString(R.string.loading_title_tip);
+                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.state_b9b9b9);
+                        }
+                        viewBinding.messageInfoAlarmStateTv.setText(type);
+                        viewBinding.messageInfoAlarmStateTv.setBackground(drawable);
+
+                        if (mMessageBean.getStatus().equals(MessageStateType.processed)) {
+                            //宸茬粡瑙e喅鎺夌殑闅愯棌
+                            viewBinding.messageInfoBackTv.setVisibility(View.GONE);
+                            viewBinding.messageInfoSolveTv.setVisibility(View.GONE);
+                        }
+                    }
+                });
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+//                hideLoading();
+                HdlThreadLogic.toast(_mActivity, e);
+            }
+        });
     }
 
     private void initEvent() {
-        viewBinding.toolbarTopIn.topBackBtn.setOnClickListener(new View.OnClickListener() {
+        //鍚庨��鐨勪簨浠�
+        viewBinding.toolbarTopIn.topBackLl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                if (mMessageBean == null) {
+                    finish();
+                    return;
+                }
+                //鏈鐞�
+                if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
+
+                    //鏀瑰彉缂撳瓨鐘舵��
+                    if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
+                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
+                        BaseEventBus baseEventBus = new BaseEventBus();
+                        baseEventBus.setTopic(ConstantManage.message_function_push_post);
+                        baseEventBus.setType(MessageStateType.untreated);
+                        EventBus.getDefault().post(baseEventBus);
+                    } else {
+                        //闄も�滄晠闅溾�濆锛屽叾浠栫瓑绾т俊鎭�滃凡璇烩�濆悗锛岃嚜鍔ㄧЩ鍑衡�滃彂鐢熶腑鈥濆垪琛ㄥ苟鍔犲叆鈥滃巻鍙茶褰曗�濆垪琛�
+                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
+                        sendEventBus();
+                    }
+
+                }
                 finish();
             }
         });
-
+        //杩斿洖鐨勪簨浠�
         viewBinding.messageInfoBackTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                if (mMessageBean == null) {
+                    finish();
+                    return;
+                }
+                //鏈鐞�
+                if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
+                    //鏀瑰彉缂撳瓨鐘舵��
+                    if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
+                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
+                        BaseEventBus baseEventBus = new BaseEventBus();
+                        baseEventBus.setTopic(ConstantManage.message_function_push_post);
+                        baseEventBus.setType(MessageStateType.untreated);
+                        EventBus.getDefault().post(baseEventBus);
+                    } else {
+                        //闄も�滄晠闅溾�濆锛屽叾浠栫瓑绾т俊鎭�滃凡璇烩�濆悗锛岃嚜鍔ㄧЩ鍑衡�滃彂鐢熶腑鈥濆垪琛ㄥ苟鍔犲叆鈥滃巻鍙茶褰曗�濆垪琛�
+                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
+                        sendEventBus();
+                    }
+                }
                 finish();
             }
         });
 
+        //宸插鐞嗙殑浜嬩欢
         viewBinding.messageInfoSolveTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                finish();
+                HdlMessageLogic.getInstance().getMessageMessageSolve(mMsgId, new CloudCallBeak<Boolean>() {
+                    @Override
+                    public void onSuccess(Boolean obj) {
+                        if (mMessageBean == null) {
+                            return;
+                        }
+                        //鏈鐞�
+                        if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
+                            HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
+                            sendEventBus();
+                        }
+                        finish();
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HdlThreadLogic.toast(_mActivity, e);
+                    }
+                });
+
             }
         });
 
 
     }
+
+    /**
+     * 閫氱煡鍑哄幓澶栭潰鏇存柊鏁版嵁
+     */
+    private void sendEventBus() {
+        //閫氱煡宸插鐞嗚鏇存柊鏁版嵁
+        BaseEventBus processedBus = new BaseEventBus();
+        processedBus.setTopic(ConstantManage.message_function_push_post);
+        processedBus.setType(MessageStateType.processed);
+        EventBus.getDefault().post(processedBus);
+        //閫氱煡鏈鐞嗚鏇存柊鏁版嵁
+        BaseEventBus untreatedBus = new BaseEventBus();
+        untreatedBus.setTopic(ConstantManage.message_function_push_post);
+        untreatedBus.setType(MessageStateType.untreated);
+        EventBus.getDefault().post(untreatedBus);
+    }
+
 
     private void initView() {
 
         viewBinding.toolbarTopIn.topTitleTv.setText(R.string.message_alarm_info);
         viewBinding.toolbarTopIn.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null));
-        viewBinding.toolbarTopIn.topBackBtn.setVisibility(View.VISIBLE);
+        viewBinding.toolbarTopIn.topBackLl.setVisibility(View.VISIBLE);
         viewBinding.toolbarTopIn.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+
+        if (!UserConfigManage.getInstance().isBAccount()) {
+            viewBinding.messageInfoBackTv.setTextColor(getColor(R.color.text_38C494));
+            viewBinding.messageInfoBackTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.fillet_line_38c494));
+            viewBinding.messageInfoSolveTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.checked_38c494));
+        }
 
         viewBinding.messageInfoAlarmContentIn.leftTitleTv.setText(R.string.messagealarm_details_content);
         viewBinding.messageInfoAlarmDeviceIn.leftTitleTv.setText(R.string.messagealarm_details_device);
@@ -87,10 +235,10 @@
         viewBinding.messageInfoPowerStationLocationIn.leftTitleTv.setText(R.string.message_alarm_detailspower_station_location);
         viewBinding.messageInfoAlarmTimeIn.leftTitleTv.setText(R.string.message_alarm_details_time);
 
-        viewBinding.messageInfoAlarmContentIn.rightContentTv.setText(R.string.messagealarm_details_content);
-        viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText(R.string.messagealarm_details_device);
-        viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText(R.string.message_alarm_detailsaffect_region);
-        viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText(R.string.message_alarm_detailspower_station_location);
-        viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText(R.string.message_alarm_details_time);
+        viewBinding.messageInfoAlarmContentIn.rightContentTv.setText("");
+        viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText("");
+        viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText("");
+        viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText("");
+        viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText("");
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0