feat(face): 优化人脸数据同步及类型映射
- 新增接口注释,完善全量及增量人脸数据获取说明 - FaceVO中faceUpdateTimestamp由Long改为String以防JS大数精度丢失 - 增加personType字段标识人员类型 - MainActivity保存人脸数据时映射完整字段,使用personType优先判断用户类型 - NetViewModelV2中获取人脸数据时改用完整构造函数创建FaceEntity - 累积更新lastFaceTimestamp为当前页最大时间戳,避免时间戳遗漏 - 优化时间戳更新逻辑,避免直接使用列表最后一条数据
This commit is contained in:
@@ -1236,14 +1236,17 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
||||
FaceDatabase.getInstance(this@MainActivity).faceDao().deleteFaceById(vo.userId)
|
||||
}
|
||||
} else {
|
||||
//保存数据
|
||||
// 保存数据:使用完整构造函数,映射后端全部字段到数据库
|
||||
val faceEntity = FaceEntity(
|
||||
vo.userId, null, Base64.decode(vo.faceFeature)
|
||||
).also {
|
||||
//1-会员、2-临时用户
|
||||
it.userType = if (vo.member == true) "1" else "2"
|
||||
it.cardNo = vo.cardNo
|
||||
}
|
||||
vo.userId, // userName
|
||||
Base64.decode(vo.faceFeature), // featureData
|
||||
vo.personType ?: if (vo.member == true) "1" else "2", // userType
|
||||
vo.cardNo ?: "", // cardNo
|
||||
vo.userId ?: "", // userId
|
||||
vo.userFaceId ?: "", // userFaceId
|
||||
vo.member ?: false, // member
|
||||
vo.faceUpdateTimestamp?.toLongOrNull() ?: 0L // faceUpdateTimestamp
|
||||
)
|
||||
faceList.add(faceEntity)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user