Запросы для статистики по кампании при выборке по времени

parent 48d23c10
......@@ -46,12 +46,25 @@
.form-group-data
{
display: none;
position: relative;
}
.form-group-data.selected
{
display: block;
}
.form-group-data .b-content__loading
{
display: none;
position: absolute;
width: 100%;
height: 100%;
background: #FFF url('../img/gif-load.gif') center center no-repeat;
opacity: 0.5;
z-index: 1;
}
.form-group .form-control
{
......@@ -286,7 +299,9 @@ textarea#cities-codes
.chart-graph-stat-info,
.chart-graph-stat-error,
.sites-stats-info,
.sites-stats-error,
.regions-stats-info,
.regions-stats-error
{
display: none;
......
......@@ -649,11 +649,6 @@
z-index: 1;
}
.b-content__loading
{
}
span.block-info
{
display: none;
......
This diff is collapsed.
......@@ -66,10 +66,10 @@ class CabinetAmSystem extends Common
{
if($request->getMethod() == 'POST') {
/*
try {
switch ($request->getAttribute('action')) {
case self::ACTION_STAT:
case self::ACTION_ITEM:
$response = $this->getStatData($request);
break;
default:
......@@ -82,7 +82,7 @@ class CabinetAmSystem extends Common
$response = new JsonResponse($data);
}
return $response;
*/
}
elseif($request->getAttribute('action') == self::ACTION_LIST)
{
......@@ -147,8 +147,9 @@ class CabinetAmSystem extends Common
$cities = $this->container->get('config')['amsystem_conf']['city'];
/** @var \App\Model\AmSystem\Campaigns $campaignsModel */
$campaignsModel = $this->container->get(\App\Model\AmSystem\Campaigns::class);
$campaign = $campaignsModel->findOne(['id' => $campaign_id]);
//$campaignsModel = $this->container->get(\App\Model\AmSystem\Campaigns::class);
//$campaign = $campaignsModel->findOne(['id' => $campaign_id]);
$campaign = $campaign_item;
/** @var \App\Model\Statistics $stats */
$stats = $this->container->get(\App\Model\Statistics::class);
......@@ -233,5 +234,50 @@ class CabinetAmSystem extends Common
}
private function getStatData(ServerRequestInterface $request)
{
/** @var UserService $auth */
$auth = $this->container->get(UserService::class);
$userId = $auth->getIdentity()->getId();
$campaign_id = $request->getAttribute('id');
/** @var \App\Model\AmSystem\Campaigns $campaignsModel */
$campaignsModel = $this->container->get(\App\Model\AmSystem\Campaigns::class);
$campaign = $campaignsModel->findById($campaign_id);
if ($campaign) {
if ($campaign->getUserId() == $userId){
/** @var \App\Model\Statistics $stats */
$stats = $this->container->get(\App\Model\Statistics::class);
$data_request = $request->getParsedBody();
if ($data_request['type'] == 'stat-common') {
$data_stat = [
'stat' => $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), $data_request['period']),
'total' => $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), null)
];
}
if ($data_request['type'] == 'stat-sites') {
$data_stat = $stats->getCampaignsSitesStat((int)$campaign_id, $campaign->getTargetAction(), $data_request['period']);
}
if ($data_request['type'] == 'stat-regions') {
$data_stat = $stats->getCampaignsRegionsStat((int)$campaign_id, $campaign->getTargetAction(), $data_request['period']);
}
return new JsonResponse([
'type' => $data_request['type'],
'data' => $data_stat
]);
}
}
return new JsonResponse(null);
}
}
\ No newline at end of file
......@@ -95,6 +95,8 @@ if (!$error) {
$target_class = ($campaign_target_action == 'load') ? 'load-target' : '';
$link_campaigns_list = $this->url('user.cabinet.amsystem', ['lang' => $lang]);
$data_request_link = $this->url('user.cabinet.campaign', ['lang' => $lang]);
}
?>
......@@ -111,7 +113,7 @@ if (!$error) {
<section class="b-content__work inner">
<form id="campaign-create-form" method="post" action="">
<form id="campaign-create-form" method="post" action="<?= $data_request_link ?>">
<div class="panel panel-info">
......@@ -376,6 +378,8 @@ if (!$error) {
<!-- Общая статистика -->
<div class="form-group-data stat-common" data-type="stat-common">
<div class="b-content__loading"></div>
<div class="campaign-stat">
<textarea id="campaign-stat"><?= ($campaign_stat ? json_encode($campaign_stat) : '')?></textarea>
......@@ -430,6 +434,7 @@ if (!$error) {
<!-- По сайтам -->
<div class="form-group-data stat-sites" data-type="stat-sites">
<div class="b-content__loading"></div>
<!-- Дата -->
<div class="form-group">
<label for="campaign-date-begin"><?= _t('Дата')?></label>
......@@ -442,6 +447,10 @@ if (!$error) {
<div class="sites-stats">
<textarea id="campaign-sites-stat"><?= ($sites_stats ? json_encode($sites_stats) : '')?></textarea>
<div class="sites-stats-info">
<h2>По заданным параметрам статистика отсутствует</h2>
</div>
<div class="sites-stats-error">
<h2>Ошибка в статистике</h2>
<div class="message"></div>
......@@ -473,6 +482,7 @@ if (!$error) {
<!-- По регионам -->
<div class="form-group-data stat-regions" data-type="stat-regions">
<div class="b-content__loading"></div>
<!-- Дата -->
<div class="form-group">
<label for="campaign-date-begin"><?= _t('Дата')?></label>
......@@ -487,6 +497,9 @@ if (!$error) {
<textarea id="regions-codes"><?= ($code_regions ? json_encode($code_regions) : '')?></textarea>
<textarea id="cities-codes"><?= ($code_cities ? json_encode($code_cities) : '')?></textarea>
<div class="regions-stats-info">
<h2>По заданным параметрам статистика отсутствует</h2>
</div>
<div class="regions-stats-error">
<h2>Ошибка в статистике</h2>
......
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