Я хотел бы показать список счетов моим клиентам s.t. они могут загрузить каждый счет-фактуру в настройках биллинга своего аккаунта.
Мой бэкэнд обычно работает с подходами classig size
и page
для работы с контентом, доступным для просмотра. Spring уже предлагает множество простых реализаций для этого.
Однако, похоже, что Stripe не позволяет мне распечатывать накладные другим способом, передавая идентификатор объекта курсора (см. starting_after
).
Поскольку я работаю с HATEOAS, я не могу по-настоящему с этим работать. Единственный способ, который я вижу в данный момент, - это повторять все счета снова и снова, чтобы «подделать» классический подход к нумерации страниц (как объяснено выше).
Для этого может быть простое решение, но, к сожалению, эта часть информации не отправляется на мой сервер: totalCount
.
Когда я получаю InvoiceCollection
, я вижу, что есть также свойство totalCount
, но оно всегда null
:
@Override
public Page<InvoiceModel> findByAllByCustomerId(String customerId, Pageable pageable) {
Map<String, Object> params = new HashMap<>();
params.put("customer", customerId);
params.put("limit", pageable.getPageSize());
InvoiceCollection invoiceCollection;
List<Invoice> invoiceList;
try {
invoiceCollection = Invoice.list(params);
invoiceList = invoiceCollection.getData();
} catch (StripeException e) {
e.printStackTrace();
throw new RuntimeException();
}
List<InvoiceModel> collect = invoiceList.stream().map(invoice -> {
InvoiceModel invoiceModel = new InvoiceModel();
invoiceModel.setId(invoice.getId());
invoiceModel.setPdfUrl(invoice.getInvoicePdf());
invoiceModel.setInvoiceNumber(invoice.getNumber());
ZonedDateTime billingDate = Instant.ofEpochSecond(invoice.getDueDate()).atZone(ZoneId.of("UTC"));
invoiceModel.setBillingDate(billingDate);
return invoiceModel;
}).collect(Collectors.toList());
// This I'd like to compute based on 'totalCount'
long total = 0L;
return new PageImpl<>(collect, pageable, total);
}
![enter image description here](https://i.stack.imgur.com/ywZUC.png)
Существует ли какой-либо способ получения общего количества счетов? Или есть даже другой способ сделать это?
Спасибо за любую помощь в этом.