From b8d8f9b855fdd453d06d78d2565f091db208ec8e Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期二, 26 十一月 2024 19:30:59 +0800
Subject: [PATCH] 支付

---
 app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt |   44 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 35 insertions(+), 9 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt
index a608652..074deff 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt
@@ -18,6 +18,7 @@
 import com.sinata.xqmuse.utils.pay.PayUtil
 import kotlinx.android.synthetic.main.activity_recharge.*
 import org.greenrobot.eventbus.EventBus
+import org.jetbrains.anko.browse
 import org.jetbrains.anko.sdk27.coroutines.onClick
 import org.jetbrains.anko.startActivity
 import org.jetbrains.anko.toast
@@ -26,8 +27,9 @@
 class RechargeActivity : TransparentStatusBarActivity(),PayListener {
     override fun setContentView() = R.layout.activity_recharge
 
-    private var way = 1
+    private var way = 2
     private var money = 0.0
+    private var orderId = ""
 
     override fun initClick() {
         tv_way.setOnClickListener {
@@ -79,15 +81,34 @@
         toast("%s充值%.2f".format(if (payType == 1) "微信" else "支付宝",money))
         HttpManager.placeOrder(4,payType,2,money,null,null,null )
             .request(this){_,data->
-                if (payType == 1){
-                    PayUtil.initWeChatPay(this,Const.WX_APP_ID)
-                    PayUtil.weChatPay(data!!)
-                }else{
-                    PayUtil.aliPay(this,data?.orderInfo?:"")
-                }
-                onPaySuccess() //todo test
-
+                orderId = data?.orderId?:""
+                if (payType == 1)
+                    data?.jumpToWx(this)
+                else
+                    browse(data?.qrcodeUrl?:"")
             }
+    }
+
+    private fun checkPayStatus(){
+        if (!orderId.isNullOrEmpty()){
+            if (!orderId.isNullOrEmpty()){
+                HttpManager.queryPayment(orderId).request(this){_,data->
+                    when(data){
+                        "pending"->{
+                            toast("未查询到支付结果,如已付款请忽略")
+                        }
+                        "succeeded"->{
+                            toast("支付成功")
+                            onPaySuccess()
+                        }
+                        "failed"->{
+                            toast("支付失败")
+                        }
+                    }
+                }
+                orderId = ""
+            }
+        }
     }
 
     override fun onPaySuccess() {
@@ -103,6 +124,11 @@
     override fun onPayError(msg: String) {
     }
 
+    override fun onResume() {
+        super.onResume()
+        checkPayStatus()
+    }
+
     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
         super.onActivityResult(requestCode, resultCode, data)
         if (resultCode == RESULT_OK){

--
Gitblit v1.7.1