Add WooCommerce revenues to computed statistics

[MAILPOET-1853]
This commit is contained in:
Jan Jakeš
2019-05-02 15:09:29 +02:00
committed by M. Shull
parent d5ccca1966
commit fc5fc01df3
2 changed files with 31 additions and 0 deletions

View File

@ -6,6 +6,7 @@ use MailPoet\Settings\SettingsController;
use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\Util\Helpers;
use MailPoet\Util\Security;
use MailPoet\WooCommerce\Helper as WCHelper;
use MailPoet\WP\Emoji;
use function MailPoet\Util\array_column;
use MailPoet\WP\Functions as WPFunctions;
@ -587,6 +588,27 @@ class Newsletter extends Model {
$result[$name] = !empty($row->cnt) ? (int)$row->cnt : 0;
}
// WooCommerce revenues
$woocommerce_helper = new WCHelper();
if ($woocommerce_helper->isWooCommerceActive()) {
$currency = $woocommerce_helper->getWoocommerceCurrency();
$row = StatisticsWooCommercePurchases::selectExpr('SUM(order_price_total) AS total')
->where([
'newsletter_id' => $this->id,
'order_currency' => $currency,
])
->findOne();
$revenue = !empty($row->total) ? (float)$row->total : 0.0;
$result['revenue'] = [
'currency' => $currency,
'value' => $revenue,
'formatted' => $woocommerce_helper->getRawPrice($revenue, ['currency' => $currency]),
];
} else {
$result['revenue'] = null;
}
return $result;
}