diff --git a/app/src/Service/IPC.php b/app/src/Service/IPC.php index 044b4ff..b6d6699 100644 --- a/app/src/Service/IPC.php +++ b/app/src/Service/IPC.php @@ -27,6 +27,7 @@ class IPC } catch (EmptyRedis) { $ipc = $this->moneyService->getIPC($from, $to); $ipcs[$dateKey] = $ipc; + ksort($ipcs); $this->redisService->set($this->redisKey, json_encode($ipcs), 60 * 60 * 24 * 30); } return $ipcs[$dateKey]; diff --git a/app/src/Service/UF.php b/app/src/Service/UF.php index 434ba42..48916e3 100644 --- a/app/src/Service/UF.php +++ b/app/src/Service/UF.php @@ -22,6 +22,7 @@ class UF } catch (EmptyRedis) { $uf = $this->moneyService->getUF($date); $ufs[$date->format('Y-m-d')] = $uf; + ksort($ufs); $this->redisService->set($this->redisKey, json_encode($ufs), 60 * 60 * 24 * 30); } return $uf; diff --git a/cli/src/Command/Money/IPC.php b/cli/src/Command/Money/IPC.php index 92e8d86..7ed75b4 100644 --- a/cli/src/Command/Money/IPC.php +++ b/cli/src/Command/Money/IPC.php @@ -17,16 +17,20 @@ class IPC extends Command $lastMonth = (new DateTimeImmutable())->sub(new DateInterval('P1M')); $endLastYear = (new DateTimeImmutable())->sub(new DateInterval('P1Y')); $uri = '/api/money/ipc'; - $data = [ - 'start' => $endLastYear->format('Y-12-1'), - 'end' => $lastMonth->format('Y-m-1') - ]; - $output->writeln("POST {$uri}"); - $response = $this->client->post($uri, [ - 'body' => http_build_query($data), - 'headers' => ['Content-Type' => 'application/x-www-form-urlencoded'] - ]); - $output->writeln("Response Code: {$response->getStatusCode()}"); + $current = new DateTimeImmutable($lastMonth->format('Y-m-d')); + while ($current->diff($endLastYear)->days > 30) { + $data = [ + 'start' => $endLastYear->format('Y-12-1'), + 'end' => $current->format('Y-m-1') + ]; + $output->writeln("POST {$uri}"); + $response = $this->client->post($uri, [ + 'body' => http_build_query($data), + 'headers' => ['Content-Type' => 'application/x-www-form-urlencoded'] + ]); + $output->writeln("Response Code: {$response->getStatusCode()}"); + $current = $current->sub(new DateInterval('P1M')); + } return Console\Command\Command::SUCCESS; } }