Skip to content

Commit

Permalink
Add method getPaymentList
Browse files Browse the repository at this point in the history
  • Loading branch information
alisonvalente committed Feb 7, 2022
1 parent 14b0d93 commit 067de6c
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions src/Entity/MovementManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

use Gpupo\CommonSchema\ArrayCollection\Banking\Movement\Movement as AC;
use Gpupo\CommonSdk\Entity\Metadata\MetadataContainer;
use Gpupo\Common\Entity\Collection;

class MovementManager extends GenericManager
{
Expand Down Expand Up @@ -85,6 +86,48 @@ public function findPaymentById($id)
return $this->factoryORM($payment, 'Entity\Trading\Order\Shipping\Payment\Payment');
}

public function getPaymentList(int $days_ago = 7, $offset = 0, $limit = 50)
{
$list = $this->getFromRoute(
[
'GET',
'/v1/payments/search?range={range}&begin_date={begin_date}&end_date={end_date}&offset={offset}&limit={limit}',
],
[
'range' => 'date_last_updated',
'begin_date' => sprintf('NOW-%dDAYS', $days_ago),
'end_date' => 'NOW',
'offset' => $offset,
'limit' => $limit,
]
);

$collection = new MetadataContainer();

if (!$list->getResults()) {
$collection->clear();

return $collection;
}

foreach ($list->getResults() as $a) {
$array = new Collection($a);
$translator = new PaymentTranslator();
$translator->setNative($array);
$payment = $translator->doExport();

$collection->add($this->factoryORM($payment, 'Entity\Trading\Order\Shipping\Payment\Payment'));
}

if ($list['paging']['total'] > ($list['paging']['offset'] + $list['paging']['limit'])) {
foreach ($this->getPaymentList($days_ago, $offset+$limit, $limit) as $item) {
$collection->add($item);
}
}

return $collection;
}

protected function translateMovementDataToCommon(array $array): array
{
$translated = array_merge([
Expand Down

0 comments on commit 067de6c

Please sign in to comment.