Commit f02b9a58 authored by shiyl's avatar shiyl

确认订单添加输入内容规则限制,支付失败弹框提示是否继续支付

parent 24bb902b
...@@ -2,6 +2,7 @@ package com.yidian.bcommon.utils ...@@ -2,6 +2,7 @@ package com.yidian.bcommon.utils
import android.text.InputFilter import android.text.InputFilter
import java.util.regex.Pattern import java.util.regex.Pattern
import java.util.regex.Matcher
/** /**
...@@ -12,6 +13,22 @@ import java.util.regex.Pattern ...@@ -12,6 +13,22 @@ import java.util.regex.Pattern
class InputFilterUtil { class InputFilterUtil {
companion object { companion object {
/**
* 输入框内只能输入中英文和数字
*/
fun getNumbersAndChineseFilter(): InputFilter {
return InputFilter { source, _, _, _, _, _ ->
val p = Pattern.compile("[0-9a-zA-Z|\u4e00-\u9fa5]+")
val m: Matcher = p.matcher(source.toString())
if (!m.matches()) {
return@InputFilter ""
} else {
return@InputFilter null
}
}
}
/** /**
* 真实姓名过滤 * 真实姓名过滤
* 汉字 + · * 汉字 + ·
......
package com.yidian.shenghuoquan.buserorder.ui package com.yidian.shenghuoquan.buserorder.ui
import android.content.Intent import android.content.Intent
import android.text.InputFilter
import android.text.InputFilter.LengthFilter
import androidx.activity.viewModels import androidx.activity.viewModels
import com.yidian.bcommon.constant.IntentConstants import com.yidian.bcommon.constant.IntentConstants
import com.yidian.bcommon.constant.XEventConfig import com.yidian.bcommon.constant.XEventConfig
...@@ -19,7 +21,9 @@ import org.json.JSONObject ...@@ -19,7 +21,9 @@ import org.json.JSONObject
import timber.log.Timber import timber.log.Timber
import com.pingplusplus.android.Pingpp import com.pingplusplus.android.Pingpp
import com.pingplusplus.android.Pingpp.REQUEST_CODE_PAYMENT import com.pingplusplus.android.Pingpp.REQUEST_CODE_PAYMENT
import com.yidian.bcommon.utils.InputFilterUtil
import com.yidian.bcommon.utils.ToastUtils import com.yidian.bcommon.utils.ToastUtils
import com.yidian.bcommon.widget.CommonHintDialog
import com.yidian.shenghuoquan.buserorder.viewmodel.ConfirmOrderViewModel import com.yidian.shenghuoquan.buserorder.viewmodel.ConfirmOrderViewModel
import com.yidian.xpage.XPageViewProtocol import com.yidian.xpage.XPageViewProtocol
...@@ -43,11 +47,17 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding, ...@@ -43,11 +47,17 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
override fun initView() { override fun initView() {
XEventManager.register(this) XEventManager.register(this)
setView()
subscribeUiEvent() subscribeUiEvent()
initList() initList()
getIntentData(intent) getIntentData(intent)
} }
private fun setView() {
binding.etReceivingName.filters = arrayOf(InputFilterUtil.getNumbersAndChineseFilter(), LengthFilter(10))
binding.etMark.filters = arrayOf(InputFilterUtil.getNumbersAndChineseFilter(), LengthFilter(50))
}
private fun initList() { private fun initList() {
binding.rvGoodsList.adapter = adapter binding.rvGoodsList.adapter = adapter
} }
...@@ -156,7 +166,16 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding, ...@@ -156,7 +166,16 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
vm.paymentSuccess() vm.paymentSuccess()
} else { } else {
Timber.tag("确认订单").e("支付失败,错误原因:$errorMsg \n $extraMsg") Timber.tag("确认订单").e("支付失败,错误原因:$errorMsg \n $extraMsg")
ToastUtils.showShortSafe("支付失败,错误原因:$errorMsg \n $extraMsg") CommonHintDialog(this, "交易失败,是否继续支付?", arrayListOf("取消", "确定"), object : CommonHintDialog.OnHintOptionCallback {
override fun onLeftOption() {
}
override fun onRightOption() {
// 重新获取charge进行支付
vm.againToGetCharge()
}
}).show()
} }
} }
} }
......
...@@ -210,10 +210,18 @@ class ConfirmOrderViewModel : BaseViewModel() { ...@@ -210,10 +210,18 @@ class ConfirmOrderViewModel : BaseViewModel() {
} }
} }
/**
* 支付失败进行再次支付,需要使用上次的订单id,再次获取charge然后调用ping++
*/
fun againToGetCharge() {
toGetCharge(payOrderId)
}
/** /**
* 支付结果 * 支付结果
*/ */
fun paymentSuccess() { fun paymentSuccess() {
// 支付成功打开订单详情
_toOrderDetailEvent.value = payOrderId _toOrderDetailEvent.value = payOrderId
} }
......
...@@ -163,6 +163,7 @@ ...@@ -163,6 +163,7 @@
app:layout_constraintVertical_bias="0" /> app:layout_constraintVertical_bias="0" />
<EditText <EditText
android:id="@+id/et_receiving_name"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp12" android:layout_marginStart="@dimen/dp12"
...@@ -413,11 +414,11 @@ ...@@ -413,11 +414,11 @@
app:layout_constraintVertical_bias="0" /> app:layout_constraintVertical_bias="0" />
<EditText <EditText
android:id="@+id/et_mark"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@null" android:background="@null"
android:hint="建议备注前与发布人沟通,最多50个字" android:hint="建议备注前与发布人沟通,最多50个字"
android:maxLength="50"
android:text="@={vm.remark}" android:text="@={vm.remark}"
android:textColor="@color/color_333333" android:textColor="@color/color_333333"
android:textSize="@dimen/sp14" android:textSize="@dimen/sp14"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment