This commit is contained in:
liaoyk 2024-08-16 16:43:24 +08:00
parent a4596fd009
commit 8a93123166
1 changed files with 10 additions and 1 deletions

View File

@ -186,6 +186,8 @@ if ($qs == 'heartbeat' || $qs == 'addperson' || $qs == 'delperson') { //心跳
$faceInfo[$item['user_id']] = $item; $faceInfo[$item['user_id']] = $item;
} }
} }
// tb_face -> faceInfo -> userList_s
// tb_pos_device -> userList_d
// 关联用户表和用户id卡表获取信息 // 关联用户表和用户id卡表获取信息
// 获取对应租户下的所有用户卡信息 // 获取对应租户下的所有用户卡信息
@ -258,6 +260,7 @@ if ($qs == 'heartbeat' || $qs == 'addperson' || $qs == 'delperson') { //心跳
} }
// 设备表的用户信息 // 设备表的用户信息
$item2 = $dUserInfo[$uid]; $item2 = $dUserInfo[$uid];
// 本质上其实是比较pos_device_user表中的数据和user user_face表联合查询的结果是否匹配
// 如果设备用户表的记录和用户表的记录不一致 // 如果设备用户表的记录和用户表的记录不一致
if ( if (
($item2['facecode'] . '') !== ($item['facecode'] . '') ($item2['facecode'] . '') !== ($item['facecode'] . '')
@ -351,6 +354,12 @@ if ($qs == 'heartbeat' || $qs == 'addperson' || $qs == 'delperson') { //心跳
$delList = array(); //删除列表 $delList = array(); //删除列表
$maxcount = 100; $maxcount = 100;
// 遍历设备用户表的记录
/*
删除有两种情况:
1. 距上次下发删除5分钟后还没收到确认
2. 设备用户表中的用户记录不在用户表中
*/
foreach ($userList_d as $item) { foreach ($userList_d as $item) {
$uid = $item['uid']; $uid = $item['uid'];
@ -373,7 +382,7 @@ if ($qs == 'heartbeat' || $qs == 'addperson' || $qs == 'delperson') { //心跳
continue; continue;
} }
// 不在用户表中添加item到删除列表 // 设备用户表中的用户记录不在用户表中添加item到删除列表
if (!$sUserInfo[$uid]) { if (!$sUserInfo[$uid]) {
$delList[] = $item; $delList[] = $item;
if (count($delList) >= $maxcount) if (count($delList) >= $maxcount)