platform_type

This commit is contained in:
huangguancheng 2025-01-10 18:23:32 +08:00
parent d574c02f41
commit 0e697e0534

View File

@ -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,