联合支付功能调试

This commit is contained in:
2026-03-20 18:06:22 +08:00
parent 549e8d303f
commit bf8444e5d5
15 changed files with 320 additions and 61 deletions
@@ -140,6 +140,11 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
private var isStartRecognize = false
//0-联合支付,1-独立支付
val settlementMode by lazy {
SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
}
override fun getViewModel(): BaseViewModel {
return viewModel
}
@@ -245,6 +250,18 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
SensorScaleUtils.addWeightListener { weight ->
log("registerDataChange weight = $weight")
//runOnUiThread { binding.tvShowWeight.text="${weight*1000}克" }
if (presentation?.jointPaymentQueryFinish == true) {
//0-即放即取,1-余量计量
val mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
if (mealPickupMode == 0 && weight <= 0.005) {
isAnalyzing = false
presentation?.step1FoodRecognizing()
} else {
return@addWeightListener
}
}
//if (presentation?.currentFood == null) return@addWeightListener
if (lastWeight - weight > 0.005) {
//及放及取,从秤上拿走超过5克
if (presentation?.mealPickupMode == 0) {
@@ -295,8 +312,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
} else {
block()
}
//0-联合支付,1-独立支付
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
if (presentation?.mealPickupMode == 1 || settlementMode == 0) {
lastWeight = weight
}
@@ -602,8 +617,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
binding.btnPay.run {
//0-计费,1-不计费
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
//0-联合支付,1-独立支付
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
if (settlementMode == 1 && chargeMode == 0) visible() else gone()
}
}
@@ -651,11 +664,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
userId: String?,
isMember:Boolean,
notEnoughOneBlock: () -> Unit = {},
block: () -> Unit
successBlock: () -> Unit
) {
log("foodWeight=$foodWeight,eatWeight=$eatWeight")
//0-联合支付,1-独立支付
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
//0-计费,1-不计费
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
//0-即放即取,1-余量计量
@@ -693,10 +704,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
paymentFrom = if (settlementMode == 0) 1 else 2,
member = isMember
)
submitOrder(order, block)
submitOrder(order, successBlock)
}
private fun submitOrder(order: FoodOrder, block: () -> Unit) {
private fun submitOrder(order: FoodOrder, successBlock: () -> Unit) {
viewModel.createOrder(order) { orderId ->
runOnUiThread {
binding.root.postDelayed({
@@ -706,7 +717,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
return@postDelayed
}
foodOrderId = orderId
block()
successBlock()
if (checkedItem!!.isFromSearch == true) {
//当前菜名为手动搜索选择,非识别结果,保存向量数据
@@ -1055,8 +1066,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
log("registerDataChange photoUri 识别数据名称:$foodName")
runOnUiThread {
binding.flPay.run {
//0-联合支付,1-独立支付
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
//0-计费,1-不计费
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
//独立支付+计费模式才显示“去结算”按钮,否则使用人脸识别