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 ;
2025-05-12 15:32:42 +08:00
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
2025-05-12 15:32:42 +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 ()
]);
}
}
}