option('type'); if($type == 'users'){ $this->reportUsers($date); } if($type == 'orders'){ $this->reportOrders($date); } } private function reportOrders($date){ $result = ReportToChannelUserAndOrderService::getOrderErrorRecord($date); if(!$result) return ; $client = new Client(['timeout'=>5.0]); foreach ($result as $item){ $distribution_channel_id = $item->distribution_channel_id; $uid = $item->uid; $price = $item->price; $order_created_at = $item->order_created_at; $link = ReportToChannelUserAndOrderService::getReportUrl($distribution_channel_id,ReportToChannelUserAndOrderService::$user_type); try{ $result = $client->request('post',$link,['form_params'=>[ 'uid'=>$uid, 'distribution_channel_id'=>$distribution_channel_id, 'price'=>$price, 'order_created_at'=>$order_created_at, 'source'=>'wangduyun', 'event'=>'order' ]])->getBody()->getContents(); if($result && str_contains(strtolower($result),self::SUCCESS)){ ReportToChannelUserAndOrderService::updateOrderErrorRecord($item->id,['report_status'=>2]); return ; } $error = 'result error ,'.$result; }catch (\Exception $e){ $error = 'exception,'.$e->getMessage(); } ReportToChannelUserAndOrderService::updateOrderErrorRecord($item->id,['report_status'=>1,'error_msg'=>$error]); } } private function reportUsers($date){ $result = ReportToChannelUserAndOrderService::getUserErrorRecord($date); if(!$result) return ; $client = new Client(['timeout'=>5.0]); foreach ($result as $item){ $distribution_channel_id = $item->distribution_channel_id; $uid = $item->uid; $register_ip = $item->register_ip; $user_agent = $item->user_agent; $user_created_at = $item->user_created_at; $link = ReportToChannelUserAndOrderService::getReportUrl($distribution_channel_id,ReportToChannelUserAndOrderService::$user_type); try{ $result = $client->request('post',$link,['form_params'=>[ 'uid'=>$uid, 'distribution_channel_id'=>$distribution_channel_id, 'register_ip'=>$register_ip, 'user_agent'=>$user_agent, 'user_created_at'=>$user_created_at, 'event'=>'user', 'source'=>'wangduyun' ]])->getBody()->getContents(); if($result && str_contains(strtolower($result),self::SUCCESS)){ ReportToChannelUserAndOrderService::updateUserErrorRecord($item->id,['report_status'=>2]); return ; } $error = 'result error ,'.$result; }catch (\Exception $e){ $error = 'exception,'.$e->getMessage(); } ReportToChannelUserAndOrderService::updateUserErrorRecord($item->id,['report_status'=>1,'error_msg'=>$error]); } } }