DeleteAgentListener.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Listeners;
  3. use App\Events\DeleteAgent;
  4. use App\Models\UserZ;
  5. use App\Models\User;
  6. use App\Models\Service;
  7. use App\Models\Warea;
  8. class DeleteAgentListener
  9. {
  10. /**
  11. * Create the event listener.
  12. *
  13. * @return void
  14. */
  15. public function __construct()
  16. {
  17. //
  18. }
  19. /**
  20. * Handle the event.
  21. *
  22. * @param DeleteAgent $event
  23. * @return void
  24. */
  25. public function handle(DeleteAgent $event)
  26. {
  27. $user=$event->user;
  28. UserZ::where('phone',$user->mobile)->where('level_name','!=','政委')->update(['openid'=>null,'status'=>1]);
  29. if($user->level==3){
  30. Service::where('phone',$user->mobile)->delete();
  31. $recom = User::find($user->recom_id);//代理邀请人信息
  32. $warea=Warea::where('id',$recom->warea_id)->first();
  33. $war_name= explode('战区',$warea->name)[0];
  34. if ($recom->level == '3') {//邀请人等级信息
  35. $this->updateUserZ($user->id,$recom->nickname,$recom->mobile,$war_name);
  36. } elseif ($recom->level == '2') {
  37. $up=User::where('id',$recom->agent_id)->first();
  38. $this->updateUserZ($user->id,$up->nickname,$up->mobile,$war_name);
  39. } elseif ($recom->level == '1') {
  40. $uup = User::find($recom->agent_id);//代理邀请人上级信息
  41. if($uup->level==3){
  42. $up=$uup;
  43. }else{
  44. $up=User::find($uup->agent_id);
  45. }
  46. $this->updateUserZ($user->id,$up->nickname,$up->mobile,$war_name);
  47. }
  48. }
  49. }
  50. public function updateUserZ($uid,$nickname,$mobile,$war_name){
  51. $users=User::where('recom_id',$uid)->get();
  52. if(count($users)>0){
  53. foreach($users as $key=>$val){
  54. if($val->level==1 || $val->level==2){
  55. UserZ::where('phone',$val->mobile)->where('level_name','!=','政委')->update([
  56. 'up_phone'=>$mobile,
  57. 'up_name'=>$nickname,
  58. 'war_names'=>$war_name
  59. ]);
  60. }
  61. }
  62. $this->updateUserZ($val->id,$nickname,$mobile,$war_name);
  63. }
  64. }
  65. }