|
|
<?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['order_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['order_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']); // 传入总记录数// 传入数据二维数组
}}
|