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.
99 lines
3.8 KiB
99 lines
3.8 KiB
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Graze\GuzzleHttp\JsonRpc\Client;
|
|
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
|
use Illuminate\Foundation\Bus\DispatchesJobs;
|
|
use Illuminate\Foundation\Validation\ValidatesRequests;
|
|
use App\Http\Controllers\Controller as BaseController;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use App\Models\FinancialRecord;
|
|
use App\Admin\Common\Order;
|
|
use App\Models\LanzuCsInfo;
|
|
use App\Models\LanzuUserRelationBind;
|
|
use Illuminate\Console\Command;
|
|
use Illuminate\Support\Facades\DB;
|
|
use \App\Models\v3\CsInfo as modelCsInfo;
|
|
use Maatwebsite\Excel\Facades\Excel;
|
|
|
|
class TestController extends BaseController
|
|
{
|
|
public function Test(){
|
|
$this->getSaleMan();
|
|
}
|
|
|
|
/**
|
|
* 获取拓展员
|
|
*/
|
|
public function getSaleMan()
|
|
{
|
|
$data = 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)->get()->toArray();
|
|
$result = [];
|
|
foreach ($data as $key=>$value){
|
|
$value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id']));
|
|
$result = $this->csDetail($value['admin_user_id'],-30,$value['nick_name'],$result);
|
|
|
|
}
|
|
dd($result);
|
|
}
|
|
|
|
/**
|
|
* 获取站点详情
|
|
*/
|
|
public function csDetail($adminUid,$option,$nickName,$result)
|
|
{
|
|
$data = modelCsInfo::whereIn('admin_user_id',$adminUid)
|
|
->get();
|
|
foreach ($data as &$value){
|
|
$value->nick_name = $nickName;
|
|
//>>1.获取绑定后下过单的用户
|
|
$value->user_num = LanzuUserRelationBind::where('source_id',$value->admin_user_id)->count();
|
|
$uid = Order::getUserOrder($value->admin_user_id);
|
|
//>>2.获取订单数据
|
|
$value->order_user_num = Order::getOrderData([
|
|
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
|
|
'data_type'=>'count_user',//取什么数据 data_type 数据类型
|
|
'market_id'=>'',//取哪个市场数据
|
|
'condition'=>1,//取数据维度 condition
|
|
'user_ids'=>$uid?$uid:null
|
|
],$option);//下单人数
|
|
$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);//订单金额
|
|
if ($result){
|
|
$result[] = $value;
|
|
}
|
|
}
|
|
if ($result){
|
|
return $result;
|
|
}
|
|
return $data;
|
|
}
|
|
|
|
public static function export()
|
|
{
|
|
|
|
return Excel::download(new \App\Admin\Actions\Exporter\SalesMan(), 'market.xlsx');
|
|
}
|
|
}
|