Завел статистику по запрсам API

parent f1e25e72
......@@ -18,6 +18,11 @@ return [
'transactions' => '#1F77B4',
'salemoney' => '#FF7F0E',
'admoney' => '#9467BD',
'Views' => '#2CA02C',
'Clicks' => '#D62728',
'Orders' => '#1F77B4',
'OrderSum' => '#FF7F0E',
'AdMoney' => '#9467BD',
]
]
];
......@@ -7,6 +7,7 @@ $(document).ready(function(){
//selectorActiveDays = '.b-filter__switch.days .m-filter__switch-item_active',
//selectorActiveData = '.b-filter__switch.metric-data .m-filter__switch-item_active',
activeLine = $(selectorActiveLine).data('filter-category'),
activeLines,
//activeTime,
activeDays,
toggelDates = [],
......@@ -92,11 +93,14 @@ $(document).ready(function(){
$.extend({
ChartStat: {
DateStat: function(dataLineChartStat) {
console.log('AAA DateStat: ', dataLineChartStat);
var activeLines = ['shows', 'clicks', 'transactions', 'salemoney', 'admoney'];
activeLine = 'shows';
//console.log('AAA DateStat: ', dataLineChartStat);
//activeLines = ['shows', 'clicks', 'transactions', 'salemoney', 'admoney'];
//activeLine = 'shows';
if (dataLineChartStat.report == 'common') {
activeLines = ['Views', 'Clicks', 'Orders', 'OrderSum', 'AdMoney'];
activeLine = 'Views';
}
// Диапазон дат:
if (dataLineChartStat.type == 'interval') {
......
......@@ -47,7 +47,7 @@ $(document).ready(function(){
$chartStatError = $('.chart-graph-stat-error'),
$chartStatErrorMessage = $('.chart-graph-stat-error .message'),
periodStatsData,
campaignStatsData,
//campaignStatsData,
dataLineChartStat;
......@@ -61,9 +61,11 @@ $(document).ready(function(){
if ($('#period-stats').val()) {
periodStatsData = JSON.parse($('#period-stats').val());
}
/*
if ($('#campaign-stats').val()) {
campaignStatsData = JSON.parse($('#campaign-stats').val());
}
*/
// Устанавливаем данные по периоду в качестве стартовых:
dataLineChartStat = periodStatsData;
//console.log('AAA dataLineChartStat = ', dataLineChartStat);
......@@ -143,7 +145,8 @@ $(document).ready(function(){
$this.addClass('selected').toggleClass('desc');
if ($this.hasClass('main-cat')) {
dataLineChartStat = ($this.hasClass('date')) ? periodStatsData : campaignStatsData;
//dataLineChartStat = ($this.hasClass('date')) ? periodStatsData : campaignStatsData;
dataLineChartStat = periodStatsData;
$tableHeadColsChecks.attr("disabled", $this.hasClass('campaign'));
}
renderHourTable();
......@@ -197,8 +200,9 @@ $(document).ready(function(){
//console.log("AAA requestDataStat SUCCESS res: ", res);
ShowChartData();
periodStatsData = res.period;
campaignStatsData = res.campaign;
//periodStatsData = res.period;
//campaignStatsData = res.campaign;
periodStatsData = res;
dataLineChartStat = periodStatsData;
$('.main-cat').removeClass('selected');
$('.main-cat.date').addClass('selected');
......
......@@ -98,7 +98,7 @@ class Cabinet extends Common
if (!in_array($feed_id, $feed_id_list)) {
$feed_id_list[] = $feed_id;
}
}
}
$report_type = $request->getAttribute('report');
......@@ -109,12 +109,20 @@ class Cabinet extends Common
switch ($report_type) {
case 'common':
/** @var \App\Model\Feeds $statDaysModel */
$statsDaysModel = $this->container->get(StatsDays::class);
//$statsDaysModel = $this->container->get(StatsDays::class);
//$stats = $statsDaysModel->findAll(['FeedID' => $feed_id_list])->toArray();
$periodStats = $statsDaysModel->getStatsByDate($feed_id_list, $dates);
$stat = $stats->getStatData($metric, $type);
//$campaignStats = $statsDaysModel->getStatsByFeeds($feed_id_list, $dates);
//$periodStats = $statsDaysModel->getStatsByDate($feed_id_list, $dates);
$periodStats = $stats->getStatData($report_type, $feed_id_list, $dates);
$cats = [
'Views' => 'Показы',
'Clicks' => 'Клики',
'Orders' => 'Заказы',
'OrderSum' => 'Сумма по заказам',
'AdMoney' => 'Стоимость заказа'
];
/*
$cats = [
'shows' => 'Показы',
'clicks' => 'Клики',
......@@ -122,8 +130,8 @@ class Cabinet extends Common
'salemoney' => 'salemoney',
'admoney' => 'admoney'
];
/*
$campaignStats = $statsDaysModel->getStatsByFeeds($feed_id_list, $dates);
if ($campaignStats || count($campaignStats['period'])>0) {
$feeds_names = [];
foreach($campaignStats['period'] as $feed_id) {
......@@ -158,22 +166,21 @@ class Cabinet extends Common
$data['error'] = _t('Извините, тип отчета "'. $report_type .'" недоступен');
break;
}
//return new JsonResponse($companyStats);
/*
$periodStats['type'] = 'interval';
$periodStats['report'] = $report_type;
$campaignStats['type'] = 'interval';
$campaignStats['report'] = $report_type;
$data['campaignStats'] = $campaignStats;
*/
$data['feeds'] = $feeds;
$data['report'] = $report_type;
$data['current_period'] = $current_period;
$data['dates'] = $dates;
$data['stat'] = $stat;
$data['periodStats'] = $periodStats;
//$data['campaignStats'] = $campaignStats;
$data['cats'] = $cats;
$data['periods_list'] = $this->container->get('config')['feed_conf']['periods_list'];
$data['colors_active_lines'] = $this->container->get('config')['feed_conf']['colors_active_lines'];
......@@ -187,50 +194,6 @@ class Cabinet extends Common
return $response;
*/
/*
$allDomains = $listDomains;
$subdomains = true;
$allStat = false;
$group = false;
$summaryReport = $stats->getSummuryReport($allDomains, $user->getCurrencyCode(), $subdomains, $allStat, $group);
list($periodStats, $periodDates) = $stats->getPeriodReport(date('Y-m'), $allDomains, $user->getCurrencyCode(), $subdomains, $allStat, $group);
$dateIterval = new \DateInterval('P1M');
$dateStart = \DateTime::createFromFormat('Y-m-d', $periodDates['min'] ?: date('Y-m-01'));
$dateEnd = \DateTime::createFromFormat('Y-m-d', $periodDates['max'] ?: date('Y-m-01'));
$dateRange = array();
if($dateStart != $dateEnd) {
$_dateRange = new \DatePeriod($dateStart, $dateIterval, $dateEnd);
foreach($_dateRange as $dt) {
$dateRange[] = $dt;
}
}
$dateRange[] = $dateEnd;
$dateRange = array_reverse($dateRange);
$currencyModel = $this->container->get(\App\Model\Currencies::class);
$currencies = array();
foreach($currencyModel->findAll() as $currency) {
$currencies[$currency->getCode()] = $currency->getName();
}
$currentCurencyCode = $user->getCurrencyCode();
$data['sites'] = $listSites;
$data['accessSites'] = $listAccessSites;
$data['summaryStats'] = $summaryStats;
$data['periodStats'] = $periodStats;
$data['summaryReport'] = $summaryReport;
$data['listDomains'] = $listDomains;
$data['dateRange'] = $dateRange;
$data['currencies'] = $currencies;
$data['currency'] = ['code' => $currentCurencyCode, 'name' => $currencies[$currentCurencyCode]];
$data['userId'] = $userId;
*/
} catch(\Exception $e) {
$data['error'] = _t('Извините, статистика временно не работает');
}
......@@ -251,6 +214,9 @@ class Cabinet extends Common
$auth = $this->container->get(UserService::class);
$userId = $auth->getIdentity()->getId();
/** @var \App\Model\Statistics $stats */
$stats = $this->container->get(Statistics::class);
// Выводим стр. по фидам, если за пользователем закреплен фид:
/** @var \App\Model\Feeds $feedsModel */
$feedsModel = $this->container->get(Feeds::class);
......@@ -272,8 +238,10 @@ class Cabinet extends Common
switch ($report_type) {
case 'common':
/** @var \App\Model\Feeds $statDaysModel */
$statsDaysModel = $this->container->get(StatsDays::class);
$periodStats = $statsDaysModel->getStatsByDate($feed_id_list, $dates);
//$statsDaysModel = $this->container->get(StatsDays::class);
//$periodStats = $statsDaysModel->getStatsByDate($feed_id_list, $dates);
$periodStats = $stats->getStatData($report_type, $feed_id_list, $dates);
/*
$campaignStats = $statsDaysModel->getStatsByFeeds($feed_id_list, $dates);
if ($campaignStats || count($campaignStats['period'])>0) {
......@@ -284,7 +252,7 @@ class Cabinet extends Common
}
$campaignStats['period'] = $feeds_names;
}
*/
break;
case 'transaction':
/** @var \App\Model\Feeds $transactionsModel */
......@@ -311,6 +279,7 @@ class Cabinet extends Common
return new JsonResponse(null);
}
/*
$periodStats['type'] = 'interval';
$periodStats['report'] = $report_type;
......@@ -325,6 +294,10 @@ class Cabinet extends Common
} else {
$data = null;
}
*/
$data = $periodStats;
return new JsonResponse($data);
}
......
This diff is collapsed.
......@@ -55,7 +55,7 @@ $src = $sxml['src'];
$error = $this->error;
$periodStats = $this->periodStats;
$campaignStats = $this->campaignStats;
//$campaignStats = $this->campaignStats;
$current_period = $this->current_period;
$dates = $this->dates;
$cats = $this->cats;
......@@ -152,7 +152,7 @@ $system_link = $this->url('adm.system.actions');
<div id="chart-graph-stat" style="height: 370px;" data-colors=<?= ($colors_active_lines ? json_encode($colors_active_lines) : '')?>></div>
<?php endif ?>
<?php print_r($stat); ?>
<?php // print_r($periodStats); ?>
<?php /* Таблица */ ?>
<div id="table-stat" class="b-table_wrapp">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment