50 lines
1.4 KiB
PHP
50 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Modules\EcommerceFinance\Repositories;
|
|
|
|
/** 店铺收款账单·得物货款账户只读共享业务镜像。 */
|
|
class StoreReceivingDewuBillMirrorRepository
|
|
{
|
|
public const DATASET = 'jiansun.dbo.jst_originalBillInfo.dewu_receiving';
|
|
public const SOURCE_CHANNELS = ['Dewu', 'DewuTK', 'DewuKJ'];
|
|
|
|
public function __construct(
|
|
private readonly StoreReceivingAlipayBillMirrorRepository $source,
|
|
) {
|
|
}
|
|
|
|
/** @return array<string,mixed> */
|
|
public function paginate(array $filters, string $sort, string $direction, int $page, int $perPage): array
|
|
{
|
|
return $this->source->paginateChannel(
|
|
$filters,
|
|
$sort,
|
|
$direction,
|
|
$page,
|
|
$perPage,
|
|
self::SOURCE_CHANNELS,
|
|
'dewu',
|
|
self::DATASET,
|
|
);
|
|
}
|
|
|
|
/** @return iterable<int,array<string,mixed>> */
|
|
public function exportRows(array $filters, string $sort = 'occurred_at', string $direction = 'asc'): iterable
|
|
{
|
|
return $this->source->exportChannelRows(
|
|
$filters,
|
|
$sort,
|
|
$direction,
|
|
self::SOURCE_CHANNELS,
|
|
'dewu',
|
|
self::DATASET,
|
|
);
|
|
}
|
|
|
|
/** @return array{shops:array<int,string>,bill_items:array<int,string>} */
|
|
public function filterOptions(): array
|
|
{
|
|
return $this->source->filterOptionsForChannel(self::SOURCE_CHANNELS, self::DATASET);
|
|
}
|
|
}
|