取消订单返回余额
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,6 +3,7 @@ package com.ck.ckcollar.app.model
|
||||
import com.google.gson.JsonElement
|
||||
|
||||
class OrderPaymentModel {
|
||||
var orderId: Int = 0
|
||||
var orderStr: JsonElement? = null
|
||||
var wxMap: JsonElement? = null
|
||||
var pointsAmount: Double = 0.0
|
||||
|
||||
@@ -69,6 +69,9 @@ class PayOrderActivity : CKBaseActivity() {
|
||||
var selectPoints = false
|
||||
var confirmOrderModel : ConfirmOrderModel? = null
|
||||
lateinit var orderSource: String
|
||||
|
||||
private var isCancellingOrder = false
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
binding = ActivityPayOrderBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
@@ -388,7 +391,33 @@ class PayOrderActivity : CKBaseActivity() {
|
||||
}
|
||||
|
||||
private fun handleWeChatPaymentFailed(cancelled: Boolean) {
|
||||
toast(if (cancelled) "已取消微信支付" else getString(R.string.payment_faild))
|
||||
if (cancelled) {
|
||||
cancelPendingOrder()
|
||||
} else {
|
||||
toast(getString(R.string.payment_faild))
|
||||
}
|
||||
}
|
||||
|
||||
private fun cancelPendingOrder() {
|
||||
if (isCancellingOrder) return
|
||||
|
||||
isCancellingOrder = true
|
||||
showProgeassDialog(getString(R.string.cancel))
|
||||
TTHttpClient.post(this, "取消待支付订单", TTRequestParam().apply {
|
||||
add(TTRequestData("orderId", model.id))
|
||||
}, object : ICallback {
|
||||
override fun onSuccess(data: String) {
|
||||
hiddenProgeassDialog()
|
||||
toast(getString(R.string.cancel_pay_cussess))
|
||||
finish(DataCollection(), 1002)
|
||||
}
|
||||
|
||||
override fun onFailed(code: String, msg: String) {
|
||||
isCancellingOrder = false
|
||||
hiddenProgeassDialog()
|
||||
toast(msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun canPointsCoverPayAmount(): Boolean {
|
||||
@@ -425,6 +454,8 @@ class PayOrderActivity : CKBaseActivity() {
|
||||
// 该笔订单是否真实支付成功,需要依赖服务端的异步通知。
|
||||
toast(getString(R.string.payment_success))
|
||||
finish(DataCollection(),1002)
|
||||
} else if (TextUtils.equals(resultStatus, "6001")) {
|
||||
cancelPendingOrder()
|
||||
} else {
|
||||
toast(getString(R.string.payment_faild))
|
||||
}
|
||||
|
||||
@@ -79,6 +79,10 @@ class OrderActivity : CKBaseActivity() {
|
||||
lateinit var orderSource: String
|
||||
|
||||
var flag = 0
|
||||
|
||||
private var currentOrderId = 0
|
||||
private var isCancellingOrder = false
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
binding = ActivityOrderBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
@@ -87,6 +91,11 @@ class OrderActivity : CKBaseActivity() {
|
||||
setTitleText(getString(R.string.confirm_order))
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
var abc = 0;
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
LiveDataBus.get().with(RechargeActivity.WX_PAY_RESULT, Int::class.java).observe(this) { result ->
|
||||
if (result == 0) {
|
||||
@@ -314,6 +323,7 @@ class OrderActivity : CKBaseActivity() {
|
||||
TTHttpClient.postJson(this, "下单", param.toString(), object : ICallback {
|
||||
override fun onSuccess(data: String) {
|
||||
val paymentModel = Gson().fromJson(data, OrderPaymentModel::class.java)
|
||||
currentOrderId = paymentModel.orderId
|
||||
if ("0".equals(this@OrderActivity.payType)) {
|
||||
val weChatPayParams = paymentModel.wxMap
|
||||
if (weChatPayParams == null || !weChatPayParams.isJsonObject) {
|
||||
@@ -376,7 +386,7 @@ class OrderActivity : CKBaseActivity() {
|
||||
// 该笔订单是否真实支付成功,需要依赖服务端的异步通知。
|
||||
handlePaymentSuccess()
|
||||
} else {
|
||||
handlePaymentFailed(false)
|
||||
handlePaymentFailed(TextUtils.equals(resultStatus, "6001"))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -434,7 +444,44 @@ class OrderActivity : CKBaseActivity() {
|
||||
}
|
||||
|
||||
private fun handlePaymentFailed(cancelled: Boolean) {
|
||||
toast(if (cancelled) "已取消微信支付" else getString(R.string.payment_faild))
|
||||
if (cancelled) {
|
||||
cancelPendingOrder()
|
||||
return
|
||||
}
|
||||
|
||||
toast(getString(R.string.payment_faild))
|
||||
openPendingOrderList()
|
||||
}
|
||||
|
||||
private fun cancelPendingOrder() {
|
||||
if (isCancellingOrder) return
|
||||
|
||||
if (currentOrderId <= 0) {
|
||||
toast(getString(R.string.payment_faild))
|
||||
openPendingOrderList()
|
||||
return
|
||||
}
|
||||
|
||||
isCancellingOrder = true
|
||||
showProgeassDialog(getString(R.string.cancel))
|
||||
TTHttpClient.post(this, "取消待支付订单", TTRequestParam().apply {
|
||||
add(TTRequestData("orderId", currentOrderId))
|
||||
}, object : ICallback {
|
||||
override fun onSuccess(data: String) {
|
||||
hiddenProgeassDialog()
|
||||
toast(getString(R.string.cancel_pay_cussess))
|
||||
openPendingOrderList()
|
||||
}
|
||||
|
||||
override fun onFailed(code: String, msg: String) {
|
||||
hiddenProgeassDialog()
|
||||
toast(msg)
|
||||
openPendingOrderList()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun openPendingOrderList() {
|
||||
toActivity(
|
||||
MyOrderActivity::class.java,
|
||||
DataCollection().apply { add(Data("pos", "1")) }
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<string name="see">识别</string>
|
||||
<string name="check">检查</string>
|
||||
<string name="cancel_cussess">取消成功</string>
|
||||
<string name="cancel_pay_cussess">取消支付</string>
|
||||
<string name="receive_cussess">收货成功</string>
|
||||
<string name="bound_success">绑定成功</string>
|
||||
<string name="modify_phone_number">修改手机号</string>
|
||||
|
||||
Reference in New Issue
Block a user