From 0e697e0534cf682bbb7ec09ad6959b9621b5985a Mon Sep 17 00:00:00 2001 From: huangguancheng Date: Fri, 10 Jan 2025 18:23:32 +0800 Subject: [PATCH] platform_type --- app/service/AdsInsightService.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/service/AdsInsightService.php b/app/service/AdsInsightService.php index 2609101..0c5269d 100644 --- a/app/service/AdsInsightService.php +++ b/app/service/AdsInsightService.php @@ -59,7 +59,7 @@ class AdsInsightService $query = BpsAdCampaign::alias('c') ->cache(false) // 强制不使用缓存 ->leftJoin('bps.bps_ads_insights d', "c.campaign_id = d.ad_campaign_id AND c.platform_type = d.platform AND {$dateCondition}") - ->field('c.campaign_id, c.status as status, c.name, c.account_id, + ->field('c.campaign_id, c.status as status, c.name, c.account_id,c.platform_type, COALESCE(SUM(d.assisted_purchases), 0) as assisted_purchases, COALESCE(SUM(d.last_clicked_purchases), 0) as last_clicked_purchases, COALESCE(SUM(d.clicks), 0) as clicks, @@ -72,7 +72,7 @@ class AdsInsightService COALESCE(SUM(d.revenue), 0) as revenue, COALESCE(SUM(d.total_cost), 0) as total_cost, -1 as conversion_rate, -1 as roas, -1 as ctr,-1 as net_profit,-1 as net_profit_margin,-1 as net_profit_on_ad_spend') - ->group('c.campaign_id, c.status, c.account_id, c.name') + ->group('c.campaign_id, c.status, c.account_id, c.name,c.platform_type') ->where('c.account_id', 'in', $customerIds); // 添加 customerIds 条件 if ($status !== 0) { $query->where('c.status', '=', $status); @@ -129,6 +129,7 @@ class AdsInsightService $ctr = $item['impressions'] > 0 ? number_format(($item['clicks'] / $item['impressions']) * 100, 2) . '%' : '-'; // 格式化为百分比 return [ 'id' => $item['campaign_id'], + 'platform_type' => $item['platform_type'], 'account_id' => $item['account_id'], // 映射为 customer_id 'name' => $item['name'] ?: '-', // 若 name 为空则显示 '-' 'status' => $item['status'], @@ -202,7 +203,7 @@ class AdsInsightService $query = BpsAdSet::alias('s') ->cache(false) // 强制不使用缓存 ->leftJoin('bps.bps_ads_insights d', "s.ad_set_id = d.ad_set_id AND s.platform_type = d.platform AND {$dateCondition}") - ->field('s.ad_set_id, s.status as status, s.name, s.account_id, + ->field('s.ad_set_id, s.status as status, s.name, s.account_id,s.platform_type, COALESCE(SUM(d.assisted_purchases), 0) as assisted_purchases, COALESCE(SUM(d.last_clicked_purchases), 0) as last_clicked_purchases, COALESCE(SUM(d.clicks), 0) as clicks, @@ -215,7 +216,7 @@ class AdsInsightService COALESCE(SUM(d.revenue), 0) as revenue, COALESCE(SUM(d.total_cost), 0) as total_cost, -1 as conversion_rate, -1 as roas, -1 as ctr,-1 as net_profit,-1 as net_profit_margin,-1 as net_profit_on_ad_spend') - ->group('s.ad_set_id, s.status, s.account_id, s.name') + ->group('s.ad_set_id, s.status, s.account_id, s.name,s.platform_type') ->where('s.account_id', 'in', $customerIds); // 添加 customerIds 条件 if ($status !== 0) { $query->where('s.status', '=', $status); @@ -274,6 +275,7 @@ class AdsInsightService $ctr = $item['impressions'] > 0 ? number_format(($item['clicks'] / $item['impressions']) * 100, 2) . '%' : '-'; // 格式化为百分比 return [ 'id' => $item['ad_set_id'], + 'platform_type' => $item['platform_type'], 'account_id' => $item['account_id'], // 映射为 customer_id 'name' => $item['name'] ?: '-', // 若 name 为空则显示 '-' 'status' => $item['status'], @@ -343,7 +345,7 @@ class AdsInsightService $query = BpsAdAd::alias('a') ->cache(false) // 强制不使用缓存 ->leftJoin('bps.bps_ads_insights d', "a.ad_id = d.ad_id AND a.platform_type = d.platform AND {$dateCondition}") - ->field('a.ad_id, a.status as status, a.name, a.account_id, + ->field('a.ad_id, a.status as status, a.name, a.account_id,a.platform_type, COALESCE(SUM(d.assisted_purchases), 0) as assisted_purchases, COALESCE(SUM(d.last_clicked_purchases), 0) as last_clicked_purchases, COALESCE(SUM(d.clicks), 0) as clicks, @@ -356,7 +358,7 @@ class AdsInsightService COALESCE(SUM(d.revenue), 0) as revenue, COALESCE(SUM(d.total_cost), 0) as total_cost, -1 as conversion_rate, -1 as roas, -1 as ctr, -1 as net_profit, -1 as net_profit_margin, -1 as net_profit_on_ad_spend') - ->group('a.ad_id, a.status, a.account_id, a.name') + ->group('a.ad_id, a.status, a.account_id, a.name,a.platform_type') ->where('a.account_id', 'in', $customerIds); // 添加 customerIds 条件 // 如果传入了 status 参数,按状态筛选 if ($status !== 0) { @@ -414,6 +416,7 @@ class AdsInsightService $ctr = $item['impressions'] > 0 ? number_format(($item['clicks'] / $item['impressions']) * 100, 2) . '%' : '-'; // 格式化为百分比 return [ 'id' => $item['ad_id'], + 'platform_type' => $item['platform_type'], 'account_id' => $item['account_id'], // 映射为 customer_id 'name' => $item['name'] ?: '-', // 若 name 为空则显示 '-' 'status' => $item['status'], @@ -484,7 +487,7 @@ class AdsInsightService $query = ThirdUser::alias('u') ->cache(false) // 强制不使用缓存 ->leftJoin('bps.bps_third_user_advertiser a', "u.id = a.doc_") - ->field('u.id as user_id,u.third_type,a.advertiser_name, + ->field('u.id as user_id,u.third_type as platform_type,a.advertiser_name, COALESCE(SUM(d.assisted_purchases), 0) as assisted_purchases, COALESCE(SUM(d.last_clicked_purchases), 0) as last_clicked_purchases,