feat(business): 增加餐具重量配置及扣减功能
- 在 BusinessFragment 中添加实时秤重读取及餐具重量持久化存储 - 在界面显示餐具重量标签,配置时显示当前保存值 - 定义全局常量 KEY_DISH_WEIGHT 用于存储餐具重量 - 在 MainActivity 内部方法添加获取配置餐具重量接口 - 修改订餐逻辑,取餐提交时自动从就餐重量中扣减餐具重量 - 在主界面相关订单及计价逻辑中扣减餐具重量影响份数和价格 - 调整重量监听及订单添加部分逻辑以应用净重计算 - 更新定时任务延迟时间,提高效率和响应速度
This commit is contained in:
@@ -963,6 +963,14 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
||||
return eatNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取已配置的餐具重量(克)。
|
||||
* 用于取餐提交时从就餐重量中扣减,默认 0 表示未配置、不扣减。
|
||||
*/
|
||||
internal fun getDishWeight(): Int {
|
||||
return SPUtil.getInstance().get(GlobalKey.KEY_DISH_WEIGHT, 0) ?: 0
|
||||
}
|
||||
|
||||
private var foodOrderId: String = ""
|
||||
private var isExist = false
|
||||
fun addBackEventListener() {
|
||||
@@ -1039,6 +1047,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
||||
val mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
||||
//0-计费,1-不计费
|
||||
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0) ?: 0
|
||||
// 餐具重量(克),提交就餐数据时从就餐重量中扣减
|
||||
val dishWeight = getDishWeight()
|
||||
var foodWeight = 0
|
||||
var eatWeight = 0
|
||||
if (chargeMode == 0) {
|
||||
@@ -1064,6 +1074,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
||||
recognizeWeight - currentWeight
|
||||
}
|
||||
}
|
||||
// 扣减餐具重量(仅影响就餐重量与份数,菜品原始重量 foodWeight 保持不变),不足则归零
|
||||
val rawEatWeight = eatWeight
|
||||
eatWeight = (rawEatWeight - dishWeight).coerceAtLeast(0)
|
||||
log("clickPayButton dishWeight=$dishWeight, rawEatWeight=$rawEatWeight, deductedEatWeight=$eatWeight")
|
||||
val eatNum = getEatNum(eatWeight.toDouble(), checkedItem!!.specWeight)
|
||||
createOrder(
|
||||
foodInfo = checkedItem!!,
|
||||
@@ -1196,10 +1210,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
||||
private val intervalExecutor by lazy { IntervalExecutor() }
|
||||
private var faceTaskJob: Job? = null
|
||||
|
||||
// private val initialDelay = 5 * 60 * 1000L
|
||||
// private val dealyMillis = 10 * 60 * 1000L
|
||||
private val initialDelay = 10 * 1000L
|
||||
private val dealyMillis = 5 * 1000L
|
||||
private val initialDelay = 60 * 1000L
|
||||
private val dealyMillis = 30 * 1000L
|
||||
|
||||
// private var taskPageNo = 1
|
||||
fun startFaceTask() {
|
||||
|
||||
Reference in New Issue
Block a user