餐盘柜优化-不绑定用户可多次取盘

This commit is contained in:
mazengfei
2026-01-16 16:45:13 +08:00
parent cf2d2db42f
commit 1b4762916a
5 changed files with 44 additions and 61 deletions
@@ -210,14 +210,14 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
Timber.i("recognizeUserId observe userId = ${result?.faceEntity?.userName}")
currentUserId = result?.faceEntity?.userName
// viewModel.getUserInfoById(memberId = userId)
//ToastUtils.showToast(userId)
// ToastUtils.showToast(currentUserId)
// if (!currentUserId.isNullOrBlank()) {
//// ToastUtils.showToast("您已采集过人脸信息")
// return@Observer
// }
if (currentPlateInfo?.faceId == currentUserId) {
return@Observer
}
// if (currentPlateInfo?.faceId == currentUserId) {
// return@Observer
// }
openPlate(currentUserId)
})
@@ -249,17 +249,8 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
Log.d(TAG, "openPlate: userId=$userId")
getPlateData { items ->
Log.d(TAG, "openPlate: items:${Gson().toJson(items)}")
var item = items.firstOrNull { it.faceId == userId }
Log.d(TAG, "openPlate: item1:${item}")
if (item != null) {
//餐盘已取
ToastUtils.showToast("您已拿过餐盘!")
return@getPlateData
}
// 未查询到当前用户,查询第一个未绑定的餐盘
item = items.firstOrNull {
it.plateNumber.isNullOrEmpty().not() && it.faceId.isNullOrBlank()
}
val item = items.firstOrNull { it.plateNumber.isNullOrEmpty().not() }
Log.d(TAG, "openPlate: item2:${item}")
if (item == null) {
//暂无餐盘
@@ -269,6 +260,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
Log.d(TAG, "openPlate: item3:${item}")
item.faceId = userId
item.updateTime = DateTimeUtils.getDateTimeString()
item.plateNumber = null
//打开柜子
PlateUtils.open(this, item.equipmentBoxCode, false)
@@ -548,7 +540,6 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
private fun pauseCamera() {
isRecognition = false
recognizeViewModel.onPreviewFrame(ByteArray(1382400), true)
}