Commit f02b9a58 authored by shiyl's avatar shiyl

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

parent 24bb902b
......@@ -2,6 +2,7 @@ package com.yidian.bcommon.utils
import android.text.InputFilter
import java.util.regex.Pattern
import java.util.regex.Matcher
/**
......@@ -12,6 +13,22 @@ import java.util.regex.Pattern
class InputFilterUtil {
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
import android.content.Intent
import android.text.InputFilter
import android.text.InputFilter.LengthFilter
import androidx.activity.viewModels
import com.yidian.bcommon.constant.IntentConstants
import com.yidian.bcommon.constant.XEventConfig
......@@ -19,7 +21,9 @@ import org.json.JSONObject
import timber.log.Timber
import com.pingplusplus.android.Pingpp
import com.pingplusplus.android.Pingpp.REQUEST_CODE_PAYMENT
import com.yidian.bcommon.utils.InputFilterUtil
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.bcommon.widget.CommonHintDialog
import com.yidian.shenghuoquan.buserorder.viewmodel.ConfirmOrderViewModel
import com.yidian.xpage.XPageViewProtocol
......@@ -43,11 +47,17 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
override fun initView() {
XEventManager.register(this)
setView()
subscribeUiEvent()
initList()
getIntentData(intent)
}
private fun setView() {
binding.etReceivingName.filters = arrayOf(InputFilterUtil.getNumbersAndChineseFilter(), LengthFilter(10))
binding.etMark.filters = arrayOf(InputFilterUtil.getNumbersAndChineseFilter(), LengthFilter(50))
}
private fun initList() {
binding.rvGoodsList.adapter = adapter
}
......@@ -156,7 +166,16 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
vm.paymentSuccess()
} else {
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() {
}
}
/**
* 支付失败进行再次支付,需要使用上次的订单id,再次获取charge然后调用ping++
*/
fun againToGetCharge() {
toGetCharge(payOrderId)
}
/**
* 支付结果
*/
fun paymentSuccess() {
// 支付成功打开订单详情
_toOrderDetailEvent.value = payOrderId
}
......
......@@ -163,6 +163,7 @@
app:layout_constraintVertical_bias="0" />
<EditText
android:id="@+id/et_receiving_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp12"
......@@ -413,11 +414,11 @@
app:layout_constraintVertical_bias="0" />
<EditText
android:id="@+id/et_mark"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@null"
android:hint="建议备注前与发布人沟通,最多50个字"
android:maxLength="50"
android:text="@={vm.remark}"
android:textColor="@color/color_333333"
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