Browse Source

业务员数据

master
lanzu_qinsheng 5 years ago
parent
commit
2f854f25ab
  1. 6
      app/Admin/Controllers/v3/Salesman.php
  2. 6
      app/Admin/Repositories/v3/Salesman.php
  3. 97
      app/Http/Controllers/Salesman.php
  4. 13
      app/Models/v3/SalesmanData.php
  5. 1
      routes/web.php

6
app/Admin/Controllers/v3/Salesman.php

@ -4,6 +4,7 @@
namespace App\Admin\Controllers\v3;
use App\Models\v3\SalesmanData;
use Dcat\Admin\Controllers\AdminController;
use Dcat\Admin\Grid;
@ -11,7 +12,7 @@ class Salesman extends AdminController
{
protected function grid()
{
return Grid::make(new \App\Admin\Repositories\v3\Salesman(),function (Grid $grid){
return Grid::make(new SalesmanData(),function (Grid $grid){
$grid->paginate(10);
$grid->column('person_id','懒ID');
$grid->column('nick_name','拓展员');
@ -25,9 +26,8 @@ class Salesman extends AdminController
$grid->column('m_num','本月订单数');
$grid->column('m_amount','本月成交额');
$grid->disableActions();
//$grid->export();
$grid->filter(function (Grid\Filter $filter){
$filter->equal('user_id','拓展员懒ID');
$filter->equal('person_id','拓展员懒ID');
});
});
}

6
app/Admin/Repositories/v3/Salesman.php

@ -6,6 +6,7 @@ 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;
@ -30,6 +31,7 @@ class Salesman extends EloquentRepository
}
//>>1.获取业务员
$rows = $build->paginate(10)->toArray();
//>>2.获取业务员下的所有社区的绑定用户
foreach ($rows['data'] as &$value){
$value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id']));
@ -73,7 +75,7 @@ class Salesman extends EloquentRepository
'market_id'=>'',//取哪个市场数据
'condition'=>1,//取数据维度 condition
'user_ids'=>$uid?$uid:null
],'w');//本周订单数
],'w');//本周订单
$value['w_amount'] = Order::getOrderData([
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
@ -98,6 +100,8 @@ class Salesman extends EloquentRepository
'condition'=>1,//取数据维度 condition
'user_ids'=>$uid?$uid:null
],'30');//本月订单金额
unset($value['admin_user_id']);
unset($value['user_id']);
}
return $model->makePaginator($rows['total'],$rows['data']); // 传入总记录数// 传入数据二维数组
}

97
app/Http/Controllers/Salesman.php

@ -0,0 +1,97 @@
<?php
namespace App\Http\Controllers;
use App\Admin\Common\Order;
use App\Models\LanzuCsInfo;
use Illuminate\Support\Facades\DB;
class Salesman extends \Illuminate\Routing\Controller
{
public function addData()
{
$rows = 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();
foreach ($rows 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
],1);//今日订单数
$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
],1);//今日订单金额
$value['y_num'] = Order::getOrderData([
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
'data_type'=>'number',//取什么数据 data_type 数据类型
'market_id'=>'',//取哪个市场数据
'condition'=>1,//取数据维度 condition
'user_ids'=>$uid?$uid:null
],-1);//昨日订单数
$value['y_amount'] = Order::getOrderData([
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
'data_type'=>'amount',//取什么数据 data_type 数据类型
'market_id'=>'',//取哪个市场数据
'condition'=>1,//取数据维度 condition
'user_ids'=>$uid?$uid:null
],-1);//昨日订单金额
$value['w_num'] = Order::getOrderData([
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
'data_type'=>'number',//取什么数据 data_type 数据类型
'market_id'=>'',//取哪个市场数据
'condition'=>1,//取数据维度 condition
'user_ids'=>$uid?$uid:null
],'w');//本周订单 数
$value['w_amount'] = Order::getOrderData([
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
'data_type'=>'amount',//取什么数据 data_type 数据类型
'market_id'=>'',//取哪个市场数据
'condition'=>1,//取数据维度 condition
'user_ids'=>$uid?$uid:null
],'w');//本周订单金额
$value['m_num'] = Order::getOrderData([
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
'data_type'=>'number',//取什么数据 data_type 数据类型
'market_id'=>'',//取哪个市场数据
'condition'=>1,//取数据维度 condition
'user_ids'=>$uid?$uid:null
],'30');//本月订单数
$value['m_amount'] = Order::getOrderData([
'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
'data_type'=>'amount',//取什么数据 data_type 数据类型
'market_id'=>'',//取哪个市场数据
'condition'=>1,//取数据维度 condition
'user_ids'=>$uid?$uid:null
],'30');//本月订单金额
unset($value['admin_user_id']);
unset($value['user_id']);
}
DB::table('lanzu_salesman_data')->delete();
return DB::table('lanzu_salesman_data')->insert($rows);
}
}

13
app/Models/v3/SalesmanData.php

@ -0,0 +1,13 @@
<?php
namespace App\Models\v3;
use Illuminate\Database\Eloquent\Model;
class SalesmanData extends Model
{
protected $table = 'lanzu_salesman_data';
protected $dateFormat = 'U';
}

1
routes/web.php

@ -19,3 +19,4 @@ Route::get('/', function(){
Route::get('/test', 'TestController@Test');
Route::any('/rpc', 'TestController@testRpc');
Route::any('/add', 'Salesman@addData');
Loading…
Cancel
Save