联合支付模式使用人脸识别生成就餐记录

This commit is contained in:
2026-03-19 14:19:20 +08:00
parent a6d2441704
commit b51be58c64
8 changed files with 176 additions and 24 deletions
@@ -117,7 +117,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
checkedItem = item
notifyDataSetChanged()
updateCurrentFood(item)
//0-计费,1-不计费
val mode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
//不计费模式切换菜品,重新加载数据
if (mode == 1) {
@@ -595,11 +595,13 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
}
}
}
//根据付费模式确认是否显示按钮
binding.btnPay.run {
val mode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
if (mode == 0) visible() else gone()
//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()
}
}
@@ -634,16 +636,26 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
lastTouchTime = System.currentTimeMillis()
}
fun joinPayment() {
}
fun createOrder(
foodInfo: FoodInfo,
foodWeight: Int,
eatWeight: Int,
eatNum: Int,
userId: String?,
isMember:Boolean,
notEnoughOneBlock: () -> Unit = {},
block: () -> 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-余量计量
val pickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
// if (pickupMode == 0) {
// if (foodWeight <= 5) {
@@ -661,7 +673,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
return
}
showWaitingDialog("加载中,请稍候……")
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
val order = FoodOrder(
deviceId = GlobalData.deviceId,
foodId = foodInfo.foodId,
@@ -675,7 +686,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
userId = userId,
notPay = chargeMode != 0,
//即放即取-1,称重-2
mode = if (pickupMode == 1) 1 else 2
mode = if (pickupMode == 1) 1 else 2,
paymentFrom = if (settlementMode == 0) 1 else 2,
member = isMember
)
submitOrder(order, block)
}
@@ -734,6 +747,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
@Subscribe(threadMode = ThreadMode.MAIN)
fun onPaySuccessEvent(event: PaySuccessEvent) {
isRefreshPage = true
//0-计费,1-不计费
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0) ?: 0
presentation?.hideNutritionView(chargeMode)
presentation?.cancel()
@@ -768,7 +782,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
}
//val realWeight = (lastWeight * 1000).roundToInt()
//0-即放即取,1-余量计量
val mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
//0-计费,1-不计费
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0) ?: 0
var foodWeight = 0.0
var eatWeight = 0.0
@@ -802,6 +818,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
eatWeight = eatWeight.roundToInt(),
eatNum = eatNum,
userId = null,
isMember = false
) {
isRefreshPage = false
shutdownCamera()
@@ -1035,9 +1052,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
log("registerDataChange photoUri 识别数据名称:$foodName")
runOnUiThread {
binding.flPay.run {
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
//0-联合支付,1-独立支付
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
//0-计费,1-不计费
if (chargeMode == 0) visible() else gone()
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
//独立支付+计费模式才显示“去结算”按钮,否则使用人脸识别
if (settlementMode == 1 && chargeMode == 0) visible() else gone()
}
}
if (TextUtils.isEmpty(foodName)) {