AddWareaListener.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace Modules\Manager\Listeners;
  3. use Modules\Manager\Events\AddWarea;
  4. use App\Models\WarZone;
  5. use App\Models\Admin;
  6. use App\Models\UserZ;
  7. use App\Models\Service;
  8. use Illuminate\Support\Facades\Log;
  9. use Illuminate\Queue\InteractsWithQueue;
  10. use Illuminate\Contracts\Queue\ShouldQueue;
  11. class AddWareaListener
  12. {
  13. /**
  14. * Create the event listener.
  15. *
  16. * @return void
  17. */
  18. public function __construct()
  19. {
  20. //
  21. }
  22. /**
  23. * Handle the event.
  24. *
  25. * @param AddWarea $event
  26. * @return void
  27. */
  28. public function handle(AddWarea $event)
  29. {
  30. $warea=$event->warea;
  31. $war_name= explode('战区',$warea->name)[0];
  32. $mobile=Admin::where('id',$warea->admin_id)->value('mobile');
  33. //修改政委战区
  34. UserZ::where('war_names',$war_name)->where('level_name','政委')->update(['war_names'=>'']);
  35. if($mobile){
  36. UserZ::where('phone',$mobile)->where('level_name','政委')->update(['war_names'=>$war_name]);
  37. $uid=UserZ::where('phone',$mobile)->value('id');
  38. }
  39. $war_zone=WarZone::where('war_name',$war_name)->first();
  40. if(!isset($warea->before)){
  41. WarZone::create([
  42. 'war_name'=>$war_name,
  43. 'uid'=>$uid,
  44. ]);
  45. }else{
  46. //更新争霸赛战区表
  47. $warea_before= explode('战区',$warea->before)[0];
  48. $war_z=WarZone::where('war_name',$warea_before)->first();
  49. WarZone::where('id',$war_z->id)->update([
  50. 'war_name'=>$war_name,
  51. 'uid'=>$uid,
  52. ]);
  53. //更新争霸赛政委代理公司战区对照表
  54. $war_s=Service::where('war_names',$warea_before)->pluck('id');
  55. Service::whereIn('id',$war_s)->update([
  56. 'war_names'=>$war_name,
  57. 'uid'=>$uid,
  58. ]);
  59. //更新争霸赛用户表
  60. $war_u=UserZ::where('war_names',$warea_before)->pluck('id');
  61. UserZ::whereIn('id',$war_u)->where('level_name','!=','代理公司')->update([
  62. 'war_names'=>$war_name,
  63. ]);
  64. $service=Admin::where('id',$warea->admin_id)->first();
  65. UserZ::whereIn('id',$war_u)->where('level_name','代理公司')->update([
  66. 'war_names'=>$war_name,
  67. 'up_name'=>$service->name,
  68. 'up_phone'=>$service->mobile,
  69. ]);
  70. }
  71. Log::info('战区'.$warea->id.'@@@'.date("Y-m-d H:i:s"));
  72. }
  73. }