|
|
|
@ -64,11 +64,11 @@ public class DailyIncomeQueryServiceImpl implements DailyIncomeQueryService { |
|
|
|
private BigDecimal calculateRoi(BigDecimal deliveryCost, LocalDate statDate, int days) { |
|
|
|
BigDecimal roi = BigDecimal.ZERO; |
|
|
|
if (Objects.nonNull(deliveryCost) && deliveryCost.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
LocalDate statDateFrom = statDate.minusDays(days - 1); |
|
|
|
LocalDate statDateFrom = statDate.plusDays(days - 1); |
|
|
|
BigDecimal totalIncome = dailyIncomeDao.selectList(new LambdaQueryWrapper<DailyIncome>() |
|
|
|
.between(DailyIncome::getStatDate, statDateFrom, statDate)) |
|
|
|
.stream().map(DailyIncome::getIncome).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
roi = totalIncome.divide(deliveryCost, 2, RoundingMode.HALF_UP); |
|
|
|
roi = totalIncome.multiply(BigDecimal.valueOf(100)).divide(deliveryCost, 2, RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
return roi; |
|
|
|
} |
|
|
|
|