in api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java [49:106]
void changeLossProvisionConfiguration(
@PathVariable("productidentifier") final String productIdentifier,
@RequestBody LossProvisionConfiguration lossProvisionConfiguration);
@RequestMapping(
value = "/individuallending/products/{productidentifier}/lossprovisionconfiguration",
method = RequestMethod.GET,
produces = MediaType.ALL_VALUE,
consumes = MediaType.APPLICATION_JSON_VALUE
)
LossProvisionConfiguration getLossProvisionConfiguration(
@PathVariable("productidentifier") final String productIdentifier);
@RequestMapping(
value = "/individuallending/products/{productidentifier}/cases/{caseidentifier}/plannedpayments",
method = RequestMethod.GET,
produces = MediaType.ALL_VALUE,
consumes = MediaType.APPLICATION_JSON_VALUE
)
PlannedPaymentPage getPaymentScheduleForCase(
@PathVariable("productidentifier") final String productIdentifier,
@PathVariable("caseidentifier") final String caseIdentifier,
@RequestParam(value = "pageIndex", required = false) final Integer pageIndex,
@RequestParam(value = "size", required = false) final Integer size,
@RequestParam(value = "initialDisbursalDate", required = false) final String initialDisbursalDate);
@RequestMapping(
value = "/individuallending/products/{productidentifier}/plannedpayments",
method = RequestMethod.POST,
produces = MediaType.ALL_VALUE,
consumes = MediaType.APPLICATION_JSON_VALUE
)
PlannedPaymentPage getPaymentScheduleForParameters(
@PathVariable("productidentifier") final String productIdentifier,
@RequestParam(value = "pageIndex", required = false) final Integer pageIndex,
@RequestParam(value = "size", required = false) final Integer size,
@RequestParam(value = "initialDisbursalDate", required = false) final String initialDisbursalDate,
final Case caseInstance);
default Stream<PlannedPayment> getPaymentScheduleForCaseStream(
final String productIdentifier,
final String caseIdentifier,
final String initialDisbursalDate) {
final PlannedPaymentPage firstPage = this.getPaymentScheduleForCase(
productIdentifier,
caseIdentifier,
0,
10,
initialDisbursalDate);
final Integer pageCount = firstPage.getTotalPages();
// Sort column is always date and order always ascending so that the order and adjacency of account
// entries is always stable. This has the advantage that the set of account entries included in the
// stream is set the moment the first call to fetchAccountEntries (above) is made.
return Stream.iterate(0, (i) -> i + 1).limit(pageCount)
.map(i -> this.getPaymentScheduleForCase(productIdentifier, caseIdentifier, i, 10, initialDisbursalDate))
.flatMap(pageI -> pageI.getElements().stream());
}