Jelajahi Sumber

1.修改新注册患者,第一次登录没有im消息弹窗,第二次登录才有bug

王鹏鹏 2 tahun lalu
induk
melakukan
2d01a6db7a

+ 1 - 0
baselib/src/main/java/com/yingyangfly/baselib/utils/CommonParam.kt

@@ -15,4 +15,5 @@ object CommonParam {
     val MOBILE = "mobile"
     val IDCARD = "idCard"
     val DOCTORAVATAR = "doctor_avatar"
+    val SHOWWELCOMEMESSAGE = "showWelcomeMessage"//是否展示欢迎语
 }

+ 12 - 0
baselib/src/main/java/com/yingyangfly/baselib/utils/User.kt

@@ -223,4 +223,16 @@ object User {
             Preferences.getString(CommonParam.SNCODE)!!
         }
     }
+
+    /**
+     * 是否显示欢迎语弹窗
+     */
+    fun saveShowWelcomeMessage(isShow: Boolean) {
+        Preferences.put(CommonParam.SHOWWELCOMEMESSAGE, isShow)
+    }
+
+    fun getShowWelcomeMessage(): Boolean {
+        return Preferences.getBool(CommonParam.SHOWWELCOMEMESSAGE, false)
+    }
+
 }

+ 83 - 67
home/src/main/java/com/yingyangfly/home/activity/HomeActivity.kt

@@ -633,75 +633,12 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
             runOnUiThread {
                 Log.e("wpp", "msg---------------------->    " + GsonUtil.GsonString(msg))
                 if (msg.isRead.not()) {
-                    Log.e("wpp", "msg-------------------------->消息未读")
                     makeMessageAsRead(msg)
-                    if (msg.elemType == V2TIMMessage.V2TIM_ELEM_TYPE_CUSTOM) {
-                        val customElem = msg.customElem
-                        if (customElem != null && customElem.data != null) {
-                            val data = String(customElem.data)
-                            val description = customElem.description
-                            val messageBean = GsonUtil.GsonToBean(data, MessageBean::class.java)
-                            Log.e(
-                                "wpp1", "messageBean----------------------->          $messageBean"
-                            )
-                            if (messageBean != null) {
-                                messageBean.timestamp = msg.timestamp
-                                if (TextUtils.isEmpty(description).not()) {
-                                    messageBean.description = description
-                                }
-                                Log.e(
-                                    "wpp9",
-                                    "messageBean.timestamp----------------------->        $messageBean"
-                                )
-                                when (messageBean.businessID) {
-                                    "A" -> {
-                                        if (TextUtils.equals(
-                                                "购买成功,等待医生接诊。", messageBean.data
-                                            ) || TextUtils.equals(
-                                                "医生暂时繁忙,已经拒绝您的问诊要求,咨询费用1到3天原路退回您的支付账户。",
-                                                messageBean.data
-                                            )
-                                        ) {
-                                            LiveEventBusUtil.send(
-                                                RxBusCodes.SuccessfulPurchase, messageBean.data
-                                            )
-                                            binding.imageSetting.postDelayed({
-                                                LiveEventBusUtil.send(
-                                                    RxBusCodes.SHOWTASKDIALOG, messageBean
-                                                )
-                                            }, 800)
-                                        } else {
-                                            addAMessageData(messageBean)
-                                        }
-                                    }
-
-                                    "B" -> {
-                                        getFindMyTask()
-                                        addAMessageData(messageBean)
-                                    }
-
-                                    "C", "D", "E", "F", "G" -> {
-                                        addAMessageData(messageBean)
-                                    }
-
-                                    "end" -> {
-                                        //结束问诊清空IM聊天历史
-                                        LiveEventBusUtil.send(
-                                            RxBusCodes.SuccessfulPurchase, messageBean.data
-                                        )
-                                        clearC2CHistoryMessage(msg.sender)
-                                    }
-
-                                    "start" -> {
-                                        //医生接诊
-                                        RxBus.get().send(RxBusCodes.doctorReception)
-                                    }
-                                }
-                            }
-                        }
-                    }
+                    analyticMessage(msg)
                 } else {
-                    Log.e("wpp", "msg-------------------------->消息已读")
+                    if (User.getShowWelcomeMessage().not()) {
+                        analyticMessage(msg)
+                    }
                 }
             }
         }
@@ -880,4 +817,83 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
         removeAdvancedMsgListener()
         super.onDestroy()
     }
+
+    /**
+     * 解析IM消息
+     */
+    private fun analyticMessage(msg: V2TIMMessage) {
+        runOnUiThread {
+            if (msg.elemType == V2TIMMessage.V2TIM_ELEM_TYPE_CUSTOM) {
+                val customElem = msg.customElem
+                if (customElem != null && customElem.data != null) {
+                    val data = String(customElem.data)
+                    val description = customElem.description
+                    val messageBean = GsonUtil.GsonToBean(data, MessageBean::class.java)
+                    if (messageBean != null) {
+                        messageBean.timestamp = msg.timestamp
+                        if (TextUtils.isEmpty(description).not()) {
+                            messageBean.description = description
+                        }
+                        Log.e(
+                            "wpp9",
+                            "messageBean.timestamp----------------------->        $messageBean"
+                        )
+                        when (messageBean.businessID) {
+                            "A" -> {
+                                if (TextUtils.equals(
+                                        "购买成功,等待医生接诊。", messageBean.data
+                                    ) || TextUtils.equals(
+                                        "医生暂时繁忙,已经拒绝您的问诊要求,咨询费用1到3天原路退回您的支付账户。",
+                                        messageBean.data
+                                    )
+                                ) {
+                                    LiveEventBusUtil.send(
+                                        RxBusCodes.SuccessfulPurchase, messageBean.data
+                                    )
+                                    binding.imageSetting.postDelayed({
+                                        LiveEventBusUtil.send(
+                                            RxBusCodes.SHOWTASKDIALOG, messageBean
+                                        )
+                                    }, 800)
+                                } else {
+                                    addAMessageData(messageBean)
+                                }
+                            }
+
+                            "B" -> {
+                                val welcomeMessage =
+                                    "欢迎" + User.getName() + "使用未来蓝豚康复平台"
+                                if (messageBean.data.contains(welcomeMessage)) {
+                                    if (User.getShowWelcomeMessage().not()) {
+                                        User.saveShowWelcomeMessage(true)
+                                        addAMessageData(messageBean)
+                                    }
+                                } else {
+                                    getFindMyTask()
+                                    addAMessageData(messageBean)
+                                }
+                            }
+
+                            "C", "D", "E", "F", "G" -> {
+                                addAMessageData(messageBean)
+                            }
+
+                            "end" -> {
+                                //结束问诊清空IM聊天历史
+                                LiveEventBusUtil.send(
+                                    RxBusCodes.SuccessfulPurchase, messageBean.data
+                                )
+                                clearC2CHistoryMessage(msg.sender)
+                            }
+
+                            "start" -> {
+                                //医生接诊
+                                RxBus.get().send(RxBusCodes.doctorReception)
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
 }