| | |
| | | Integer durationSum = memberRides.stream().filter(s -> s.getDuration() > 0).mapToInt(s -> s.getDuration()).sum(); |
| | | if (durationSum > pricingRule.getMemberRides().getBaseTime()){ |
| | | BigDecimal basePrice = pricingRule.getMemberRides().getBasePrice(); |
| | | //TODO 取证 |
| | | BigDecimal multiply = pricingRule.getMemberRides().getUnitPrice().multiply(new BigDecimal((durationSum - pricingRule.getMemberRides().getBaseTime())).divide(new BigDecimal(pricingRule.getMemberRides().getUnitTime())).setScale(0,BigDecimal.ROUND_CEILING)); |
| | | ridesDetailResponse.setAmount(basePrice.add(multiply)); |
| | | }else { |