Преглед на файлове

1.添加医生打分功能

王鹏鹏 преди 2 години
родител
ревизия
5b0952baf2

+ 7 - 1
healthconsultation/src/main/java/com/yingyang/healthconsultation/dialog/EvaluateDialog.kt

@@ -30,6 +30,11 @@ class EvaluateDialog : DialogFragment() {
     private var btnCancle: AppCompatButton? = null
     private var btnConform: AppCompatButton? = null
     private var ratingBar: AppCompatRatingBar? = null
+    private var id: String = ""
+
+    fun setId(mid: String) {
+        id = mid
+    }
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -75,9 +80,10 @@ class EvaluateDialog : DialogFragment() {
         }
 
         btnConform?.setOnSingleClickListener {
-            val score = ratingBar?.rating?.toInt()
+            val score = ratingBar?.numStars
             val requestBean = EvaluateBean().apply {
                 value = score.toString()
+                mid = id
             }
             val body = XUtils.createJson(GsonUtil.GsonString(requestBean))
             HealthConsultationsServiceFactory.getService()

+ 7 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/dialog/PaymentQrCodeDialog.kt

@@ -18,6 +18,7 @@ import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.net.BaseObserver
 import com.yingyangfly.baselib.net.MyRxScheduler
 import com.yingyangfly.baselib.utils.ViewTool
+import gorden.rxbus2.RxBus
 import io.reactivex.schedulers.Schedulers
 
 class PaymentQrCodeDialog : DialogFragment() {
@@ -43,6 +44,7 @@ class PaymentQrCodeDialog : DialogFragment() {
 
     override fun onStart() {
         super.onStart()
+        RxBus.get().register(this)
         dialog?.window?.setLayout(
             ViewGroup.LayoutParams.MATCH_PARENT,
             ViewGroup.LayoutParams.MATCH_PARENT
@@ -155,4 +157,9 @@ class PaymentQrCodeDialog : DialogFragment() {
             })
     }
 
+    override fun onDestroy() {
+        RxBus.get().unRegister(this)
+        super.onDestroy()
+    }
+
 }

+ 1 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/entity/EvaluateBean.kt

@@ -4,5 +4,6 @@ package com.yingyang.healthconsultation.entity
  * 新增评价
  */
 class EvaluateBean {
+    var mid: String = ""
     var value: String = ""
 }

+ 52 - 5
healthconsultation/src/main/java/com/yingyang/healthconsultation/record/ConsultationRecordActivity.kt

@@ -1,15 +1,24 @@
 package com.yingyang.healthconsultation.record
 
 import android.annotation.SuppressLint
+import android.os.Bundle
 import android.view.MotionEvent
 import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.alibaba.android.arouter.launcher.ARouter
+import com.tencent.imsdk.v2.V2TIMConversation
+import com.tencent.qcloud.tuicore.TUIConstants
+import com.tencent.qcloud.tuicore.TUICore
+import com.tencent.qcloud.tuicore.TUILogin
+import com.tencent.qcloud.tuicore.interfaces.TUICallback
 import com.yingyang.healthconsultation.R
 import com.yingyang.healthconsultation.adapter.ConsultationRecordAdapter
 import com.yingyang.healthconsultation.databinding.ActivityConsultationRecordBinding
+import com.yingyang.healthconsultation.dialog.EvaluateDialog
 import com.yingyang.healthconsultation.entity.ConsultationRecordsBean
 import com.yingyang.healthconsultation.entity.PurchaseConsultationBean
+import com.yingyangfly.baselib.config.AccountConfig
+import com.yingyangfly.baselib.db.DoctorBean
 import com.yingyangfly.baselib.dialog.TipsDialog
 import com.yingyangfly.baselib.ext.getEndAnimation
 import com.yingyangfly.baselib.ext.getScaleAnimation
@@ -19,6 +28,7 @@ import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.baselib.utils.JumpUtil
 import com.yingyangfly.baselib.utils.RxBusCodes
+import com.yingyangfly.baselib.utils.User
 import gorden.rxbus2.Subscribe
 import gorden.rxbus2.ThreadMode
 
@@ -53,7 +63,9 @@ class ConsultationRecordActivity :
                     }
                     "2" -> {
                         //2接诊中
-                        loginIM()
+                        if (bean.doctor != null) {
+                            getUserSign(bean.doctor)
+                        }
                     }
                     "3" -> {
                         //3已拒诊
@@ -61,7 +73,7 @@ class ConsultationRecordActivity :
                     }
                     "4" -> {
                         //4已完成
-                        evaluationOrder()
+                        evaluationOrder(bean)
                     }
                     "5" -> {
                         //已取消
@@ -133,8 +145,10 @@ class ConsultationRecordActivity :
     /**
      * 评价订单
      */
-    private fun evaluationOrder() {
-
+    private fun evaluationOrder(bean: ConsultationRecordsBean) {
+        val diaslog = EvaluateDialog()
+        diaslog.setId(bean.id)
+        diaslog.show(supportFragmentManager, "EvaluateDialog")
     }
 
     /**
@@ -217,11 +231,44 @@ class ConsultationRecordActivity :
         )
     }
 
+    /**
+     * 获取密钥
+     */
+    private fun getUserSign(bean: DoctorBean) {
+        viewModel.getUserSign(User.getUserId(), fail = {
+            it.toast()
+        }, success = {
+            it?.let {
+                runOnUiThread {
+                    loginIM(it, bean)
+                }
+            }
+        })
+    }
+
     /**
      * 跳转IM
      */
-    private fun loginIM() {
+    private fun loginIM(sign: String, bean: DoctorBean) {
+        TUILogin.login(mContext, AccountConfig.TENCENT_IM_APPID, User.getUserId(), sign, object :
+            TUICallback() {
+            override fun onSuccess() {
+                runOnUiThread {
+                    val param = Bundle()
+                    param.putInt(TUIConstants.TUIChat.CHAT_TYPE, V2TIMConversation.V2TIM_C2C)
+                    param.putString(TUIConstants.TUIChat.CHAT_ID, bean.id)
+                    param.putString(TUIConstants.TUIChat.CHAT_NAME, bean.userName)
+                    param.putString(TUIConstants.TUIChat.FACE_URL, bean.avatar)
+                    TUICore.startActivity(TUIConstants.TUIChat.C2C_CHAT_ACTIVITY_NAME, param)
+                }
+            }
 
+            override fun onError(errorCode: Int, errorMessage: String?) {
+                runOnUiThread {
+                    "IM登陆失败".toast()
+                }
+            }
+        })
     }
 
 }

+ 3 - 2
healthconsultation/src/main/res/layout/dialog_evaluate.xml

@@ -20,7 +20,8 @@
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
-            android:layout_height="match_parent">
+            android:layout_height="match_parent"
+            android:paddingBottom="@dimen/divider_38px">
 
             <androidx.appcompat.widget.AppCompatTextView
                 android:id="@+id/tvTitle"
@@ -57,7 +58,7 @@
                 android:layout_marginStart="@dimen/divider_32px"
                 android:layout_marginTop="@dimen/divider_43px"
                 android:numStars="5"
-                android:stepSize="20.0"
+                android:stepSize="1.0"
                 app:layout_constraintStart_toEndOf="@+id/tvMark"
                 app:layout_constraintTop_toBottomOf="@+id/tvTitle"
                 tools:ignore="UnusedAttribute" />