From 372847f39869e2270420346a4ed6d2d2eec059c2 Mon Sep 17 00:00:00 2001 From: wong <106998207@qq.com> Date: Sun, 28 Sep 2025 16:01:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BE=A4=E6=88=90=E5=91=98?= =?UTF-8?q?=E5=8F=8A=E5=A5=BD=E5=8F=8B=E6=95=B0=E6=8D=AE=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chatroom/GetChatroomListV1Controller.php | 10 ++++++++-- .../controller/friend/GetFriendListV1Controller.php | 9 +++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Server/application/cunkebao/controller/chatroom/GetChatroomListV1Controller.php b/Server/application/cunkebao/controller/chatroom/GetChatroomListV1Controller.php index 65ea783a..39ca9149 100644 --- a/Server/application/cunkebao/controller/chatroom/GetChatroomListV1Controller.php +++ b/Server/application/cunkebao/controller/chatroom/GetChatroomListV1Controller.php @@ -22,15 +22,21 @@ class GetChatroomListV1Controller extends BaseController $keyword = $this->request->param('keyword', ''); try { - $companyId = (int)$this->getUserInfo('companyId'); + /*$companyId = (int)$this->getUserInfo('companyId'); $wechatIds = Db::name('device')->alias('d') // 仅关联每个设备在 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]) + ->column('dwl.wechatId');*/ + + + $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]) ->column('dwl.wechatId'); - + $where = []; if ($this->getUserInfo('isAdmin') == 1) { $where[] = ['g.deleteTime', '=', 0]; diff --git a/Server/application/cunkebao/controller/friend/GetFriendListV1Controller.php b/Server/application/cunkebao/controller/friend/GetFriendListV1Controller.php index c748ffa4..3222d7db 100644 --- a/Server/application/cunkebao/controller/friend/GetFriendListV1Controller.php +++ b/Server/application/cunkebao/controller/friend/GetFriendListV1Controller.php @@ -42,12 +42,17 @@ 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])->group('dwl.deviceId')->order('dwl.id desc'); + + + /*$wechatIds = Db::name('device')->alias('d') // 仅关联每个设备在 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]); + ->where(['d.companyId' => $companyId,'d.deleteTime' => 0]);*/ + if (!empty($deviceIds)){ $wechatIds = $wechatIds->where('d.id','in',$deviceIds);