高峰出行日收费规则:优化
This commit is contained in:
parent
f7797f8ae6
commit
7dd75890a2
@ -408,28 +408,18 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
|
||||
* @param feignEbikeSysRcostsetDto 计费规则
|
||||
* @return 计费后总金额
|
||||
*/
|
||||
BigDecimal weekCostCalculation(List<EbikeOrderDetails> list,EbikeUserOrders userOrders, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto) {
|
||||
BigDecimal weekCostCalculation(List<EbikeOrderDetails> list, EbikeUserOrders userOrders, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto) {
|
||||
BigDecimal decimal = new BigDecimal(0);
|
||||
LocalDateTime startTime = userOrders.getStartTime();
|
||||
LocalDateTime endTime = userOrders.getEndTime();
|
||||
boolean crossDay = TimeUtils.isCrossDay(startTime, endTime);
|
||||
Long orderId = userOrders.getOrderId();
|
||||
if (!crossDay) {
|
||||
//未跨天
|
||||
TimeSegment timeSegment = new TimeSegment(startTime, endTime);
|
||||
//处理为自然时间段:防止跨天
|
||||
List<TimeSegment> timeSegments = TimeUtils.splitByDays(startTime, endTime);
|
||||
for (int i = 0; i < timeSegments.size(); i++) {
|
||||
TimeSegment timeSegment = timeSegments.get(i);
|
||||
boolean checked = checkWeek(timeSegment, feignEbikeSysRcostsetDto);
|
||||
BigDecimal dailiedFee = dailyFee(timeSegment, feignEbikeSysRcostsetDto, true, checked, list, orderId);
|
||||
BigDecimal dailiedFee = dailyFee(timeSegment, feignEbikeSysRcostsetDto, i < 1, checked, list, orderId);
|
||||
decimal = decimal.add(dailiedFee);
|
||||
} else {
|
||||
//跨天
|
||||
List<TimeSegment> timeSegments = TimeUtils.splitByDays(startTime, endTime);
|
||||
for (int i = 0; i < timeSegments.size(); i++) {
|
||||
TimeSegment timeSegment = timeSegments.get(i);
|
||||
boolean checked = checkWeek(timeSegment, feignEbikeSysRcostsetDto);
|
||||
BigDecimal dailiedFee = dailyFee(timeSegment, feignEbikeSysRcostsetDto, i < 1, checked, list, orderId);
|
||||
decimal = decimal.add(dailiedFee);
|
||||
}
|
||||
|
||||
}
|
||||
return decimal;
|
||||
}
|
||||
@ -558,7 +548,7 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
|
||||
/**
|
||||
* 按照时间段计费(默认
|
||||
*
|
||||
* @param userOrders 订单信息
|
||||
* @param userOrders 订单信息
|
||||
* @param feignEbikeSysRcostsetDto 计费规则
|
||||
* @return 计费后总金额
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user