[*] BO : Connected the first KPIs to real data
This commit is contained in:
@@ -26,4 +26,38 @@
|
||||
|
||||
class AdminStatsControllerCore extends AdminStatsTabController
|
||||
{
|
||||
public function displayAjaxGetKpi()
|
||||
{
|
||||
$currency = new Currency(Configuration::get('PS_CURRENCY_DEFAULT'));
|
||||
switch (Tools::getValue('kpi'))
|
||||
{
|
||||
case 'abandoned_cart':
|
||||
$value = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
|
||||
SELECT COUNT(*)
|
||||
FROM `'._DB_PREFIX_.'cart`
|
||||
WHERE `date_add` BETWEEN "'.pSQL(date('Y-m-d')).' 00:00:00" AND "'.pSQL(date('Y-m-d')).' 23:59:59"
|
||||
AND id_cart NOT IN (SELECT id_cart FROM `'._DB_PREFIX_.'orders`)
|
||||
'.Shop::addSqlRestriction(Shop::SHARE_ORDER));
|
||||
Configuration::updateValue('PS_KPI_ABANDONED_CARTS', $value);
|
||||
Configuration::updateValue('PS_KPI_ABANDONED_CARTS_EXPIRE', strtotime('+10 min'));
|
||||
break;
|
||||
case 'average_order_value':
|
||||
$row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
|
||||
SELECT
|
||||
COUNT(`id_order`) as orders,
|
||||
SUM(`total_paid_tax_excl` / `conversion_rate`) as total_paid_tax_excl
|
||||
FROM `'._DB_PREFIX_.'orders`
|
||||
WHERE `invoice_date` BETWEEN "'.pSQL(date('Y-m-d', strtotime('-31 day'))).' 00:00:00" AND "'.pSQL(date('Y-m-d', strtotime('-1 day'))).' 23:59:59"
|
||||
'.Shop::addSqlRestriction(Shop::SHARE_ORDER));
|
||||
$value = Tools::displayPrice($row['orders'] ? $row['total_paid_tax_excl'] / $row['orders'] : 0, $currency);
|
||||
Configuration::updateValue('PS_KPI_AVG_ORDER_VALUE', $value);
|
||||
Configuration::updateValue('PS_KPI_AVG_ORDER_VALUE_EXPIRE', strtotime(date('Y-m-d 00:00:00', strtotime('+1 day'))));
|
||||
break;
|
||||
default:
|
||||
$value = false;
|
||||
}
|
||||
if ($value !== false)
|
||||
die(Tools::jsonEncode(array('value' => $value)));
|
||||
die(Tools::jsonEncode(array('has_errors' => true)));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user