ChangeRecomListener.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace App\Listeners;
  3. use App\Events\ChangeRecom;
  4. use App\Models\Service;
  5. use App\Models\UserZ;
  6. use App\Models\User;
  7. use App\Models\Warea;
  8. use Illuminate\Queue\InteractsWithQueue;
  9. use Illuminate\Contracts\Queue\ShouldQueue;
  10. class ChangeRecomListener
  11. {
  12. /**
  13. * Create the event listener.
  14. *
  15. * @return void
  16. */
  17. public function __construct()
  18. {
  19. //
  20. }
  21. /**
  22. * Handle the event.
  23. *
  24. * @param ChangeRecom $event
  25. * @return void
  26. */
  27. public function handle(ChangeRecom $event)
  28. {
  29. $user=$event->user;
  30. $warea=Warea::where('id',$user->warea_id)->first();//战区信息
  31. $war_name= explode('战区',$warea->name)[0];
  32. if($user->level=='3'){
  33. $uu=UserZ::where('war_names',$war_name)->where('level_name','政委')->first();//争霸赛政委信息
  34. Service::where('phone',$user->mobile)->update(['war_names'=>$war_name,'uid'=>$uu->id]);
  35. UserZ::where('phone',$user->mobile)->where('level_name','!=','政委')->update(['war_names'=>$war_name,'up_phone'=>$uu->phone,'up_name'=>$uu->nickname]);
  36. UserZ::where('up_phone',$user->mobile)->where('level_name','!=','政委')->update(['war_names'=>$war_name]);
  37. }
  38. if($user->level=='2'){
  39. $up=User::where('id',$user->agent_id)->first();
  40. UserZ::where('phone',$user->mobile)->where('level_name','!=','政委')->update([
  41. 'up_phone'=>$up->mobile,
  42. 'up_name'=>$up->nickname,
  43. 'war_names'=>$war_name
  44. ]);
  45. // $downs=User::where('agent_id',$user->id)->pluck('mobile');//邀请人
  46. $this->getRecomMobile($user->id,$up->mobile,$up->nickname,$war_name);
  47. // UserZ::whereIn('phone',$downs)->update([
  48. // 'up_phone'=>$up->mobile,
  49. // 'up_name'=>$up->nickname,
  50. // 'war_names'=>$war_name
  51. // ]);
  52. }
  53. if($user->level=='1'){
  54. $uup=User::where('id',$user->agent_id)->first();
  55. if($uup->level=='3'){
  56. $up=$uup;
  57. }
  58. if($uup->level=='2'){
  59. $up=User::where('id',$uup->agent_id)->first();
  60. }
  61. UserZ::where('phone',$user->mobile)
  62. ->where('level_name','!=','政委')->update([
  63. 'up_phone'=>$up->mobile,
  64. 'up_name'=>$up->nickname,
  65. 'war_names'=>$war_name
  66. ]);
  67. $this->getRecomMobile($user->id,$up->mobile,$up->nickname,$war_name);
  68. }
  69. }
  70. public function getRecomMobile($uid,$mobile,$nickname,$war_name){
  71. $users=User::where('recom_id',$uid)->get();
  72. if(count($users)>0){
  73. foreach($users as $key=>$val){
  74. if($val->level==1 || $val->level==2){
  75. UserZ::where('phone',$val->mobile)
  76. ->where('level_name','!=','政委')
  77. ->update([
  78. 'up_phone'=>$mobile,
  79. 'up_name'=>$nickname,
  80. 'war_names'=>$war_name
  81. ]);
  82. }
  83. }
  84. $this->getRecomMobile($val->id,$mobile,$nickname,$war_name);
  85. }
  86. }
  87. }