Browse Source

1.添加直播统计是和否接口

王鹏鹏 2 years ago
parent
commit
c7777f0cfa

+ 2 - 0
.idea/misc.xml

@@ -46,6 +46,7 @@
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_btn_doctor_details.xml" value="0.155" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_button_submit.xml" value="0.161" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_button_submitl.xml" value="0.155" />
+        <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_button_unsubmit.xml" value="0.16" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_cancel_evaluation.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_cancel_order.xml" value="0.155" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_condition_describe.xml" value="0.155" />
@@ -81,6 +82,7 @@
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_sick_unselected.xml" value="0.155" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_star.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_submit.xml" value="0.155" />
+        <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_unpayment_timing.xml" value="0.16" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_unselected_hospital.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/bg_unselected_item.xml" value="0.155" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/drawable/layer_rating_bar.xml" value="0.1615" />

+ 46 - 22
healthconsultation/src/main/java/com/yingyang/healthconsultation/payment/PaymentActivity.kt

@@ -32,6 +32,8 @@ class PaymentActivity : BaseMVVMActivity<ActivityPaymentBinding, PaymentViewMode
     var time: Long = 0
     private var id: String = ""
     private var doctorBean: DoctorBean? = null
+    private var orderNo = ""
+    private var paymentQrCodeDialog: PaymentQrCodeDialog? = null
     private var purchaseConsultationBean: PurchaseConsultationBean? = null
 
     override fun onCreate(savedInstanceState: Bundle?) {
@@ -62,25 +64,7 @@ class PaymentActivity : BaseMVVMActivity<ActivityPaymentBinding, PaymentViewMode
     }
 
     override fun initData() {
-        val m: Long = 1000
-        rxTimer.interval(m) {
-            time = 60 * 15 - it - 1
-            val minutes = time / 60
-            val seconds = time % 60
-            binding.tvTime.text = if (minutes > 0) {
-                if (seconds > 0) {
-                    "请在 $minutes 分钟 $seconds 秒内完成支付,超时将取消"
-                } else {
-                    "请在 $minutes 分钟 内完成支付,超时将取消"
-                }
-            } else {
-                "请在 $seconds 秒内完成支付,超时将取消"
-            }
-            if (it == time - 1) {
-                rxTimer.cancel()
 
-            }
-        }
     }
 
     @SuppressLint("ClickableViewAccessibility")
@@ -146,17 +130,57 @@ class PaymentActivity : BaseMVVMActivity<ActivityPaymentBinding, PaymentViewMode
                 viewModel.saveConsultation(purchaseConsultationBean!!, fail = {
                     it.toast()
                 }, success = {
+                    startTimer()
                     if (it != null) {
-                        val dialog = PaymentQrCodeDialog()
-                        dialog.onQueryPaymentStatusListener = {
+                        orderNo = it.orderNo
+                        paymentQrCodeDialog = PaymentQrCodeDialog()
+                        paymentQrCodeDialog?.onQueryPaymentStatusListener = {
                             RxBus.get().send(RxBusCodes.SuccessfulPurchase)
                             finish()
                         }
-                        dialog.setPaymentQrCodeBean(it.orderNo, it.qrCode)
-                        dialog.show(supportFragmentManager, "paymentQrCodeDialog")
+                        paymentQrCodeDialog?.setPaymentQrCodeBean(it.orderNo, it.qrCode)
+                        paymentQrCodeDialog?.show(supportFragmentManager, "paymentQrCodeDialog")
                     }
                 })
             }
         }
     }
+
+    /**
+     * 取消支付
+     */
+    private fun delPayOrder() {
+        viewModel.delPayOrder(orderNo, fail = {
+            it.toast()
+        }, success = {
+            if (paymentQrCodeDialog != null && paymentQrCodeDialog?.dialog?.isShowing == true) {
+                paymentQrCodeDialog?.dismiss()
+            }
+        })
+    }
+
+    /**
+     * 开始计时
+     */
+    private fun startTimer() {
+        val m: Long = 1000
+        rxTimer.interval(m) {
+            time = 60 * 15 * 1 - it - 1
+//            val minutes = time / 60
+//            val seconds = time % 60
+//            binding.tvTime.text = if (minutes > 0) {
+//                if (seconds > 0) {
+//                    "请在 $minutes 分钟 $seconds 秒内完成支付,超时将取消"
+//                } else {
+//                    "请在 $minutes 分钟 内完成支付,超时将取消"
+//                }
+//            } else {
+//                "请在 $seconds 秒内完成支付,超时将取消"
+//            }
+            if (it == time - 1) {
+                delPayOrder()
+                rxTimer.cancel()
+            }
+        }
+    }
 }

+ 15 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/payment/PaymentViewModel.kt

@@ -23,4 +23,19 @@ class PaymentViewModel : BaseViewModel() {
         success,
         fail
     )
+
+    fun delPayOrder(
+        orderNo: String,
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: String?) -> Unit)? = null,
+    ) = launchFlow(true) {
+        HEALTHCONSULTATION_API.delPayOrder(orderNo)
+    }.runUI(
+        success,
+        fail
+    )
+
+
+
+
 }

+ 7 - 0
healthconsultation/src/main/res/drawable/bg_button_unsubmit.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+    <corners android:radius="@dimen/divider_13px" />
+    <solid android:color="@color/color_FF666666" />
+</shape>

+ 7 - 0
healthconsultation/src/main/res/drawable/bg_unpayment_timing.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+    <corners android:radius="@dimen/divider_27px" />
+    <solid android:color="@color/color_FF666666" />
+</shape>