diff --git a/app/controller/OAuthController.php b/app/controller/OAuthController.php index 0dc1ae6..da6e426 100644 --- a/app/controller/OAuthController.php +++ b/app/controller/OAuthController.php @@ -7,6 +7,11 @@ use support\Request; use support\Response; use DI\Annotation\Inject; use app\model\ThirdUserAdvertiser; +use app\event\GoogleAdsCampaigns; +use app\event\GoogleAdsGroups; +use app\event\GoogleAdsAds; +use app\event\GoogleAdsDateDatas; +use Webman\Event\Event; class OAuthController { @@ -105,8 +110,24 @@ class OAuthController public function testRefreshToken(Request $request) { - $customers = $this->googleOAuthService->getGoogleAdCustomers([]); - return $this->successResponse(['data' => $customers]); + + //发布事件 +// $dayBeforeYesterdayStart = date('Y-m-d', strtotime('-2 day')); +// dump($dayBeforeYesterdayStart . '更新' . GoogleAdsDateDatas::type . '开始'); +// Event::emit(GoogleAdsDateDatas::type, ['date' => $dayBeforeYesterdayStart]); + +// dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsCampaigns::type . '开始'); +// Event::emit(GoogleAdsCampaigns::type, []); +// dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsGroups::type . '开始'); +// Event::emit(GoogleAdsGroups::type, []); + dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsAds::type . '开始'); + Event::emit(GoogleAdsAds::type, []); + + return $this->successResponse(['data' => []]); + + +// $customers = $this->googleOAuthService->getGoogleAdCustomers([]); +// return $this->successResponse(['data' => $customers]); // $list = ThinkDb::table('bps.bps_third_user')->where('third_type', 'google')->select(); diff --git a/app/event/GoogleAdsGroups.php b/app/event/GoogleAdsGroups.php index b3df2c5..7591d31 100644 --- a/app/event/GoogleAdsGroups.php +++ b/app/event/GoogleAdsGroups.php @@ -61,7 +61,7 @@ class GoogleAdsGroups foreach ($customers as $customerId) { $googleAdsGroupService = new GoogleAdsGroupService($customerId); - $resourceName = $googleAdsGroupService->runListGroups($options['customer_id']); + $resourceName = $googleAdsGroupService->runListGroups($customerId); // return $this->successResponse(['groups_list' => $resourceName]); } diff --git a/app/process/UpdateGoogleAdsTask.php b/app/process/UpdateGoogleAdsTask.php index 652bdcd..d10d63b 100644 --- a/app/process/UpdateGoogleAdsTask.php +++ b/app/process/UpdateGoogleAdsTask.php @@ -21,56 +21,56 @@ class UpdateGoogleAdsTask // 每15分钟执行一次 - new Crontab('10 */1 * * * *', function () { + new Crontab('10 */15 * * * *', function () { -// $dayBeforeYesterdayStart = date('Y-m-d', strtotime('-2 day')); -// dump($dayBeforeYesterdayStart . '更新' . GoogleAdsDateDatas::type . '开始'); -// Event::emit(GoogleAdsDateDatas::type, ['date' => $dayBeforeYesterdayStart]); + $dayBeforeYesterdayStart = date('Y-m-d', strtotime('-2 day')); + dump($dayBeforeYesterdayStart . '更新' . GoogleAdsDateDatas::type . '开始'); + Event::emit(GoogleAdsDateDatas::type, ['date' => $dayBeforeYesterdayStart]); } ); // 每15分钟执行一次 - new Crontab('20 */1 * * * *', function () { -// $yesterdayStart = date('Y-m-d', strtotime('-1 day')); -// dump($yesterdayStart . '更新' . GoogleAdsDateDatas::type . '开始'); -// Event::emit(GoogleAdsDateDatas::type, ['date' => $yesterdayStart]); + new Crontab('20 */15 * * * *', function () { + $yesterdayStart = date('Y-m-d', strtotime('-1 day')); + dump($yesterdayStart . '更新' . GoogleAdsDateDatas::type . '开始'); + Event::emit(GoogleAdsDateDatas::type, ['date' => $yesterdayStart]); } ); // 每15分钟执行一次 - new Crontab('30 */1 * * * *', function () { + new Crontab('30 */15 * * * *', function () { //获取今天的 0 点的YYYY-MM-DD格式 -// $todayStart = date('Y-m-d', strtotime('0 day')); -// dump($todayStart . '更新' . GoogleAdsDateDatas::type . '开始'); -// Event::emit(GoogleAdsDateDatas::type, ['date' => $todayStart]); + $todayStart = date('Y-m-d', strtotime('0 day')); + dump($todayStart . '更新' . GoogleAdsDateDatas::type . '开始'); + Event::emit(GoogleAdsDateDatas::type, ['date' => $todayStart]); } ); // 每15分钟执行一次 - new Crontab('40 */1 * * * *', function () { -// dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsCampaigns::type . '开始'); -// Event::emit(GoogleAdsCampaigns::type, ['customer_id'=>4060397299]); + new Crontab('40 */15 * * * *', function () { + dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsCampaigns::type . '开始'); + Event::emit(GoogleAdsCampaigns::type, []); } ); // 每15分钟执行一次 - new Crontab('50 */1 * * * *', function () { -// dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsGroups::type . '开始'); -// Event::emit(GoogleAdsGroups::type, ['customer_id'=>4060397299]); + new Crontab('50 */15 * * * *', function () { + dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsGroups::type . '开始'); + Event::emit(GoogleAdsGroups::type, []); } ); // 每15分钟执行一次 - new Crontab('55 */1 * * * *', function () { -// dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsAds::type . '开始'); -// Event::emit(GoogleAdsAds::type, ['customer_id'=>4060397299]); + new Crontab('55 */15 * * * *', function () { + dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsAds::type . '开始'); + Event::emit(GoogleAdsAds::type, []); } ); - // 每2分钟执行一次 - new Crontab('0 */1 * * * *', function () { -// dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsCampaigns::type . '开始'); -// Event::emit(GoogleAdsCampaigns::type, ['customer_id'=>4060397299]); + // 每15分钟执行一次 + new Crontab('58 */15 * * * *', function () { + dump(date('Y-m-d H:i:s') . '更新' . GoogleAdsCampaigns::type . '开始'); + Event::emit(GoogleAdsCampaigns::type, ['customer_id'=>4060397299]); }); diff --git a/app/service/GoogleAdsAdService.php b/app/service/GoogleAdsAdService.php index 3a48e23..1453f62 100644 --- a/app/service/GoogleAdsAdService.php +++ b/app/service/GoogleAdsAdService.php @@ -122,11 +122,12 @@ class GoogleAdsAdService extends BaseService $tableName = getenv('DB_PG_SCHEMA') ? getenv('DB_PG_SCHEMA') . '.' . $tableName : 'public' . $tableName; foreach ($groupadsResourceName as $data) { $sql = "INSERT INTO {$tableName} - (ad_id, ad_group_id, customer_id, ad_name, status, resource_name) - VALUES (:ad_id, :ad_group_id, :customer_id, :ad_name, :status, :resource_name) + (ad_id, ad_group_id, campaign_id,customer_id, ad_name, status, resource_name) + VALUES (:ad_id, :ad_group_id,:campaign_id, :customer_id, :ad_name, :status, :resource_name) ON CONFLICT (ad_id) DO UPDATE SET ad_group_id = EXCLUDED.ad_group_id, + campaign_id = EXCLUDED.campaign_id, customer_id = EXCLUDED.customer_id, ad_name = EXCLUDED.ad_name, status = EXCLUDED.status, @@ -155,6 +156,7 @@ class GoogleAdsAdService extends BaseService $query = "SELECT ad_group_ad.ad.id, ad_group.id, + campaign.id, customer.id, ad_group_ad.ad.name, ad_group_ad.status, @@ -179,6 +181,7 @@ class GoogleAdsAdService extends BaseService $resourceName['ad_id'] = $googleAdsRow->getAdGroupAd()->getAd()->getId(); $resourceName['ad_name'] = $googleAdsRow->getAdGroupAd()->getAd()->getName(); $resourceName['ad_group_id'] = $googleAdsRow->getAdGroup()->getId(); + $resourceName['campaign_id'] = $googleAdsRow->getCampaign()->getId(); $resourceName['customer_id'] = $googleAdsRow->getCustomer()->getId(); // $resourceName['final_urls'] = $finalUrlsArray; $resourceName['status'] = $googleAdsRow->getAdGroupAd()->getStatus();