You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.5 KiB
57 lines
2.5 KiB
<?php
|
|
|
|
|
|
namespace App\Admin\Repositories\v3;
|
|
|
|
|
|
use App\Admin\Common\Order;
|
|
use App\Models\LanzuCsInfo;
|
|
use App\Models\v3\SalesmanData;
|
|
use Dcat\Admin\Grid;
|
|
use Dcat\Admin\Repositories\EloquentRepository;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class Salesman extends EloquentRepository
|
|
{
|
|
protected $eloquentClass = \App\Models\v3\User::class;
|
|
public function get(Grid\Model $model)
|
|
{
|
|
$userId = $model->filter()->input('user_id');
|
|
$build = LanzuCsInfo::select(
|
|
DB::raw('count("lanzu_cs_info.person_id") as total'),
|
|
DB::raw('group_concat(lanzu_cs_info.admin_user_id) as admin_user_id'),
|
|
DB::raw('group_concat(rb.user_id) as user_id'),
|
|
'lanzu_cs_info.person_id','lanzu_user.nick_name')
|
|
->groupBy('lanzu_cs_info.person_id')
|
|
->leftJoin('lanzu_user','lanzu_user.id','lanzu_cs_info.person_id')
|
|
->leftJoin('lanzu_user_relation_bind as rb','rb.source_id','lanzu_cs_info.admin_user_id')
|
|
->where('lanzu_cs_info.person_id','>',0);
|
|
if ($userId){
|
|
$build = $build->where('lanzu_user.id',$userId);
|
|
}
|
|
$option = request()->get('option');
|
|
//>>1.获取业务员
|
|
$rows = $build->paginate(10)->toArray();
|
|
//>>2.获取业务员下的所有社区的绑定用户
|
|
foreach ($rows['data'] as &$value){
|
|
$value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id']));
|
|
$value['total'] = count($value['admin_user_id']);
|
|
$uid = explode(',',$value['user_id']);
|
|
$value['t_num'] = Order::getOrderData([
|
|
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
|
|
'data_type'=>'number',//取什么数据 data_type 数据类型
|
|
'market_id'=>'',//取哪个市场数据
|
|
'condition'=>1,//取数据维度 condition
|
|
'user_ids'=>$uid?$uid:null
|
|
],$option);//今日订单数
|
|
$value['t_amount'] = Order::getOrderData([
|
|
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
|
|
'data_type'=>'amount',//取什么数据 data_type 数据类型
|
|
'market_id'=>'',//取哪个市场数据
|
|
'condition'=>1,//取数据维度 condition
|
|
'user_ids'=>$uid?$uid:null
|
|
],$option);//今日订单金额
|
|
}
|
|
return $model->makePaginator($rows['total'],$rows['data']); // 传入总记录数// 传入数据二维数组
|
|
}
|
|
}
|