refactor(login): 优化餐盘出盘及剩余状态提示逻辑
- 出盘后改为直接查询剩余餐盘状态以决定提示音播放 - result为false时播放无盘提示音并跳转首页 - result为true时播放出盘成功音效,继续查询剩余餐盘 - 新增checkRemainingPlate方法,查询餐盘状态并播放相应提示音 - 错误时跳过播放,确保流程顺畅跳转首页 - 删除之前注释的旧版餐盘检测逻辑代码
This commit is contained in:
@@ -407,7 +407,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
|||||||
private var plateEnable = false
|
private var plateEnable = false
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 打开餐盘柜:先获取 PLC 状态,有盘则出盘,无盘则播放提示音
|
* 打开餐盘柜:执行出盘,出盘后查询剩余餐盘状态并播放对应提示音
|
||||||
*/
|
*/
|
||||||
private fun openPlate(userId: String?) {
|
private fun openPlate(userId: String?) {
|
||||||
loadLogInfo("collectFace,openPlate: userId=$userId,plateEnable=$plateEnable")
|
loadLogInfo("collectFace,openPlate: userId=$userId,plateEnable=$plateEnable")
|
||||||
@@ -416,16 +416,19 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
|||||||
PlcHelper.getInstance(this@LoginByFaceActivity)
|
PlcHelper.getInstance(this@LoginByFaceActivity)
|
||||||
.outPlate(object : PlcCallback<String> {
|
.outPlate(object : PlcCallback<String> {
|
||||||
override fun onSuccess(result: String) {
|
override fun onSuccess(result: String) {
|
||||||
|
|
||||||
if(result.equals("true")){
|
|
||||||
SoundPoolUtil.getInstance().play(RECOGNIZE_SUCCESS, 0)
|
|
||||||
}
|
|
||||||
plateEnable = false
|
plateEnable = false
|
||||||
recognizeCountDownUtil.cancelCountDown()
|
recognizeCountDownUtil.cancelCountDown()
|
||||||
|
loadLogInfo("collectFace,openPlate: 出盘完成,result=$result,开始查询剩余餐盘")
|
||||||
|
// result 为 false 时表示出盘后无餐盘,直接播放无盘提示音
|
||||||
loadLogInfo("collectFace,openPlate: 出盘成功,result=$result")
|
if (result.equals("false", ignoreCase = true)) {
|
||||||
goInitActivity()
|
loadLogInfo("collectFace,openPlate: result=false,餐盘已空")
|
||||||
|
SoundPoolUtil.getInstance().play(NO_PLATE_REMIND, 0)
|
||||||
|
goInitActivity()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// result 为 true,出盘成功,再查询是否还有剩余餐盘
|
||||||
|
SoundPoolUtil.getInstance().play(RECOGNIZE_SUCCESS, 0)
|
||||||
|
checkRemainingPlate()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onError(message: String) {
|
override fun onError(message: String) {
|
||||||
@@ -434,32 +437,31 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
|||||||
goInitActivity()
|
goInitActivity()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// showWaitingDialog("检测餐盘中,请稍候……")
|
/**
|
||||||
// PlcHelper.getInstance(this).getStatus(object : PlcCallback<PlcStatus> {
|
* 出盘成功后查询剩余餐盘状态,无盘则播放提示音
|
||||||
// override fun onSuccess(result: PlcStatus) {
|
*/
|
||||||
// hideWaitingDialog()
|
private fun checkRemainingPlate() {
|
||||||
// if (result.isEmptyPlate) {
|
PlcHelper.getInstance(this@LoginByFaceActivity)
|
||||||
// // 无餐盘,播放提示音并返回首页
|
.getStatus(object : PlcCallback<PlcStatus> {
|
||||||
// loadLogInfo("collectFace,openPlate: 暂无餐盘,isEmptyPlate=true,isCollectFace=$isCollectFace")
|
override fun onSuccess(result: PlcStatus) {
|
||||||
// SoundPoolUtil.getInstance().play(NO_PLATE_REMIND, 0)
|
if (isFinishing || isDestroyed) return
|
||||||
// goInitActivity()
|
loadLogInfo("collectFace,checkRemainingPlate: isEmptyPlate=${result.isEmptyPlate}")
|
||||||
// return
|
if (result.isEmptyPlate) {
|
||||||
// }
|
// 餐盘已空,播放无盘提示音
|
||||||
// // 有餐盘,播放识别成功音效并调用出盘
|
SoundPoolUtil.getInstance().play(NO_PLATE_REMIND, 0)
|
||||||
// loadLogInfo("collectFace,openPlate: 检测到餐盘,开始出盘")
|
}
|
||||||
//
|
goInitActivity()
|
||||||
//
|
}
|
||||||
// }
|
|
||||||
//
|
override fun onError(message: String) {
|
||||||
// override fun onError(message: String) {
|
if (isFinishing || isDestroyed) return
|
||||||
// hideWaitingDialog()
|
// 状态查询失败,不影响主流程,直接跳转
|
||||||
// // 状态获取失败,保底播放无盘提示
|
loadLogInfo("collectFace,checkRemainingPlate: 获取PLC状态失败,message=$message")
|
||||||
// loadLogInfo("collectFace,openPlate: 获取PLC状态失败,message=$message")
|
goInitActivity()
|
||||||
// SoundPoolUtil.getInstance().play(NO_PLATE_REMIND, 0)
|
}
|
||||||
// goInitActivity()
|
})
|
||||||
// }
|
|
||||||
// })
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private val openDebouncer by lazy { Debouncer(5000) }
|
private val openDebouncer by lazy { Debouncer(5000) }
|
||||||
|
|||||||
Reference in New Issue
Block a user