<?php namespace app\event; use app\service\GoogleAdsCampaignService; use app\service\GoogleOAuthService; use Google\ApiCore\ApiException; use support\Response; use DI\Annotation\Inject; use Webman\RedisQueue\Redis; //use QL\QueryList; class GoogleAdsCampaigns { /** * @Inject * @var GoogleOAuthService */ private $googleOAuthService; const event = 'googleads:campaigns:event'; const queue = 'googleads:campaigns:queue'; public function syncCampaigns($options = []): string { $queue = self::queue; $customers = $this->googleOAuthService->getGoogleAdCustomers($options); foreach ($customers as $customer) { if ($customer['login_customer_id'] >0){ Redis::send($queue,$customer,rand(1,10)); } } return self::event.' send queue ok'; } /** * get campaigns * @throws ApiException */ public function getCampaigns($customer) { // $customers = $this->googleOAuthService->getGoogleAdCustomers($options); // dump($customers); // foreach ($customers as $customer) { // dump($customer); $googleAdsCampaignService = new googleAdsCampaignService($customer['customer_id']); if ($customer['login_customer_id'] >0){ $resourceName = $googleAdsCampaignService->runListCampaigns($customer['customer_id'],$customer); } // } // return $this->successResponse(['campaigns_list' => $resourceName]); } // 可以加入一些公共方法 protected function successResponse($data): Response { return Json([ 'code' => 0, 'msg' => 'ok', 'data' => $data, ]); } protected function errorResponse($code, $message, $data = []): Response { return Json([ 'code' => $code, 'msg' => $message ?: 'error', 'data' => $data ]); } }