From d1a9e3312387b6c47e6186af506787a8a66369d1 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期六, 09 十一月 2024 18:40:36 +0800
Subject: [PATCH] fix

---
 app/src/main/java/com/sinata/xqmuse/ui/course/BuyCourseActivity.kt |   52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 51 insertions(+), 1 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/course/BuyCourseActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/course/BuyCourseActivity.kt
index c60b042..5e308da 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/course/BuyCourseActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/course/BuyCourseActivity.kt
@@ -13,14 +13,18 @@
 import com.sinata.xqmuse.ui.TransparentStatusBarActivity
 import com.sinata.xqmuse.utils.extention.clickDelay
 import com.sinata.xqmuse.utils.interfaces.StringCallback
+import com.sinata.xqmuse.utils.pay.PayListener
 import kotlinx.android.synthetic.main.activity_buy_course.*
+import org.jetbrains.anko.startActivity
 import org.jetbrains.anko.toast
 
-class BuyCourseActivity:TransparentStatusBarActivity() {
+class BuyCourseActivity:TransparentStatusBarActivity(),PayListener {
     override fun setContentView() = R.layout.activity_buy_course
 
     private val isSend by lazy { intent.getBooleanExtra("isSend",false) }
+    private val fromDetail by lazy { intent.getBooleanExtra("fromDetail",true) }
     private val data by lazy { intent.getParcelableExtra<ConfirmOrder>("data") }
+    private var receiveId:String? = null
 
     override fun initClick() {
         tv_search.setOnClickListener {
@@ -29,6 +33,7 @@
                 toast("手机号输入有误")
             }else{
                 HttpManager.getUserByPhone(phone).request(this){_,data->
+                    receiveId = data?.id
                     iv_avatar.setImageURI(data?.avatar)
                     tv_name.text = data?.nickname
                     tv_phone.text = data?.cellPhone
@@ -48,6 +53,42 @@
                 buyRuleDialog.showAllowingStateLoss(supportFragmentManager,"rule")
             }
         }
+
+        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{
+
+                }
+            }else
+                toast("请阅读并同意《购买协议》")
+        }
+    }
+
+    private fun pay(way:Int) {
+        tv_action.isEnabled = false
+        showDialog()
+        HttpManager.placeOrder(2,way,2,null,receiveId,data?.id?:"",null).request(this,success = {_,data->
+            onPaySuccess()
+
+        }){_,_->
+            tv_action.isEnabled = true
+        }
+    }
+
+    private fun payBalance() {
+        tv_action.isEnabled = false
+        showDialog()
+        HttpManager.gvieCourse(data?.id?:"",2,receiveId).request(this,success = {_,_->
+            onPaySuccess()
+        }){_,_->
+            tv_action.isEnabled = true
+        }
     }
 
     override fun initView() {
@@ -66,6 +107,15 @@
         }
     }
 
+    override fun onPaySuccess() {
+        setResult(RESULT_OK)
+        startActivity<PaySuccessActivity>("data" to data,"fromDetail" to fromDetail)
+        finish()
+    }
 
+    override fun onPayCancel() {
+    }
 
+    override fun onPayError(msg: String) {
+    }
 }

--
Gitblit v1.7.1