计费规则部分代码注释:待讨论
This commit is contained in:
parent
5fa9515ed9
commit
50ccd8641d
@ -313,7 +313,7 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
|
||||
|
||||
@Override
|
||||
public RspOrderDetailsInfo orderDetailsInfo(Long orderId) {
|
||||
return this.mapper.selectOneWithRelationsByIdAs(orderId,RspOrderDetailsInfo.class);
|
||||
return this.mapper.selectOneWithRelationsByIdAs(orderId, RspOrderDetailsInfo.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -418,23 +418,49 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
|
||||
* @return 当前时间段收取金额
|
||||
*/
|
||||
BigDecimal timeFee(TimeSegment timeSegment, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto, List<EbikeOrderDetails> list, long orderId) {
|
||||
BigDecimal decimal = new BigDecimal(0);
|
||||
LocalDateTime start = timeSegment.getStart();
|
||||
LocalDateTime end = timeSegment.getEnd();
|
||||
LocalTime orderStartupTime = LocalTime.of(start.getHour(), start.getMinute(), start.getSecond());
|
||||
LocalTime orderEndTime = LocalTime.of(end.getHour(), end.getMinute(), end.getSecond());
|
||||
List<ResFeignEbikeSysRcostsetTimePeriodDto> ebikeSysRcostsetTimePeriodDtos = feignEbikeSysRcostsetDto.getEbikeSysRcostsetTimePeriodDtos();
|
||||
//收集订单所满足计费条件的所有时段费用
|
||||
for (ResFeignEbikeSysRcostsetTimePeriodDto timePeriodDto : ebikeSysRcostsetTimePeriodDtos) {
|
||||
LocalTime timePeriodDtoStartupTime = timePeriodDto.getStartupTime();
|
||||
LocalTime timePeriodDtoEndTime = timePeriodDto.getEndTime();
|
||||
boolean createBeforeTimePeriodDtoEndTime = orderStartupTime.isBefore(timePeriodDtoEndTime);
|
||||
boolean createAfterTimePeriodDtoStartupTime = orderEndTime.isAfter(timePeriodDtoStartupTime);
|
||||
//满足计费条件,进行计费
|
||||
if (createBeforeTimePeriodDtoEndTime && createAfterTimePeriodDtoStartupTime) {
|
||||
|
||||
}
|
||||
}
|
||||
BigDecimal decimal = BigDecimal.ZERO;
|
||||
// LocalDateTime start = timeSegment.getStart();
|
||||
// LocalDateTime end = timeSegment.getEnd();
|
||||
// LocalTime orderStartupTime = LocalTime.of(start.getHour(), start.getMinute(), start.getSecond());
|
||||
// LocalTime orderEndTime = LocalTime.of(end.getHour(), end.getMinute(), end.getSecond());
|
||||
// boolean checkedStart = false;
|
||||
// List<ResFeignEbikeSysRcostsetTimePeriodDto> ebikeSysRcostsetTimePeriodDtos = feignEbikeSysRcostsetDto.getEbikeSysRcostsetTimePeriodDtos();
|
||||
// //收集订单所满足计费条件的所有时段费用
|
||||
// for (ResFeignEbikeSysRcostsetTimePeriodDto timePeriodDto : ebikeSysRcostsetTimePeriodDtos) {
|
||||
// LocalTime timePeriodDtoStartupTime = timePeriodDto.getStartupTime();
|
||||
// LocalTime timePeriodDtoEndTime = timePeriodDto.getEndTime();
|
||||
// boolean createBeforeTimePeriodDtoEndTime = orderStartupTime.isBefore(timePeriodDtoEndTime);
|
||||
// boolean createAfterTimePeriodDtoStartupTime = orderEndTime.isAfter(timePeriodDtoStartupTime);
|
||||
// //满足计费条件,进行计费
|
||||
// if (createBeforeTimePeriodDtoEndTime && createAfterTimePeriodDtoStartupTime) {
|
||||
// //起点在高峰内
|
||||
// boolean after = orderStartupTime.isAfter(timePeriodDtoStartupTime);
|
||||
// boolean before = orderEndTime.isBefore(timePeriodDtoEndTime);
|
||||
// if (after) {
|
||||
// //添加起步费用
|
||||
// BigDecimal startupCost = timePeriodDto.getStartupCost();
|
||||
// Integer startupDuration = timePeriodDto.getStartupDuration();
|
||||
// decimal = decimal.add(startupCost);
|
||||
// long minutes = TimeUtils.betweenMinutes(orderStartupTime, orderEndTime);
|
||||
// BigDecimal minutesNew = new BigDecimal(minutes);
|
||||
// if (minutes > startupDuration) {
|
||||
// BigDecimal startupDurationNew = new BigDecimal(startupDuration);
|
||||
// BigDecimal subtract = minutesNew.subtract(startupDurationNew);
|
||||
// //结束点在高峰内
|
||||
// if (before) {
|
||||
// BigDecimal durationCost = timePeriodDto.getDurationCost();
|
||||
// Integer duration = timePeriodDto.getDuration();
|
||||
// int ceil = NumberUtils.divideAndCeil(duration, subtract.intValue());
|
||||
// BigDecimal ceilCost = BigDecimal.valueOf(ceil);
|
||||
// //最终值
|
||||
// BigDecimal multiply = durationCost.multiply(ceilCost);
|
||||
// decimal = decimal.add(multiply);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// }
|
||||
//计算常规费用
|
||||
return decimal;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user