链街Dcat后台
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

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Graze\GuzzleHttp\JsonRpc\Client;
  4. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
  5. use Illuminate\Foundation\Bus\DispatchesJobs;
  6. use Illuminate\Foundation\Validation\ValidatesRequests;
  7. use App\Http\Controllers\Controller as BaseController;
  8. use Illuminate\Support\Facades\Log;
  9. use Illuminate\Support\Facades\Storage;
  10. use App\Models\FinancialRecord;
  11. use App\Admin\Common\Order;
  12. use App\Models\LanzuCsInfo;
  13. use App\Models\LanzuUserRelationBind;
  14. use Illuminate\Console\Command;
  15. use Illuminate\Support\Facades\DB;
  16. use \App\Models\v3\CsInfo as modelCsInfo;
  17. use Maatwebsite\Excel\Facades\Excel;
  18. class TestController extends BaseController
  19. {
  20. public function Test(){
  21. $this->getSaleMan();
  22. }
  23. /**
  24. * 获取拓展员
  25. */
  26. public function getSaleMan()
  27. {
  28. $data = LanzuCsInfo::select(
  29. DB::raw('count("lanzu_cs_info.person_id") as total'),
  30. DB::raw('group_concat(lanzu_cs_info.admin_user_id) as admin_user_id'),
  31. DB::raw('group_concat(rb.user_id) as user_id'),
  32. 'lanzu_cs_info.person_id','lanzu_user.nick_name')
  33. ->groupBy('lanzu_cs_info.person_id')
  34. ->leftJoin('lanzu_user','lanzu_user.id','lanzu_cs_info.person_id')
  35. ->leftJoin('lanzu_user_relation_bind as rb','rb.source_id','lanzu_cs_info.admin_user_id')
  36. ->where('lanzu_cs_info.person_id','>',0)->get()->toArray();
  37. $result = [];
  38. foreach ($data as $key=>$value){
  39. $value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id']));
  40. $result = $this->csDetail($value['admin_user_id'],-30,$value['nick_name'],$result);
  41. }
  42. dd($result);
  43. }
  44. /**
  45. * 获取站点详情
  46. */
  47. public function csDetail($adminUid,$option,$nickName,$result)
  48. {
  49. $data = modelCsInfo::whereIn('admin_user_id',$adminUid)
  50. ->get();
  51. foreach ($data as &$value){
  52. $value->nick_name = $nickName;
  53. //>>1.获取绑定后下过单的用户
  54. $value->user_num = LanzuUserRelationBind::where('source_id',$value->admin_user_id)->count();
  55. $uid = Order::getUserOrder($value->admin_user_id);
  56. //>>2.获取订单数据
  57. $value->order_user_num = Order::getOrderData([
  58. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  59. 'data_type'=>'count_user',//取什么数据 data_type 数据类型
  60. 'market_id'=>'',//取哪个市场数据
  61. 'condition'=>1,//取数据维度 condition
  62. 'user_ids'=>$uid?$uid:null
  63. ],$option);//下单人数
  64. $value->order_num = Order::getOrderData([
  65. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  66. 'data_type'=>'number',//取什么数据 data_type 数据类型
  67. 'market_id'=>'',//取哪个市场数据
  68. 'condition'=>1,//取数据维度 condition
  69. 'user_ids'=>$uid?$uid:null
  70. ],$option);//订单数
  71. $value->order_amount = Order::getOrderData([
  72. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  73. 'data_type'=>'amount',//取什么数据 data_type 数据类型
  74. 'market_id'=>'',//取哪个市场数据
  75. 'condition'=>1,//取数据维度 condition
  76. 'user_ids'=>$uid?$uid:null
  77. ],$option);//订单金额
  78. if ($result){
  79. $result[] = $value;
  80. }
  81. }
  82. if ($result){
  83. return $result;
  84. }
  85. return $data;
  86. }
  87. public static function export()
  88. {
  89. return Excel::download(new \App\Admin\Actions\Exporter\SalesMan(), 'market.xlsx');
  90. }
  91. }