1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace Modules\Manager\Listeners;
- use Modules\Manager\Events\AddWarea;
- use App\Models\WarZone;
- use App\Models\Admin;
- use App\Models\UserZ;
- use App\Models\Service;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Queue\InteractsWithQueue;
- use Illuminate\Contracts\Queue\ShouldQueue;
- class AddWareaListener
- {
- /**
- * Create the event listener.
- *
- * @return void
- */
- public function __construct()
- {
- //
- }
- /**
- * Handle the event.
- *
- * @param AddWarea $event
- * @return void
- */
- public function handle(AddWarea $event)
- {
- $warea=$event->warea;
- $war_name= explode('战区',$warea->name)[0];
- $mobile=Admin::where('id',$warea->admin_id)->value('mobile');
- //修改政委战区
- UserZ::where('war_names',$war_name)->where('level_name','政委')->update(['war_names'=>'']);
- if($mobile){
- UserZ::where('phone',$mobile)->where('level_name','政委')->update(['war_names'=>$war_name]);
- $uid=UserZ::where('phone',$mobile)->value('id');
- }
- $war_zone=WarZone::where('war_name',$war_name)->first();
- if(!isset($warea->before)){
- WarZone::create([
- 'war_name'=>$war_name,
- 'uid'=>$uid,
- ]);
- }else{
- //更新争霸赛战区表
- $warea_before= explode('战区',$warea->before)[0];
- $war_z=WarZone::where('war_name',$warea_before)->first();
- WarZone::where('id',$war_z->id)->update([
- 'war_name'=>$war_name,
- 'uid'=>$uid,
- ]);
- //更新争霸赛政委代理公司战区对照表
- $war_s=Service::where('war_names',$warea_before)->pluck('id');
- Service::whereIn('id',$war_s)->update([
- 'war_names'=>$war_name,
- 'uid'=>$uid,
- ]);
- //更新争霸赛用户表
- $war_u=UserZ::where('war_names',$warea_before)->pluck('id');
- UserZ::whereIn('id',$war_u)->where('level_name','!=','代理公司')->update([
- 'war_names'=>$war_name,
- ]);
- $service=Admin::where('id',$warea->admin_id)->first();
- UserZ::whereIn('id',$war_u)->where('level_name','代理公司')->update([
- 'war_names'=>$war_name,
- 'up_name'=>$service->name,
- 'up_phone'=>$service->mobile,
- ]);
- }
- Log::info('战区'.$warea->id.'@@@'.date("Y-m-d H:i:s"));
- }
- }
|