Files
cunkebao_v3/Server/application/cunkebao/controller/traffic/GetPotentialListWithInCompanyV1Controller.php

83 lines
2.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\cunkebao\controller\traffic;
use app\common\model\TrafficPool as TrafficPoolModel;
use app\common\model\WechatFriendShip as WechatFriendShipModel;
use app\cunkebao\controller\BaseController;
use library\ResponseHelper;
/**
* 流量池控制器
*/
class GetPotentialListWithInCompanyV1Controller extends BaseController
{
/**
* 构建查询条件
*
* @param array $params
* @return array
*/
protected function makeWhere(array $params = []): array
{
// 关键词搜索同时搜索IMEI和备注
if (!empty($keyword = $this->request->param('keyword'))) {
$where[] = ['exp', "p.identifier LIKE '%{$keyword}%'"];
}
$where['s.companyId'] = $this->getUserInfo('companyId');
return array_merge($where, $params);
}
/**
* 获取流量池列表
*
* @param array $where
* @return \think\Paginator
*/
protected function getPoolListByCompanyId(array $where): \think\Paginator
{
$query = TrafficPoolModel::alias('t')
->field(
[
't.identifier nickname', 't.mobile', 't.wechatId', 't.identifier',
's.id', 's.fromd', 's.status', 's.createTime'
]
)
->join('traffic_source s', 't.identifier=s.identifier')
->order('s.id desc');
foreach ($where as $key => $value) {
if (is_numeric($key) && is_array($value) && isset($value[0]) && $value[0] === 'exp') {
$query->whereExp('', $value[1]);
continue;
}
$query->where($key, $value);
}
return $query->paginate($this->request->param('limit/d', 10), false, ['page' => $this->request->param('page/d', 1)]);
}
/**
* 获取流量池列表
*
* @return \think\response\Json
*/
public function index()
{
try {
$result = $this->getPoolListByCompanyId( $this->makeWhere() );
return ResponseHelper::success(
[
'list' => $result->items(),
'total' => $result->total(),
]
);
} catch (\Exception $e) {
return ResponseHelper::error($e->getMessage(), $e->getCode());
}
}
}