51 lines
1.6 KiB
PHP
51 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace KupShop\MarketingBundle\Controller;
|
|
|
|
use KupShop\KupShopBundle\Context\UserContext;
|
|
use Query\Operator;
|
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
use Symfony\Component\Routing\Annotation\Route;
|
|
|
|
class CrispController extends AbstractController
|
|
{
|
|
/**
|
|
* @Route(path="/getCrispData/")
|
|
*
|
|
* @return JsonResponse
|
|
*/
|
|
public function getCrispDataAction(Request $request, UserContext $userContext)
|
|
{
|
|
/** @var \User $user */
|
|
$user = $userContext->getActive();
|
|
|
|
if (!empty($user->id)) {
|
|
$data = sqlQueryBuilder()
|
|
->select("MAX(DATE(o.date_created)) 'Posledni_objednavka',
|
|
MAX(o.order_no) 'Kod_posledni_objednavky',
|
|
CONCAT(CEIL(SUM(o.total_price)),' ' , o.currency) 'Celkem',
|
|
COUNT(o.id) 'Pocet_objednavek',
|
|
SUM(o.status_storno) 'Pocet_stornovanych_objednavek'"
|
|
)
|
|
->from('orders', 'o')
|
|
->where(Operator::equals(['o.id_user' => $user->id]))
|
|
->execute()
|
|
->fetch();
|
|
|
|
$data['B2B'] = $userContext->isDealer() ? 'ANO' : 'NE';
|
|
|
|
$data = array_map(function ($value, $key) {
|
|
return [$key, $value];
|
|
}, array_values($data), array_keys($data));
|
|
} else {
|
|
$data = [];
|
|
}
|
|
|
|
$response = new JsonResponse($data);
|
|
|
|
return $response;
|
|
}
|
|
}
|