uid = $uid; $this->distribution_channel_id = $distribution_channel_id; $this->register_ip = $register_ip; $this->user_agent = $user_agent; $this->user_created_at = $user_created_at; } /** * Execute the job. * * @return void */ public function handle() { $this->reportToChannel(); $this->fireRegisterReport(); } private function reportToChannel(){ $link = ReportToChannelUserAndOrderService::getReportUrl($this->distribution_channel_id,ReportToChannelUserAndOrderService::$user_type); if(!$link) return ; $client = new Client(['timeout'=>3.0]); try{ $result = $client->request('post',$link,['form_params'=>[ 'uid'=>$this->uid, 'distribution_channel_id'=>$this->distribution_channel_id, 'register_ip'=>$this->register_ip, 'user_agent'=>$this->user_agent, 'user_created_at'=>$this->user_created_at, 'event'=>'user', 'source'=>'wangduyun' ]])->getBody()->getContents(); if($result && str_contains(strtolower($result),self::SUCCESS)){ return ; } $error = 'result error ,'.$result; }catch (\Exception $e){ $error = 'exception,'.$e->getMessage(); } DB::table('report_to_channel_users')->insert([ 'uid'=>$this->uid, 'distribution_channel_id'=>$this->distribution_channel_id, 'register_ip'=>$this->register_ip, 'user_agent'=>$this->user_agent, 'user_created_at'=>$this->user_created_at, 'report_status'=>0, 'error_msg'=>$error, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s'), ]); } private function fireRegisterReport(){ $client = new Client(); $ip = $this->register_ip; $register_time = $this->user_created_at; $reportData = [ 'platform' => 'wangduyun', 'register' => [ 'uid' => $this->uid, 'channel_id' => $this->distribution_channel_id, 'register_time' => $register_time, 'register_ip' => $ip, ] ]; $record = [ 'uid'=>$this->uid, 'ip'=>$ip, 'register_time'=>$register_time, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s'), ]; $host = 'https://firetrack.wd.amanbook.com'; try{ // 执行上报 $client->post($host . '/api/reportRegister', [ 'headers' => [ 'x-code' => 'Mvnx1Yr3O8i!TS5u' ], 'json' => $reportData ]); }catch (\Exception $e){ \Log::error($e); $record['status'] = 2; DB::table('fire_user_report_record')->insert($record); } } }