12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace App\Listeners;
- use App\Events\DeleteAgent;
- use App\Models\UserZ;
- use App\Models\User;
- use App\Models\Service;
- use App\Models\Warea;
- class DeleteAgentListener
- {
- /**
- * Create the event listener.
- *
- * @return void
- */
- public function __construct()
- {
- //
- }
- /**
- * Handle the event.
- *
- * @param DeleteAgent $event
- * @return void
- */
- public function handle(DeleteAgent $event)
- {
- $user=$event->user;
- UserZ::where('phone',$user->mobile)->where('level_name','!=','政委')->update(['openid'=>null,'status'=>1]);
- if($user->level==3){
- Service::where('phone',$user->mobile)->delete();
- $recom = User::find($user->recom_id);//代理邀请人信息
- $warea=Warea::where('id',$recom->warea_id)->first();
- $war_name= explode('战区',$warea->name)[0];
- if ($recom->level == '3') {//邀请人等级信息
- $this->updateUserZ($user->id,$recom->nickname,$recom->mobile,$war_name);
- } elseif ($recom->level == '2') {
- $up=User::where('id',$recom->agent_id)->first();
- $this->updateUserZ($user->id,$up->nickname,$up->mobile,$war_name);
- } elseif ($recom->level == '1') {
- $uup = User::find($recom->agent_id);//代理邀请人上级信息
- if($uup->level==3){
- $up=$uup;
- }else{
- $up=User::find($uup->agent_id);
- }
- $this->updateUserZ($user->id,$up->nickname,$up->mobile,$war_name);
- }
- }
- }
- public function updateUserZ($uid,$nickname,$mobile,$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->updateUserZ($val->id,$nickname,$mobile,$war_name);
- }
- }
- }
|