diff --git a/.vscode/ftp-kr.sync.cache.json b/.vscode/ftp-kr.sync.cache.json index 4072044..3906ddf 100644 --- a/.vscode/ftp-kr.sync.cache.json +++ b/.vscode/ftp-kr.sync.cache.json @@ -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": {} } diff --git a/autoload/controls/class.Cron.php b/autoload/controls/class.Cron.php index e7798d8..1e220ac 100644 --- a/autoload/controls/class.Cron.php +++ b/autoload/controls/class.Cron.php @@ -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 ] ); } diff --git a/autoload/controls/class.Products.php b/autoload/controls/class.Products.php index 3e8d2aa..4738c04 100644 --- a/autoload/controls/class.Products.php +++ b/autoload/controls/class.Products.php @@ -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']; }