Procházet zdrojové kódy

1.修改医生接诊后没有收到患者信息bug

王鹏鹏 před 2 roky
rodič
revize
f67953554a

+ 2 - 0
.idea/misc.xml

@@ -644,6 +644,7 @@
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res-minimalistui/layout/chat_react_dialog_layout.xml" value="0.176" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res-minimalistui/layout/minimalist_forward_msg_holder.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/drawable/chat_bubble_self_cavity_bg.xml" value="0.151" />
+        <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/drawable/layer_live_rating_bar.xml" value="0.1415" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/chat_end_consultation.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/chat_input_layout.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/chat_input_layout_actoin.xml" value="0.23697916666666666" />
@@ -651,6 +652,7 @@
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/chat_inputmore_layout.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/chat_layout.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/chat_reply_details_item_layout.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/custom_evaluation_message_layout.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/custom_order_message_layout.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/forward_chat_layout.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/tuichat/src/main/res/layout/fragment_face.xml" value="0.23697916666666666" />

+ 5 - 0
baselib/src/main/java/com/yingyangfly/baselib/utils/RxBusCodes.kt

@@ -123,4 +123,9 @@ object RxBusCodes {
      * 退出登录
      */
     const val LOGINOUT = "LoginOut"
+
+    /**
+     * 医生开始接诊
+     */
+    const val doctorReception = 9006
 }

+ 14 - 22
healthconsultation/src/main/java/com/yingyang/healthconsultation/activity/HealthConsultationActivity.kt

@@ -10,10 +10,7 @@ import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.hjq.permissions.OnPermissionCallback
 import com.hjq.permissions.XXPermissions
-import com.tencent.imsdk.v2.V2TIMCallback
 import com.tencent.imsdk.v2.V2TIMConversation
-import com.tencent.imsdk.v2.V2TIMManager
-import com.tencent.imsdk.v2.V2TIMMessage
 import com.tencent.qcloud.tuicore.TUIConstants
 import com.tencent.qcloud.tuicore.TUICore
 import com.tencent.qcloud.tuicore.TUILogin
@@ -35,6 +32,8 @@ import com.yingyangfly.baselib.utils.JumpUtil
 import com.yingyangfly.baselib.utils.LiveEventBusUtil
 import com.yingyangfly.baselib.utils.RxBusCodes
 import com.yingyangfly.baselib.utils.User
