Skip to content

Instantly share code, notes, and snippets.

@GayanM
Created September 25, 2022 10:25
Show Gist options
  • Save GayanM/3573a9bbbeb0e8dd6ad9147f9b3ac5f5 to your computer and use it in GitHub Desktop.
Save GayanM/3573a9bbbeb0e8dd6ad9147f9b3ac5f5 to your computer and use it in GitHub Desktop.
Calculate order average payment placed on 14-Mar-2021:Answ=287.604
@RequestMapping("/avg-payment")
public Double getAvgPayment(@RequestParam("date") final Optional<String> date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return orderRepo.findAll().stream().filter(o -> o.getOrderDate().isEqual(LocalDate.
parse(date.get(), formatter))).flatMap(o -> o.getProducts().stream()).mapToDouble(p ->
p.getPrice()).average().getAsDouble();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment