TeamController.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. class TeamController extends Controller{
  6. public function team_list(Request $request){
  7. if ($request->type==0){
  8. $sid=DB::table('war_zone')->where('war_name',$request->value)->value('uid');
  9. $data1=DB::table('user')
  10. ->join('service','service.phone','=','user.up_phone')
  11. ->join('enroll','enroll.uid','=','user.id')
  12. ->where('enroll.season',$request->season)
  13. ->where('enroll.status','<>',1)
  14. ->where('service.uid',$sid)
  15. ->select('enroll.uid','user.nickname', 'user.up_name','user.up_phone','user.phone','user.level_name','user.integral','user.avatar','enroll.created_at','enroll.status','enroll.is_refund','enroll.pay_number','enroll.refund_number')
  16. ->paginate(15);
  17. $total=0;
  18. $dt=[];
  19. if ($data1->items()){
  20. foreach ($data1->items() as $k=>$v){
  21. $dt[$k]['id']=$v->uid;
  22. $dt[$k]['nickname']=$v->nickname;
  23. $dt[$k]['phone']=$v->phone;
  24. $dt[$k]['level_name']=$v->level_name;
  25. $dt[$k]['time']=date('Y-m-d',strtotime($v->created_at));
  26. $dt[$k]['status']=$v->status;
  27. $dt[$k]['refunded']=$v->is_refund;
  28. $dt[$k]['integral']=$v->integral;
  29. $dt[$k]['avatar']=$v->avatar;
  30. $dt[$k]['pay_order_num']=$v->pay_number;
  31. $dt[$k]['refund_order_num']=$v->refund_number;
  32. $dt[$k]['up_name']=$v->up_name;
  33. }
  34. $total=$data1->total();
  35. }
  36. $data2=DB::table('user')
  37. ->join('service','service.phone','=','user.up_phone')
  38. ->join('enroll','enroll.uid','=','user.id')
  39. ->where('enroll.season',$request->season)
  40. ->where('enroll.status','<>',1)
  41. ->where('user.level_name','销售经理')
  42. ->where('service.uid',$sid)
  43. ->count();
  44. $data3=DB::table('user')
  45. ->join('service','service.phone','=','user.up_phone')
  46. ->join('enroll','enroll.uid','=','user.id')
  47. ->where('enroll.season',$request->season)
  48. ->where('enroll.status','<>',1)
  49. ->where('user.level_name','销售主管')
  50. ->where('service.uid',$sid)
  51. ->count();
  52. return $this->response()->array([
  53. 'code'=>200,
  54. 'data'=>[
  55. 'total'=>$total,
  56. 'top_num'=>$data2,
  57. 'super_num'=>$data3,
  58. 'list'=>$dt
  59. ]
  60. ]);
  61. }
  62. if ($request->type==1){
  63. $crown=DB::table('user')->where('id',$request->value)->first();
  64. $data1=DB::table('user')
  65. ->join('enroll','enroll.uid','=','user.id')
  66. ->where('enroll.season',$request->season)
  67. ->where('user.up_phone',$crown->phone)
  68. ->where('enroll.status','<>',1)
  69. ->select('enroll.uid','user.nickname', 'user.up_name','user.up_phone','user.phone','user.integral','user.avatar','user.level_name','enroll.created_at','enroll.status','enroll.is_refund','enroll.pay_number','enroll.refund_number')
  70. ->paginate(15);
  71. $total=0;
  72. $dt=[];
  73. if ($data1->items()){
  74. foreach ($data1->items() as $k=>$v){
  75. $dt[$k]['id']=$v->uid;
  76. $dt[$k]['nickname']=$v->nickname;
  77. $dt[$k]['phone']=$v->phone;
  78. $dt[$k]['level_name']=$v->level_name;
  79. $dt[$k]['time']=date('Y-m-d',strtotime($v->created_at));
  80. $dt[$k]['status']=$v->status;
  81. $dt[$k]['refunded']=$v->is_refund;
  82. $dt[$k]['integral']=$v->integral;
  83. $dt[$k]['avatar']=$v->avatar;
  84. $dt[$k]['pay_order_num']=$v->pay_number;
  85. $dt[$k]['refund_order_num']=$v->refund_number;
  86. $dt[$k]['up_name']=$v->up_name;
  87. }
  88. $total=$data1->total();
  89. }
  90. $data2=DB::table('user')
  91. ->join('service','service.phone','=','user.up_phone')
  92. ->join('enroll','enroll.uid','=','user.id')
  93. ->where('enroll.season',$request->season)
  94. ->where('enroll.status','<>',1)
  95. ->where('user.level_name','销售经理')
  96. ->where('user.up_phone',$crown->phone)
  97. ->count();
  98. $data3=DB::table('user')
  99. ->join('service','service.phone','=','user.up_phone')
  100. ->join('enroll','enroll.uid','=','user.id')
  101. ->where('enroll.season',$request->season)
  102. ->where('enroll.status','<>',1)
  103. ->where('user.level_name','销售主管')
  104. ->where('user.up_phone',$crown->phone)
  105. ->count();
  106. return $this->response()->array([
  107. 'code'=>200,
  108. 'data'=>[
  109. 'total'=>$total,
  110. 'top_num'=>$data2,
  111. 'super_num'=>$data3,
  112. 'list'=>$dt
  113. ]
  114. ]);
  115. }
  116. }
  117. public function team_all(){
  118. $data=DB::table('war_zone')->join('user','war_zone.uid','=','user.id')
  119. ->select('user.nickname','war_zone.war_name','user.id')->get();
  120. foreach ($data as $k=>$v){
  121. $list[$k]['war_name']=$v->war_name;
  122. $list[$k]['service']=$v->nickname;
  123. $crown=DB::table('user')->join('service','service.phone','=','user.phone')
  124. ->where('service.uid',$v->id)->select('user.name','user.id','user.phone')->get();
  125. $list[$k]['crowns']=$crown;
  126. }
  127. return $this->success_list($list);
  128. }
  129. }