Update ROAS calculations to include all-time values and adjust cache metadata
This commit is contained in:
11
.vscode/ftp-kr.sync.cache.json
vendored
11
.vscode/ftp-kr.sync.cache.json
vendored
@@ -23,8 +23,8 @@
|
||||
},
|
||||
"class.Api.php": {
|
||||
"type": "-",
|
||||
"size": 11018,
|
||||
"lmtime": 0,
|
||||
"size": 11235,
|
||||
"lmtime": 1744498273470,
|
||||
"modified": false
|
||||
},
|
||||
"class.Campaigns.php": {
|
||||
@@ -41,8 +41,8 @@
|
||||
},
|
||||
"class.Products.php": {
|
||||
"type": "-",
|
||||
"size": 8787,
|
||||
"lmtime": 1744064045288,
|
||||
"size": 8915,
|
||||
"lmtime": 1744489800429,
|
||||
"modified": false
|
||||
},
|
||||
"class.Site.php": {
|
||||
@@ -139,7 +139,7 @@
|
||||
"robots.txt": {
|
||||
"type": "-",
|
||||
"size": 25,
|
||||
"lmtime": 0,
|
||||
"lmtime": 1744488227849,
|
||||
"modified": false
|
||||
},
|
||||
"templates": {
|
||||
@@ -158,6 +158,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tmp": {},
|
||||
"upload": {},
|
||||
"xml": {}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ class Cron
|
||||
$cpc = $offer_data['clicks'] > 0 ? round( $offer_data['cost'] / $offer_data['clicks'], 6 ) : 0;
|
||||
$roas = ($offer_data['conversions'] > 0 and $offer_data['cost']) ? round($offer_data['conversions_value'] / $offer_data['cost'], 2) * 100 : 0;
|
||||
|
||||
// $impressions_30 = \factory\Products::get_impressions_30( $offer_data['product_id'] );
|
||||
$impressions_30 = \factory\Products::get_impressions_30( $offer_data['product_id'] );
|
||||
|
||||
// update custom_label_4 only current is empty or is bestseller
|
||||
$custom_label_4 = \factory\Products::get_product_data( $offer_data['product_id'], 'custom_label_4' );
|
||||
@@ -205,6 +205,14 @@ class Cron
|
||||
exit;
|
||||
}
|
||||
|
||||
static public function get_roas_all_time( $product_id, $date_to )
|
||||
{
|
||||
global $mdb;
|
||||
|
||||
$roas_all_time = $mdb -> query( 'SELECT SUM(conversions_value) / SUM(cost) * 100 AS roas_all_time FROM products_history WHERE product_id = ' . $product_id . ' AND date_add <= \'' . $date_to . '\'' ) -> fetchColumn();
|
||||
return round( $roas_all_time, 2 );
|
||||
}
|
||||
|
||||
static public function cron_product_history_30_save( $product_id, $date_to )
|
||||
{
|
||||
global $mdb;
|
||||
@@ -262,7 +270,8 @@ class Cron
|
||||
'cost' => $cost,
|
||||
'conversions' => $conversions,
|
||||
'conversions_value' => $conversions_value,
|
||||
'roas' => $roas
|
||||
'roas' => $roas,
|
||||
'roas_all_time' => self::get_roas_all_time( $product_id, $date_to )
|
||||
], [ 'AND' => [ 'product_id' => $product_id, 'date_add' => $date_to ] ] );
|
||||
}
|
||||
else
|
||||
@@ -276,6 +285,7 @@ class Cron
|
||||
'conversions' => $conversions,
|
||||
'conversions_value' => $conversions_value,
|
||||
'roas' => $roas,
|
||||
'roas_all_time' => self::get_roas_all_time( $product_id, $date_to ),
|
||||
'date_add' => $date_to
|
||||
] );
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@ class Products
|
||||
$cost[] = (float)$row['cost'];
|
||||
$conversions[] = (int)$row['conversions'];
|
||||
$conversions_value[] = (float)$row['conversions_value'];
|
||||
$roas[] = (float)$row['roas'];
|
||||
$roas[] = (float)$row['roas_all_time'];
|
||||
$dates[] = $row['date_add'];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user