+import gorden.rxbus2.Subscribe
+import gorden.rxbus2.ThreadMode
 
 /**
  * 健康咨询
@@ -114,23 +113,6 @@ class HealthConsultationActivity :
         successfulPurchase()
     }
 
-    /**
-     * 消息改成已读
-     */
-    private fun makeMessageAsRead(msg: V2TIMMessage) {
-        V2TIMManager.getConversationManager().cleanConversationUnreadMessageCount(
-            String.format("c2c_%s", msg.sender),
-            0,
-            0,
-            object : V2TIMCallback {
-                override fun onSuccess() {
-                }
-
-                override fun onError(p0: Int, p1: String?) {
-                }
-            })
-    }
-
     @SuppressLint("ClickableViewAccessibility")
     override fun onTouch(v: View, event: MotionEvent): Boolean {
         when (event.action) {
@@ -178,7 +160,7 @@ class HealthConsultationActivity :
     private fun getConsultationList() {
         consultationBeans.clear()
         viewModel.getConsultationList(fail = {
-            it.toast()
+            "获取问诊列表失败".toast()
         }, success = {
             consultationBeans.clear()
             if (it.isNullOrEmpty().not()) {
@@ -207,7 +189,7 @@ class HealthConsultationActivity :
             doctorDao?.deleteAll()
         }
         viewModel.getRecommendDoctorList(fail = {
-            it.toast()
+            "获取推荐医生列表失败".toast()
         }, success = {
             if (it.isNullOrEmpty().not()) {
                 doctorBeans.clear()
@@ -328,4 +310,14 @@ class HealthConsultationActivity :
             }
         }
     }
+
+    /**
+     * 医生接诊
+     */
+    @Subscribe(code = RxBusCodes.doctorReception, threadMode = ThreadMode.MAIN)
+    fun doctorReception() {
+        runOnUiThread {
+            getConsultationList()
+        }
+    }
 }

+ 45 - 10
home/src/main/java/com/yingyangfly/home/activity/HomeActivity.kt

@@ -10,10 +10,8 @@ import androidx.recyclerview.widget.GridLayoutManager
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.alibaba.android.arouter.launcher.ARouter
 import com.bumptech.glide.Glide
-import com.tencent.imsdk.v2.V2TIMAdvancedMsgListener
-import com.tencent.imsdk.v2.V2TIMCallback
-import com.tencent.imsdk.v2.V2TIMManager
-import com.tencent.imsdk.v2.V2TIMMessage
+import com.tencent.imsdk.v2.*
+import com.tencent.qcloud.tuikit.tuichat.bean.message.PatientStartConsultationBean
 import com.yingyang.home.R
 import com.yingyang.home.databinding.ActivityHomeBinding
 import com.yingyangfly.baselib.bean.MessageBean
@@ -37,6 +35,7 @@ import com.yingyangfly.home.component.ShowPlayPorpoiseViewComponent
 import com.yingyangfly.home.component.ShowProfessionalEvaluationViewComponent
 import com.yingyangfly.home.dialog.DownLoadAppFragment
 import com.yingyangfly.home.utils.AnimUtil
+import gorden.rxbus2.RxBus
 
 
 /**
@@ -675,7 +674,7 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(),
                             val messageBean = GsonUtil.GsonToBean(data, MessageBean::class.java)
                             Log.e(
                                 "wpp1",
-                                "messageBean----------------------->          " + messageBean
+                                "messageBean----------------------->          $messageBean"
                             )
                             if (messageBean != null) {
                                 messageBean.sender = if (TextUtils.isEmpty(msg.sender)) {
@@ -689,7 +688,7 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(),
                                 }
                                 Log.e(
                                     "wpp9",
-                                    "messageBean.timestamp----------------------->        " + messageBean
+                                    "messageBean.timestamp----------------------->        $messageBean"
                                 )
                                 when (messageBean.businessID) {
                                     "A" -> {
@@ -718,14 +717,16 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(),
                                     }
                                     "end" -> {
                                         //结束问诊清空IM聊天历史
+                                        LiveEventBusUtil.send(
+                                            RxBusCodes.SuccessfulPurchase,
+                                            messageBean.data
+                                        )
                                         clearC2CHistoryMessage(msg.sender)
                                     }
                                     "start" -> {
                                         //医生接诊
-                                        LiveEventBusUtil.send(
-                                            RxBusCodes.SuccessfulPurchase,
-                                            messageBean
-                                        )
+                                        RxBus.get().send(RxBusCodes.doctorReception)
+                                        sendPatientMessage(messageBean)
                                     }
                                 }
                             }
@@ -865,4 +866,38 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(),
                 })
         }
     }
+
+    /**
+     * 发送患者问诊消息
+     */
+    private fun sendPatientMessage(messageBean: MessageBean) {
+        runOnUiThread {
+            val patientStartConsultationBean = PatientStartConsultationBean()
+            patientStartConsultationBean.businessID = "patient"
+            val data = GsonUtil.GsonString(patientStartConsultationBean)
+            val v2TIMMessage = V2TIMManager.getMessageManager()
+                .createCustomMessage(
+                    data.toByteArray(),
+                    messageBean.description,
+                    data.toByteArray()
+                )
+            Log.e("wpp", "患者信息自定义消息" + GsonUtil.GsonString(v2TIMMessage))
+            V2TIMManager.getMessageManager().sendMessage(v2TIMMessage, messageBean.sender, "",
+                V2TIMMessage.V2TIM_PRIORITY_DEFAULT, false, null, object :
+                    V2TIMSendCallback<V2TIMMessage> {
+                    override fun onSuccess(p0: V2TIMMessage?) {
+                        Log.e("wpp", "患者信息发送成功")
+                    }
+
+                    override fun onError(p0: Int, p1: String?) {
+                        Log.e("wpp", "患者信息发送失败,错误码:$p0  错误信息:$p1")
+                    }
+
+                    override fun onProgress(p0: Int) {
+                        Log.e("wpp", "患者信息发送中$p0")
+                    }
+
+                })
+        }
+    }
 }

+ 0 - 26
tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/presenter/C2CChatPresenter.java

@@ -3,8 +3,6 @@ package com.tencent.qcloud.tuikit.tuichat.presenter;
 import android.text.TextUtils;
 import android.util.Pair;
 
-import com.google.gson.Gson;
-import com.tencent.imsdk.v2.V2TIMMessage;
 import com.tencent.qcloud.tuikit.timcommon.bean.MessageFeature;
 import com.tencent.qcloud.tuikit.timcommon.bean.MessageReceiptInfo;
 import com.tencent.qcloud.tuikit.timcommon.bean.TUIMessageBean;
@@ -12,11 +10,8 @@ import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
 import com.tencent.qcloud.tuikit.tuichat.TUIChatConstants;
 import com.tencent.qcloud.tuikit.tuichat.TUIChatService;
 import com.tencent.qcloud.tuikit.tuichat.bean.ChatInfo;
-import com.tencent.qcloud.tuikit.tuichat.bean.CustomStartConsultationBean;
 import com.tencent.qcloud.tuikit.tuichat.bean.message.MessageTypingBean;
-import com.tencent.qcloud.tuikit.tuichat.bean.message.PatientStartConsultationBean;
 import com.tencent.qcloud.tuikit.tuichat.interfaces.C2CChatEventListener;
-import com.tencent.qcloud.tuikit.tuichat.util.ChatMessageBuilder;
 import com.tencent.qcloud.tuikit.tuichat.util.TUIChatLog;
 import com.tencent.qcloud.tuikit.tuichat.util.TUIChatUtils;
 
@@ -67,15 +62,6 @@ public class C2CChatPresenter extends ChatPresenter {
                     if (message instanceof MessageTypingBean) {
                         parseTypingMessage((MessageTypingBean) message);
                         return;
-                    } else if (message instanceof CustomStartConsultationBean) {
-                        V2TIMMessage v2TIMMessage = message.getV2TIMMessage();
-                        if (v2TIMMessage != null) {
-                            String description = v2TIMMessage.getCustomElem().getDescription();
-                            if (!TextUtils.isEmpty(description)) {
-                                sendPatientMessage(description);
-                            }
-                        }
-                        return;
                     }
                     C2CChatPresenter.this.onRecvNewMessage(message);
                 }
@@ -125,18 +111,6 @@ public class C2CChatPresenter extends ChatPresenter {
         initMessageSender();
     }
 
-    /**
-     * 发送患者信息
-     */
-    private void sendPatientMessage(String description) {
-        Gson gson = new Gson();
-        PatientStartConsultationBean patientStartConsultationBean = new PatientStartConsultationBean();
-        patientStartConsultationBean.businessID = TUIChatConstants.BUSINESS_ID_CUSTOM_PATIENT_CONSULTATION;
-        String data = gson.toJson(patientStartConsultationBean);
-        TUIMessageBean info = ChatMessageBuilder.buildCustomMessage(data, description, description.getBytes());
-        sendMessage(info, false, null);
-    }
-
     /**
      * 拉取消息
      *