去除好友和群的旧数据

This commit is contained in:
wong
2025-09-24 16:22:24 +08:00
parent 664d86838d
commit ebc24432ff
2 changed files with 10 additions and 4 deletions

View File

@@ -42,9 +42,12 @@ class GetFriendListV1Controller extends BaseController
$where[] = ['nickname|alias|wechatId','like','%'.$keyword.'%'];
}
$companyId = (int)$this->getUserInfo('companyId');
$wechatIds = Db::name('device')->alias('d')
->join('device_wechat_login dwl','dwl.deviceId=d.id AND dwl.companyId='.$this->getUserInfo('companyId'))
->where(['d.companyId' => $this->getUserInfo('companyId'),'d.deleteTime' => 0]);
// 仅关联每个设备在 device_wechat_login 中的最新一条记录
->join('(SELECT MAX(id) AS id, deviceId FROM ck_device_wechat_login WHERE companyId='.$companyId.' GROUP BY deviceId) dwl_max','dwl_max.deviceId = d.id')
->join('device_wechat_login dwl','dwl.id = dwl_max.id')
->where(['d.companyId' => $companyId,'d.deleteTime' => 0]);
if (!empty($deviceIds)){
$wechatIds = $wechatIds->where('d.id','in',$deviceIds);