From 610a2aedd505bb4d8fb29f0bc6741ced74218bb0 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期二, 12 十一月 2024 13:46:37 +0800
Subject: [PATCH] fix bugs

---
 app/src/main/java/com/sinata/xqmuse/ui/home/BuyVoiceActivity.kt |   59 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/home/BuyVoiceActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/home/BuyVoiceActivity.kt
index 926006b..8fa6ec7 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/home/BuyVoiceActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/home/BuyVoiceActivity.kt
@@ -1,10 +1,12 @@
 package com.sinata.xqmuse.ui.home
 
+import android.view.View
 import androidx.core.os.bundleOf
 import cn.sinata.xldutils.utils.SpanBuilder
 import cn.sinata.xldutils.utils.showAllowingStateLoss
 import com.sinata.xqmuse.R
 import com.sinata.xqmuse.dialog.BuyRuleDialog
+import com.sinata.xqmuse.dialog.TipDialog
 import com.sinata.xqmuse.network.HttpManager
 import com.sinata.xqmuse.network.entity.ConfirmOrder
 import com.sinata.xqmuse.network.request
@@ -40,15 +42,18 @@
 
         tv_action.setOnClickListener {
             if (cb_rule.isChecked){
-                if (rb_ali.isChecked){
-                    pay(2)
-                }else if (rb_wx.isChecked){
-                    pay(1)
-                } else if (rb_balance.isChecked&&((data?.balance?:"0.0").toDouble()>(data?.generalPrice?:"0.0").toDouble())){
-                    payBalance()
-                }else{
-
-                }
+                if (cb_rule.isChecked){
+                    if (rb_balance.isChecked&&((data?.balance?:"0.0").toDouble()>=(data?.generalPrice?:"0.0").toDouble())){//余额勾选,并且可用余额大于课程价格,直接扣余额
+                        payBalance()
+                    }else if (rb_ali.isChecked){
+                        pay(2)
+                    }else if (rb_wx.isChecked){
+                        pay(1)
+                    }else{
+                        toast("请选择支付方式")
+                    }
+                }else
+                    toast("请阅读并同意《购买协议》")
             }else
                 toast("请阅读并同意《购买协议》")
         }
@@ -57,9 +62,8 @@
     private fun pay(way:Int) {
         tv_action.isEnabled = false
         showDialog()
-        HttpManager.placeOrder(1,way,2,null,null,data?.id?:"",null).request(this,success = {_,data->
+        HttpManager.placeOrder(1,way,if (rb_balance.isChecked) 1 else 2,null,null,data?.id?:"",null).request(this,success = {_,data->
             onPaySuccess()
-
         }){_,_->
             tv_action.isEnabled = true
         }
@@ -76,7 +80,38 @@
     }
 
     override fun initView() {
-        getData()
+        val parcelableExtra = intent.getParcelableExtra<ConfirmOrder>("data")
+        if (parcelableExtra == null)
+            getData()
+        else{
+            data = parcelableExtra
+            data?.apply {
+                generalPrice = amount
+                if (!orderId.isNullOrEmpty()){
+                    titleBar.addRightButton("取消订单",onClickListener = View.OnClickListener {
+                        TipDialog.show(supportFragmentManager,"是否确认取消该订单?",object : TipDialog.OnClickCallback{
+                            override fun onOk() {
+                                HttpManager.cancel(orderId).request(this@BuyVoiceActivity){_,_->
+                                    toast("取消成功")
+                                    setResult(RESULT_OK)
+                                    finish()
+                                }
+                            }
+
+                            override fun onCancel() {
+                            }
+                        })
+                    })
+                }
+                iv_cover.setImageURI(coverUrl.split(",").firstOrNull())
+                tv_title.text = title
+                tv_price.text = SpanBuilder("¥$generalPrice").size(0,1,11).build()
+                tv_money.text = SpanBuilder("¥$generalPrice").size(0,1,11).build()
+                tv_total.text = generalPrice
+                val s = "余额抵扣 当前可用 ¥$balance"
+                rb_balance.text = SpanBuilder(s).size(4,s.length,11).color(this@BuyVoiceActivity,4,s.length,R.color.textColor99).build()
+            }
+        }
     }
 
     private fun getData() {

--
Gitblit v1.7.1