1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- namespace App\Listeners;
- use App\Events\ChangeRecom;
- use App\Models\Service;
- use App\Models\UserZ;
- use App\Models\User;
- use App\Models\Warea;
- use Illuminate\Queue\InteractsWithQueue;
- use Illuminate\Contracts\Queue\ShouldQueue;
- class ChangeRecomListener
- {
- /**
- * Create the event listener.
- *
- * @return void
- */
- public function __construct()
- {
- //
- }
- /**
- * Handle the event.
- *
- * @param ChangeRecom $event
- * @return void
- */
- public function handle(ChangeRecom $event)
- {
- $user=$event->user;
- $warea=Warea::where('id',$user->warea_id)->first();//战区信息
- $war_name= explode('战区',$warea->name)[0];
- if($user->level=='3'){
- $uu=UserZ::where('war_names',$war_name)->where('level_name','政委')->first();//争霸赛政委信息
- Service::where('phone',$user->mobile)->update(['war_names'=>$war_name,'uid'=>$uu->id]);
- UserZ::where('phone',$user->mobile)->where('level_name','!=','政委')->update(['war_names'=>$war_name,'up_phone'=>$uu->phone,'up_name'=>$uu->nickname]);
- UserZ::where('up_phone',$user->mobile)->where('level_name','!=','政委')->update(['war_names'=>$war_name]);
- }
- if($user->level=='2'){
- $up=User::where('id',$user->agent_id)->first();
- UserZ::where('phone',$user->mobile)->where('level_name','!=','政委')->update([
- 'up_phone'=>$up->mobile,
- 'up_name'=>$up->nickname,
- 'war_names'=>$war_name
- ]);
- // $downs=User::where('agent_id',$user->id)->pluck('mobile');//邀请人
- $this->getRecomMobile($user->id,$up->mobile,$up->nickname,$war_name);
- // UserZ::whereIn('phone',$downs)->update([
- // 'up_phone'=>$up->mobile,
- // 'up_name'=>$up->nickname,
- // 'war_names'=>$war_name
- // ]);
- }
- if($user->level=='1'){
- $uup=User::where('id',$user->agent_id)->first();
- if($uup->level=='3'){
- $up=$uup;
- }
- if($uup->level=='2'){
- $up=User::where('id',$uup->agent_id)->first();
- }
- UserZ::where('phone',$user->mobile)
- ->where('level_name','!=','政委')->update([
- 'up_phone'=>$up->mobile,
- 'up_name'=>$up->nickname,
- 'war_names'=>$war_name
- ]);
- $this->getRecomMobile($user->id,$up->mobile,$up->nickname,$war_name);
- }
- }
- public function getRecomMobile($uid,$mobile,$nickname,$war_name){
- $users=User::where('recom_id',$uid)->get();
- if(count($users)>0){
- foreach($users as $key=>$val){
- if($val->level==1 || $val->level==2){
- UserZ::where('phone',$val->mobile)
- ->where('level_name','!=','政委')
- ->update([
- 'up_phone'=>$mobile,
- 'up_name'=>$nickname,
- 'war_names'=>$war_name
- ]);
- }
- }
- $this->getRecomMobile($val->id,$mobile,$nickname,$war_name);
- }
- }
- }
|