覆盖更新数据库数据
This commit is contained in:
parent
bd4be3b989
commit
ba50f79c55
@ -69,7 +69,7 @@ class GoogleAdsAdService
|
|||||||
$googleAdsClient = $this->googleAdsClient;
|
$googleAdsClient = $this->googleAdsClient;
|
||||||
// Creates a single shared budget to be used by the campaigns added below.
|
// Creates a single shared budget to be used by the campaigns added below.
|
||||||
$groupadsResourceName = self::getAds($googleAdsClient, $customerId);
|
$groupadsResourceName = self::getAds($googleAdsClient, $customerId);
|
||||||
dump(json_encode($groupadsResourceName));
|
// dump(json_encode($groupadsResourceName));
|
||||||
if (is_array($groupadsResourceName)) {
|
if (is_array($groupadsResourceName)) {
|
||||||
self::saveAds($groupadsResourceName);
|
self::saveAds($groupadsResourceName);
|
||||||
}
|
}
|
||||||
|
@ -341,10 +341,27 @@ class GoogleAdsCampaignService
|
|||||||
{
|
{
|
||||||
$tableName = 'bps_google_ads_campaign';
|
$tableName = 'bps_google_ads_campaign';
|
||||||
$tableName = getenv('DB_PG_SCHEMA')? getenv('DB_PG_SCHEMA').'.'.$tableName: 'public'.$tableName;
|
$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) {
|
foreach ($campaignsResourceName as $data) {
|
||||||
$sql = "INSERT INTO {$tableName}
|
$sql = "INSERT INTO {$tableName}
|
||||||
(campaign_id, customer_id, campaign_name, status, advertising_channel_type, start_date, end_date, budget_amount_micros)
|
(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)";
|
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);
|
ThinkDb::execute($sql, $data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -358,29 +375,31 @@ class GoogleAdsCampaignService
|
|||||||
public static function saveDateDatas($dayResourceName)
|
public static function saveDateDatas($dayResourceName)
|
||||||
{
|
{
|
||||||
// dump($campaignsResourceName);
|
// 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) {
|
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)
|
// $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)";
|
// 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);
|
ThinkDb::execute($sql, $data);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user