>>邀请人审核记录----*/ public function recom_sure_record(Request $request) { $user=Auth::user(); $id=$user->id; if ($request->type==0){//:id,nickname,mobile,level,cre_num $data = UserCert::where('recom_id', $id)->orderBy('recom_audit')->orderByDesc('created_at')->paginate(15); }elseif ($request->type==1){ $data = UserCert::where('agent_id',$id)->orderBy('agent_audit')->orderByDesc('created_at')->paginate(15); }else{ $data = UserCert::whereHas('user_info',function($query)use($id){ $query->where('crown_id',$id); })->orderBy('company_audit')->orderByDesc('created_at')->paginate(15); // $data = User::with(['recom_user','agent_user','cert_info'])->where('crown_id',$id)->orderBy('service_status')->orderByDesc('created_at')->paginate(15); } $datas=[]; $total=$data->toArray(); foreach ($data as $k => $v) { $datas[$k]['id'] = $v->id; $datas[$k]['apply_name'] = $v->user_info->nickname;//申请人昵称 $datas[$k]['apply_phone'] = $v->user_info->mobile;//申请人昵称 $datas[$k]['invite_name'] = $v->recom_user->nickname;//邀请人昵称 $datas[$k]['apply_time'] = Carbon::parse($v->created_at)->toDateTimeString();//申请人申请时间 $datas[$k]['intive_status'] = $v->recom_audit;//申请状态 $datas[$k]['intive_cause'] = $v->recom_audit_desc==null?'':$v->recom_audit_desc;//驳回原因 $datas[$k]['up_status'] = $v->agent_audit;//申请状态 $datas[$k]['up_cause'] = $v->agent_audit_desc==null?'':$v->agent_audit_desc;//驳回原因 $datas[$k]['level']=$v->user_info->level==null?'':judge_level($v->user_info->level); $datas[$k]['real_name']=$v->user_info->realname; $datas[$k]['id_card_num']=$v->user_info->cre_num==null?'':$v->user_info->cre_num; $company_status=$v->company_audit; if(empty($v->company_audit)){ // return $v->user_info->service_status; if($v->user_info->service_status==0){ $company_status=1; UserCert::where('id',$v->id)->update(['company_audit'=>1]); }elseif($v->user_info->service_status==2){ $company_status=2; UserCert::where('id',$v->id)->update(['company_audit'=>2]); }else{ $company_status=0; UserCert::where('id',$v->id)->update(['company_audit'=>0]); } } $datas[$k]['company_status'] = $company_status;//申请状态 $datas[$k]['company_cause'] = $v->company_audit_desc?:'';//驳回原因 $datas[$k]['is_five_type'] = $v->is_five_type?:1;//满5套 $datas[$k]['five_amount_img'] = $v->five_amount_img?:'';//满5套收款截图 $datas[$k]['five_sale_img'] = $v->five_sale_img?:'';//满5套销售截图 $datas[$k]['five_img_remark'] = $v->five_img_remark?:'';//满5套截图备注 } return $this->success_list($datas,'',$total['total']); } public function recom_sure_record_num(Request $request) { $user=Auth::user(); $id=$user->id; $data['recom_num'] =UserCert::where('recom_id',$id)->where('recom_audit',0)->count(); $data['agent_num']=UserCert::where('agent_id',$id)->where('recom_audit',1)->where('agent_audit',0)->count(); if($user->level==3){ $data['company_num'] = UserCert::whereHas('user_info',function($query)use($id){ $query->where('crown_id',$id)->where('service_status',1); })->where('agent_audit',1)->count(); } return $this->success($data); } /**----代理邀请>>>>>上级审核记录-----**/ public function agent_sure_record() { $user=Auth::user(); $id=$user->id; // $id = 1; $data = UserCert::where('agent_id', $id)->where('recom_audit', 1)->orderBy('agent_audit')->orderByDesc('created_at')->paginate(15); $datas = []; foreach ($data as $k => $v) { $datas[$k]['id'] = $v->id; $datas[$k]['apply_name'] = $v->user_info->nickname;//申请人昵称 $datas[$k]['invite_name'] = $v->recom_user->nickname;//邀请人昵称 $datas[$k]['apply_time'] = $v->created_at;//申请人申请时间 $datas[$k]['apply_status'] = $v->recom_audit;//申请状态 $datas[$k]['apply_cause'] = $v->recom_audit_desc==null?'':$v->recom_audit_desc;//驳回原因 $datas[$k]['agent_status'] = $v->agent_audit;//申请状态 $datas[$k]['agent_cause'] = $v->agent_audit_desc==null?'':$v->agent_audit_desc;//驳回原因 $datas[$k]['apply_real_name']=$v->v->user_info->realname; $datas[$k]['cre_num']=$v->user_info->cre_num==null?'':$v->user_info->cre_num; $ddtas[$k]['mobile']=$v->user_info->mobile; $ddtas[$k]['level']=judge_level($v->user_info->level); } return $this->success_list($datas); } /**---代理邀请>>>>>邀请人审核---**/ public function recom_sure_show(Request $request) { $userCert = UserCert::find($request->id); $datas['id'] = $userCert->id; $datas['apply_name'] = $userCert->user_info->nickname;//申请人昵称 $datas['nickname'] = $userCert->recom_user->nickname;//邀请人昵称 $datas['apply_time'] = $userCert->created_at;//申请人申请时间 $datas['apply_status'] = $userCert->recom_audit;//申请状态 $datas['nickname'] = $userCert->user_info->nickname; $datas['realname'] = $userCert->user_info->realname; $datas['id_card_num'] = $userCert->user_info->cre_num; $datas['mobile'] = $userCert->user_info->mobile; return $this->success($datas); } /**---代理邀请>>>>>邀请人审核---**/ public function agent_sure_show(Request $request) { $userCert = UserCert::find($request->id); // $userCert->recom_id=1; // $userCert->save(); $datas['id'] = $userCert->id; $datas['apply_name'] = $userCert->user_info->nickname;//申请人昵称 $datas['nickname'] = $userCert->recom_user->nickname;//邀请人昵称 $datas['apply_time'] = $userCert->created_at;//申请人申请时间 $datas['agent_status'] = $userCert->agent_audit;//申请状态 $datas['nickname'] = $userCert->user_info->nickname; $datas['realname'] = $userCert->user_info->realname; $datas['cre_num'] = $userCert->user_info->cre_num; $datas['mobile'] = $userCert->user_info->mobile; return $this->success($datas); } /**---代理邀请>>>>邀请人审核--**/ public function recom_audit(Request $request) { // Log::info($request); $users = Auth::user(); $users=User::find($users->id); $usercert=UserCert::find($request->id); //邀请人审核 if ($request->type=='invite'){ //邀请人审核驳回 if ($request->action=='reject'){ $usercert->recom_audit=2; $usercert->recom_audit_desc=$request->cause; $usercert->save(); $user=User::find($usercert->user_id); $user->cert_status=4; $user->save(); //通知用户邀请人审核驳回 if($user->openid){ Log::info('很抱歉,您的注册申请在邀请人审核过程中被驳回,请核对信息后再次提交审核!'); $mes['openid']=$user->openid; $mes['data']=[ 'first' => '很抱歉,您的注册申请在邀请人审核过程中被驳回,请核对信息后再次提交审核!', 'keyword1' => '邀请人审核失败', 'keyword2' => date("Y-m-d H:i"), 'remark' => $request->cause.PHP_EOL.'点击链接进入系统,查看详情', ]; event(new UserMessageEvent($mes)); } return $this->success([]); } //邀请人审核通过 if ($request->action=='pass'){ $level_user = $users->level; //当前代理等级 $user=User::find($usercert->user_id); // $level=$user->level;//被审核代理等级 // if ($request->has('level')){ // $level = $request->level; //被审核代理等级 // }else{ $level=1; //新注册代理等级都为 1 // } if ($level == 1) { if ($level_user == 1) { $agent_id = $users->agent_id; } elseif ($level_user == 2 || $level_user == 3) { $agent_id = $users->id; } } elseif ($level == 2) { if ($level_user == 3) { $agent_id=$users->id; // $agent = $this->look_level($users->agent_id); // if ($agent['level'] == 2) { // $agent_id = $agent['agent_id']; // } elseif ($agent['level'] == 3) { // $agent_id = $agent['id']; // } else { // Log::error('{---AuditController/recom_audit()---数据出错-----时间为:}' . Carbon::now()->toDateTimeString()); // } }elseif ($level_user==2){ $agent_id=$users->agent_id; }else{ $agent = $this->look_level($users->agent_id); if ($agent['level']==2){ $agent_id=$agent['agent_id']; }else{ $agent_id=$agent['id']; } } } elseif ($level == 3) { $agent_id = 1; } else { Log::error('{---AuditController/recom_audit()---数据出错-----时间为:}' . Carbon::now()->toDateTimeString()); return $this->error('400','本次审核的代理等级有误,不能继续审核'); } $usercert->agent_id = $agent_id; $usercert->recom_audit = 1; $usercert->five_amount_img = $request->input('amount_img',null)?json_encode($request->input('amount_img',null)):null; $usercert->five_sale_img = $request->input('sale_img',null)?json_encode($request->input('sale_img',null)):null; $usercert->five_img_remark = $request->input('remark',null)?:null; $usercert->save(); $user->crown_id = $users->crown_id; if($users->level==3){ $user->crown_id =$users->id; } $user->agent_id = $agent_id; $user->level = $level; $user->cert_status =2; $user->warea_id=$users->warea_id; $user->save(); /**如果上级和邀请人一样,直接通过审核**/ if ($user->agent_id==$user->recom_id){ $res=$this->agent_audit($request->id,'pass',null,1); if($res['status']){ if($res['n']==1){ //通过邀请人和上级审核,通知代理公司审核 if($user->openid){//通知用户 Log::info('恭喜您,您的注册申请已通过邀请人和上级审核,请等待代理公司审核!'); $mes['openid']=$user->openid; $mes['data']=[ 'first' => '恭喜您,您的注册申请已通过邀请人和上级审核,请等待代理公司审核!', 'keyword1' => '上级审核成功,待代理公司审核', 'keyword2' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new UserMessageEvent($mes)); } //通知代理公司审核 if($openid=User::where('id',$user->crown_id)->value('openid')){ Log::info('您的团队代理已通过上级审核,等待您继续审核!'); $mes['openid']=$openid; $mes['data']=[ 'first' => '您的团队代理已通过上级审核,等待您继续审核!', 'keyword1' => $user->nickname, 'keyword2' => '上级审核成功,待代理公司审核', 'keyword3' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new AgentAuditEvent($mes)); }; } if($res['n']==2){ //通过邀请人和上级审核和代理公司审核 if($user->openid){//通知用户 Log::info('恭喜您,您的注册申请已全部通过审核!'); $mes['openid']=$user->openid; $mes['data']=[ 'first' => '恭喜您,您的注册申请已全部通过审核!', 'keyword1' => '代理公司审核成功', 'keyword2' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new UserMessageEvent($mes)); } if ($user->warea_id){//通知政委 $me['id']=$user->warea_id; $me['data']=[ 'first' => '您有新的代理已完成代理公司审核!', 'keyword1' => $user->nickname.' ('.$user->mobile.')', 'keyword2' => '代理公司审核成功', 'keyword3' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new AgentAuditServiceEvent($me)); } } } }else{ if($user->openid){//通知用户 Log::info('恭喜您,您的注册申请已通过邀请人审核,请等待上级审核!'); $mes['openid']=$user->openid; $mes['data']=[ 'first' => '恭喜您,您的注册申请已通过邀请人审核,请等待上级审核!', 'keyword1' => '邀请人审核成功,待上级审核', 'keyword2' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new UserMessageEvent($mes)); } $agent_up=User::where('id',$user->agent_id)->first(); if($agent_up->openid){//通知上级 Log::info('您的下级代理已通过邀请人审核,等待您继续审核'); $mes['openid']=$agent_up->openid; $mes['data']=[ 'first' => '您的下级代理已通过邀请人审核,等待您继续审核', 'keyword1' => $user->nickname, 'keyword2' => '通过邀请人审核,等待上级审核', 'keyword3' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new AgentAuditEvent($mes)); } } return $this->success([]); } } elseif ($request->type=='up'){ if ($request->has('cause')){ $res=$this->agent_audit($request->id,$request->action,$request->cause,1); if($res['status']){ $usercert=UserCert::where('id',$request->id)->first(); $user=User::find($usercert->user_id); if($user->openid){//通知用户 Log::info('很抱歉,您的注册申请在上级审核中被驳回,请核对信息后再次提交审核'); $mes['openid']=$user->openid; $mes['data']=[ 'first' => '很抱歉,您的注册申请在上级审核中被驳回,请核对信息后再次提交审核', 'keyword1' => '上级审核失败', 'keyword2' => date("Y-m-d H:i"), 'remark' => $request->cause.PHP_EOL.'点击链接进入系统,查看详情', ]; event(new UserMessageEvent($mes)); } return $this->success([]); }else{ return $this->error(); } }else{ $usercert=UserCert::where('id',$request->id)->first(); if ($usercert->recom_audit!=1){ return $this->error(50021,'','请先通过邀请人审核'); } $res=$this->agent_audit($request->id,$request->action,null,1); if($res['status']){ $usercert=UserCert::where('id',$request->id)->first(); $user=User::find($usercert->user_id); //通知 if($res['n']==1){ //仅通过上级审核,通知代理公司审核 if($user->openid){//通知用户 Log::info('恭喜您,您的注册申请已通过上级审核,请等待代理公司审核!'); $mes['openid']=$user->openid; $mes['data']=[ 'first' => '恭喜您,您的注册申请已通过上级审核,请等待代理公司审核!', 'keyword1' => '上级审核成功,待代理公司审核', 'keyword2' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new UserMessageEvent($mes)); } //通知代理公司审核 if($openid=User::where('id',$user->crown_id)->value('openid')){ Log::info('您的团队代理已通过上级审核,等待您继续审核!'); $mes['openid']=$openid; $mes['data']=[ 'first' => '您的团队代理已通过上级审核,等待您继续审核!', 'keyword1' => $user->nickname, 'keyword2' => '上级审核成功,待代理公司审核', 'keyword3' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new AgentAuditEvent($mes)); }; } if($res['n']==2){ //通过上级和代理公司审核 if($user->openid){//通知用户 Log::info('恭喜您,您的注册申请已通过上级和代理公司审核!'); $mes['openid']=$user->openid; $mes['data']=[ 'first' => '恭喜您,您的注册申请已通过上级和代理公司审核!', 'keyword1' => '待代理公司审核成功', 'keyword2' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new UserMessageEvent($mes)); } if ($user->warea_id){//通知政委 $me['id']=$user->warea_id; $me['data']=[ 'first' => '您有新的代理已完成代理公司审核!', 'keyword1' => $user->nickname.' ('.$user->mobile.')', 'keyword2' => '代理公司审核成功', 'keyword3' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new AgentAuditServiceEvent($me)); } } return $this->success([]); }else{ return $this->error(); } } } elseif($request->type=='company') { if ($request->has('cause')){ // return $this->error('450001','代理公司暂时不能驳回!'); $res=$this->company_audit($request->id,$request->action,$request->cause,1); if($res['status']){ $usercert=UserCert::where('id',$request->id)->first(); $user=User::find($usercert->user_id); if($user->openid){//通知用户 Log::info('很抱歉,您的注册申请在代理公司审核中被驳回,请核对信息后再次提交审核'); $mes['openid']=$user->openid; $mes['data']=[ 'first' => '很抱歉,您的注册申请在代理公司审核中被驳回,请核对信息后再次提交审核', 'keyword1' => '代理公司审核失败', 'keyword2' => date("Y-m-d H:i"), 'remark' => $request->cause.PHP_EOL.'点击链接进入系统,查看详情', ]; event(new UserMessageEvent($mes)); } return $this->success([]); }else{ return $this->error(); } }else{ $res=$this->company_audit($request->id,$request->action,null,1); Log::info($res); if($res['status']){ $usercert=UserCert::where('id',$request->id)->first(); $user=User::find($usercert->user_id); //通知 if($user->openid){//通知用户 Log::info('恭喜您,您的注册申请已通过代理公司审核'); $mes['openid']=$user->openid; $mes['data']=[ 'first' => '恭喜您,您的注册申请已通过代理公司审核', 'keyword1' => '代理公司审核成功', 'keyword2' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new UserMessageEvent($mes)); } if ($user->warea_id){//通知政委 $me['id']=$user->warea_id; $me['data']=[ 'first' => '您有新的代理已完成代理公司审核!', 'keyword1' => $user->nickname.' ('.$user->mobile.')', 'keyword2' => '代理公司审核成功', 'keyword3' => date("Y-m-d H:i"), 'remark' => '点击链接进入系统,查看详情', ]; event(new AgentAuditServiceEvent($me)); } return $this->success([]); }else{ return $this->error(); } } } } //上级审核 public function agent_audit($id,$action,$cause=null,$n){ $users=Auth::user(); if ($action=='reject'){ try{ $usercert=UserCert::find($id); $usercert->agent_audit=2; $usercert->agent_audit_desc=$cause; $user=User::find($usercert->user_id); $user->cert_status=5; DB::transaction(function()use($usercert,$user){ $usercert->save(); $user->save(); },5); return ['status'=>true,'n'=>$n]; }catch(\Exception $e){ Log::info($e->getMessage()); return ['status'=>false,'n'=>$n]; } // if($user->openid){//通知用户 // $mes['openid']=$user->openid; // $mes['data']=[ // 'first' => '很抱歉,您的注册申请在上级审核中被驳回,请核对信息后再次提交审核', // 'keyword1' => '上级审核失败', // 'keyword2' => date("Y-m-d H:i"), // 'remark' => $cause.PHP_EOL.'点击链接进入系统,查看详情', // ]; // event(new UserMessageEvent($mes)); // } // return $this->success([]); } if ($action=='pass'){ try{ $usercert = UserCert::find($id); $usercert->agent_audit = 1; $ids=$usercert->user_id; $user = User::find($usercert->user_id); $user->cert_status =3; $user->auth_code=$this->user_certs($ids); $user->auth_startime=Carbon::now()->toDateTimeString(); $user->auth_endtime=Carbon::now()->addYear('1')->toDateTimeString(); $user->created_at=Carbon::now(); $user->service_time=Carbon::now(); DB::transaction(function()use($usercert,$user){ $usercert->save(); $user->save(); },5); if($user->agent_id == $user->crown_id){ $res=$this->company_audit($id,'pass',null,$n++);//n==2 if($res['status']){ return ['status'=>true,'n'=>$n];//n==2 } } return ['status'=>true,'n'=>$n];//n==1 }catch(\Exception $e){ Log::info($e->getMessage()); return ['status'=>false,'n'=>$n]; } // if($user->openid){//通知用户 // $mes['openid']=$user->openid; // $mes['data']=[ // 'first' => '恭喜您,您的注册申请已通过上级审核,现正在等待政委审核!', // 'keyword1' => '上级审核成功,待政委审核', // 'keyword2' => date("Y-m-d H:i"), // 'remark' => '点击链接进入系统,查看详情', // ]; // event(new UserMessageEvent($mes)); // } // if ($user->warea_id){ // $me['id']=$user->warea_id; // $me['data']=[ // 'first' => '您有新的代理需要审核!', // 'keyword1' => $user->nickname, // 'keyword2' => '上级审核成功,待政委审核', // 'keyword3' => date("Y-m-d H:i"), // 'remark' => '点击链接进入系统,查看详情', // ]; // event(new AgentAuditServiceEvent($me)); // } //获取邀请人信息 // $agent_recom=User::where('id',$user->recom_id)->first(); // if($agent_recom->openid){//通知上级 // $mes['openid']=$agent_recom->openid; // $mes['data']=[ // 'first' => '您邀请的代理已通过上级审核,现正在等待政委审核', // 'keyword1' => $user->nickname, // 'keyword2' => '通过上级审核,待政委审核', // 'keyword3' => date("Y-m-d H:i"), // 'remark' => '点击链接进入系统,查看详情', // ]; // event(new AgentAuditEvent($mes)); // } return 200; } return 300; } //代理公司审核 public function company_audit($id,$type,$cause=null,$n){ $usercert = UserCert::find($id); $user=User::find($usercert->user_id); if($type == 'pass'){ try{ $usercert->company_audit=1; $usercert->company_updated_at=Carbon::now(); $user->service_status=0; Log::info($usercert); DB::transaction(function()use($usercert,$user){ $user->save(); $usercert->save(); },5); return ['status'=>true,'n'=>$n]; }catch(\Exception $e){ Log::info($e->getMessage()); return ['status'=>false,'n'=>$n]; } } if($type == 'reject'){ try{ $usercert->recom_audit=0; $usercert->recom_audit_desc=null; $usercert->recom_updated_at=null; $usercert->agent_id=null; $usercert->agent_audit=0; $usercert->agent_audit_desc=null; $usercert->agent_updated_at=null; $usercert->company_audit=0; $usercert->company_audit_desc=null; $usercert->company_updated_at=null; $usercert->notice_in_group_at=null; $usercert->notice_remark=Carbon::now()->toDateTimeString().'-代理公司(id:'.$user->crown_id.')审核驳回'; $user->cert_status=1; $user->service_status=1; $user->agent_id=null; $user->crown_id=null; $user->warea_id=null; // $usercert->company_audit=2; // $usercert->company_updated_at=Carbon::now(); // $usercert->company_audit_desc=$cause; // $user->service_status=2; DB::transaction(function()use($usercert,$user){ $user->save(); $usercert->save(); },5); return ['status'=>true,'n'=>$n]; }catch(\Exception $e){ Log::info($e->getMessage()); return ['status'=>false,'n'=>$n]; } } } public function look_level($id) { $user = User::find($id); return ['level' => $user->level, 'agent_id' => $user->agent_id, 'id' => $user->id]; } //上传5套截图 public function uploadFiveImage(Request $request){ $path_url = 'public/audit/' . date("ymd"); $path = $request->file('img')->store($path_url); if ($path) { $url = Storage::url($path); return $this->success($url); } else { return $this->error(); } } /* * 用户确认审核通过,并生成授权码 * */ public function user_cert(){ $user=Auth::user(); $user->cert_status=6; $user->save(); return $this->success([]); } public function user_certs($id){ $phone=User::where('id',$id)->value('mobile'); $code=auth_code($phone); $re=User::where('auth_code',$code)->first(); if ($re){ $code=$this->user_certs(); return $code; } return $code; } }