Files
cunkebao_v3/Server/application/cunkebao/controller/friend/GetFriendListV1Controller.php

72 lines
2.2 KiB
PHP
Raw Normal View History

2025-04-18 10:38:50 +08:00
<?php
namespace app\cunkebao\controller\friend;
use app\common\model\Device as DeviceModel;
use app\common\model\DeviceUser as DeviceUserModel;
use app\common\model\WechatFriendShip as WechatFriendShipModel;
2025-04-18 10:38:50 +08:00
use app\cunkebao\controller\BaseController;
2025-04-22 19:17:14 +08:00
use think\Db;
2025-04-18 10:38:50 +08:00
/**
* 设备管理控制器
*/
class GetFriendListV1Controller extends BaseController
{
/**
* 获取好友列表
* @return \think\response\Json
*/
public function index()
{
2025-04-18 13:46:34 +08:00
$page = $this->request->param('page',1);
$limit = $this->request->param('limit',20);
2025-04-21 09:19:50 +08:00
$keyword = $this->request->param('keyword','');
2025-04-18 10:38:50 +08:00
try {
$where = [];
if ($this->getUserInfo('isAdmin') == 1) {
2025-04-22 19:17:14 +08:00
$where[] = ['wf.companyId','=',$this->getUserInfo('companyId')];
$where[] = ['wf.deleteTime','=',0];
2025-04-18 10:38:50 +08:00
} else {
2025-04-22 19:17:14 +08:00
$where[] = ['wf.companyId','=',$this->getUserInfo('companyId')];
$where[] = ['wf.deleteTime','=',0];
//$where[] = ['wf.userId','=',$this->getUserInfo('id')];
2025-04-18 10:38:50 +08:00
}
2025-04-21 09:19:50 +08:00
2025-04-22 19:17:14 +08:00
if(!empty($keyword)){
$where[] = ['wa1.nickname','like','%'.$keyword.'%'];
2025-04-21 09:19:50 +08:00
}
2025-04-18 13:46:34 +08:00
2025-04-18 10:38:50 +08:00
$data = WechatFriendShipModel::alias('wf')
2025-04-22 19:17:14 +08:00
->field(['wa1.nickname','wa1.avatar','wa1.alias','wf.id','wf.wechatId','wa2.nickname as ownerNickname','wa2.alias as ownerAlias','wa2.wechatId as ownerWechatId','wf.createTime'])
2025-04-21 09:19:50 +08:00
->Join('wechat_account wa1','wf.wechatId = wa1.wechatId')
->Join('wechat_account wa2','wf.ownerWechatId = wa2.wechatId')
2025-04-18 10:38:50 +08:00
->where($where);
2025-04-18 13:46:34 +08:00
$total = $data->count();
2025-04-22 19:17:14 +08:00
$list = $data->page($page, $limit)->order('wf.id DESC')->select();
2025-04-18 10:38:50 +08:00
return json([
'code' => 200,
'msg' => '获取成功',
'data' => [
2025-04-18 13:46:34 +08:00
'list' => $list,
'total' => $total,
2025-04-18 10:38:50 +08:00
]
]);
} catch (\Exception $e) {
return json([
'code' => $e->getCode(),
'msg' => $e->getMessage()
]);
}
}
}