Search update and optimization

This commit is contained in:
2023-11-23 23:35:19 -03:00
parent bf03e85975
commit e1ef31dccd
10 changed files with 232 additions and 36 deletions

View File

@ -16,6 +16,24 @@ class Unidades
{
use withJson, withRedis;
public function get(ServerRequestInterface $request, ResponseInterface $response, Service\Redis $redisService,
Service\Venta\Unidad $unidadService, int $unidad_id): ResponseInterface
{
$output = [
'unidad_id' => $unidad_id,
'unidad' => null
];
$redisKey = "unidad:{$unidad_id}";
try {
$output['unidad'] = $this->fetchRedis($redisService, $redisKey);
} catch (EmptyRedis) {
try {
$output['unidad'] = $unidadService->getById($unidad_id);
$this->saveRedis($redisService, $redisKey, $output['unidad']);
} catch (EmptyResult) {}
}
return $this->withJson($response, $output);
}
public function disponibles(ServerRequestInterface $request, ResponseInterface $response, Repository\Venta\Unidad $unidadRepository, Repository\Proyecto\TipoUnidad $tipoUnidadRepository, Service\Redis $redisService): ResponseInterface
{
$body = $request->getBody();

View File

@ -20,7 +20,7 @@ class Ventas
{
$redisKey = "proyectos:vendibles";
try {
$proyectos = $proyectoService->process($proyectoRepository->load((array) $this->fetchRedis($redisService, $redisKey)));
$proyectos = $this->fetchRedis($redisService, $redisKey);
} catch (EmptyRedis) {
$proyectos = array_map(function(Model\Proyecto $proyecto) {
return ['id' => $proyecto->id, 'descripcion' => $proyecto->descripcion];