覆盖更新数据库数据
This commit is contained in:
parent
bd4be3b989
commit
ba50f79c55
@ -69,7 +69,7 @@ class GoogleAdsAdService
|
||||
$googleAdsClient = $this->googleAdsClient;
|
||||
// Creates a single shared budget to be used by the campaigns added below.
|
||||
$groupadsResourceName = self::getAds($googleAdsClient, $customerId);
|
||||
dump(json_encode($groupadsResourceName));
|
||||
// dump(json_encode($groupadsResourceName));
|
||||
if (is_array($groupadsResourceName)) {
|
||||
self::saveAds($groupadsResourceName);
|
||||
}
|
||||
|
@ -341,10 +341,27 @@ class GoogleAdsCampaignService
|
||||
{
|
||||
$tableName = 'bps_google_ads_campaign';
|
||||
$tableName = getenv('DB_PG_SCHEMA')? getenv('DB_PG_SCHEMA').'.'.$tableName: 'public'.$tableName;
|
||||
// foreach ($campaignsResourceName as $data) {
|
||||
// $sql = "INSERT INTO {$tableName}
|
||||
// (campaign_id, customer_id, campaign_name, status, advertising_channel_type, start_date, end_date, budget_amount_micros)
|
||||
// VALUES (:campaign_id, :customer_id, :campaign_name, :status, :advertising_channel_type, :start_date, :end_date, :budget_amount_micros)";
|
||||
// ThinkDb::execute($sql, $data);
|
||||
// }
|
||||
foreach ($campaignsResourceName as $data) {
|
||||
$sql = "INSERT INTO {$tableName}
|
||||
(campaign_id, customer_id, campaign_name, status, advertising_channel_type, start_date, end_date, budget_amount_micros)
|
||||
VALUES (:campaign_id, :customer_id, :campaign_name, :status, :advertising_channel_type, :start_date, :end_date, :budget_amount_micros)";
|
||||
$sql = "INSERT INTO {$tableName}
|
||||
(campaign_id, customer_id, campaign_name, status, advertising_channel_type, start_date, end_date, budget_amount_micros)
|
||||
VALUES (:campaign_id, :customer_id, :campaign_name, :status, :advertising_channel_type, :start_date, :end_date, :budget_amount_micros)
|
||||
ON CONFLICT (campaign_id)
|
||||
DO UPDATE SET
|
||||
customer_id = EXCLUDED.customer_id,
|
||||
campaign_name = EXCLUDED.campaign_name,
|
||||
status = EXCLUDED.status,
|
||||
advertising_channel_type = EXCLUDED.advertising_channel_type,
|
||||
start_date = EXCLUDED.start_date,
|
||||
end_date = EXCLUDED.end_date,
|
||||
budget_amount_micros = EXCLUDED.budget_amount_micros,
|
||||
update_at = EXCLUDED.update_at"; // 你可以根据实际情况决定是否需要更新时间戳
|
||||
|
||||
ThinkDb::execute($sql, $data);
|
||||
}
|
||||
}
|
||||
@ -358,29 +375,31 @@ class GoogleAdsCampaignService
|
||||
public static function saveDateDatas($dayResourceName)
|
||||
{
|
||||
// dump($campaignsResourceName);
|
||||
// $dayDataModel = new DayDataModel;
|
||||
// $list = $campaignsResourceName;
|
||||
// ThinkDb::execute("update public.ad_ga_campaign_budgets set name='thinkphp999' where id=2");
|
||||
|
||||
// $dayDataModel->saveAll($dayResourceName);
|
||||
// $dayResourceName = [
|
||||
// 'ad_id' => 725809753919,
|
||||
// 'customer_id' => 4060397299,
|
||||
// 'ad_name' => '',
|
||||
// 'ad_resource_name' => 'customers/4060397299/ads/725809753919',
|
||||
// 'ad_group_id' => 171788435506,
|
||||
// 'campaign_id' => 22026467676,
|
||||
// 'clicks' => 0,
|
||||
// 'cost_micros' => 0,
|
||||
// 'conversions' => 0,
|
||||
// 'conversions_value' => 0,
|
||||
// 'impressions' => 0,
|
||||
// 'date' => '2024-12-18',
|
||||
// ];
|
||||
foreach ($dayResourceName as $data) {
|
||||
$sql = "INSERT INTO public.bps_google_ad_day_data (ad_id, customer_id, ad_name, ad_resource_name, ad_group_id, campaign_id, clicks, cost_micros, conversions, conversions_value, impressions, date)
|
||||
VALUES (:ad_id, :customer_id, :ad_name, :ad_resource_name, :ad_group_id, :campaign_id, :clicks, :cost_micros, :conversions, :conversions_value, :impressions, :date)";
|
||||
// $sql = "INSERT INTO public.bps_google_ad_day_data (ad_id, customer_id, ad_name, ad_resource_name, ad_group_id, campaign_id, clicks, cost_micros, conversions, conversions_value, impressions, date)
|
||||
// VALUES (:ad_id, :customer_id, :ad_name, :ad_resource_name, :ad_group_id, :campaign_id, :clicks, :cost_micros, :conversions, :conversions_value, :impressions, :date)";
|
||||
// ThinkDb::execute($sql, $data);
|
||||
|
||||
$sql = "INSERT INTO public.bps_google_ad_day_data
|
||||
(ad_id, customer_id, ad_name, ad_resource_name, ad_group_id, campaign_id, clicks, cost_micros, conversions, conversions_value, impressions, date)
|
||||
VALUES (:ad_id, :customer_id, :ad_name, :ad_resource_name, :ad_group_id, :campaign_id, :clicks, :cost_micros, :conversions, :conversions_value, :impressions, :date)
|
||||
ON CONFLICT (ad_id, date) -- 假设 (ad_id, date) 为唯一约束
|
||||
DO UPDATE SET
|
||||
customer_id = EXCLUDED.customer_id,
|
||||
ad_name = EXCLUDED.ad_name,
|
||||
ad_resource_name = EXCLUDED.ad_resource_name,
|
||||
ad_group_id = EXCLUDED.ad_group_id,
|
||||
campaign_id = EXCLUDED.campaign_id,
|
||||
clicks = EXCLUDED.clicks,
|
||||
cost_micros = EXCLUDED.cost_micros,
|
||||
conversions = EXCLUDED.conversions,
|
||||
conversions_value = EXCLUDED.conversions_value,
|
||||
impressions = EXCLUDED.impressions,
|
||||
update_at = EXCLUDED.update_at"; // 更新其他字段和更新时间戳
|
||||
|
||||
ThinkDb::execute($sql, $data);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user