计费规则部分代码注释:待讨论
This commit is contained in:
parent
5fa9515ed9
commit
50ccd8641d
@ -313,7 +313,7 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RspOrderDetailsInfo orderDetailsInfo(Long orderId) {
|
public RspOrderDetailsInfo orderDetailsInfo(Long orderId) {
|
||||||
return this.mapper.selectOneWithRelationsByIdAs(orderId,RspOrderDetailsInfo.class);
|
return this.mapper.selectOneWithRelationsByIdAs(orderId, RspOrderDetailsInfo.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -418,23 +418,49 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
|
|||||||
* @return 当前时间段收取金额
|
* @return 当前时间段收取金额
|
||||||
*/
|
*/
|
||||||
BigDecimal timeFee(TimeSegment timeSegment, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto, List<EbikeOrderDetails> list, long orderId) {
|
BigDecimal timeFee(TimeSegment timeSegment, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto, List<EbikeOrderDetails> list, long orderId) {
|
||||||
BigDecimal decimal = new BigDecimal(0);
|
BigDecimal decimal = BigDecimal.ZERO;
|
||||||
LocalDateTime start = timeSegment.getStart();
|
// LocalDateTime start = timeSegment.getStart();
|
||||||
LocalDateTime end = timeSegment.getEnd();
|
// LocalDateTime end = timeSegment.getEnd();
|
||||||
LocalTime orderStartupTime = LocalTime.of(start.getHour(), start.getMinute(), start.getSecond());
|
// LocalTime orderStartupTime = LocalTime.of(start.getHour(), start.getMinute(), start.getSecond());
|
||||||
LocalTime orderEndTime = LocalTime.of(end.getHour(), end.getMinute(), end.getSecond());
|
// LocalTime orderEndTime = LocalTime.of(end.getHour(), end.getMinute(), end.getSecond());
|
||||||
List<ResFeignEbikeSysRcostsetTimePeriodDto> ebikeSysRcostsetTimePeriodDtos = feignEbikeSysRcostsetDto.getEbikeSysRcostsetTimePeriodDtos();
|
// boolean checkedStart = false;
|
||||||
//收集订单所满足计费条件的所有时段费用
|
// List<ResFeignEbikeSysRcostsetTimePeriodDto> ebikeSysRcostsetTimePeriodDtos = feignEbikeSysRcostsetDto.getEbikeSysRcostsetTimePeriodDtos();
|
||||||
for (ResFeignEbikeSysRcostsetTimePeriodDto timePeriodDto : ebikeSysRcostsetTimePeriodDtos) {
|
// //收集订单所满足计费条件的所有时段费用
|
||||||
LocalTime timePeriodDtoStartupTime = timePeriodDto.getStartupTime();
|
// for (ResFeignEbikeSysRcostsetTimePeriodDto timePeriodDto : ebikeSysRcostsetTimePeriodDtos) {
|
||||||
LocalTime timePeriodDtoEndTime = timePeriodDto.getEndTime();
|
// LocalTime timePeriodDtoStartupTime = timePeriodDto.getStartupTime();
|
||||||
boolean createBeforeTimePeriodDtoEndTime = orderStartupTime.isBefore(timePeriodDtoEndTime);
|
// LocalTime timePeriodDtoEndTime = timePeriodDto.getEndTime();
|
||||||
boolean createAfterTimePeriodDtoStartupTime = orderEndTime.isAfter(timePeriodDtoStartupTime);
|
// boolean createBeforeTimePeriodDtoEndTime = orderStartupTime.isBefore(timePeriodDtoEndTime);
|
||||||
//满足计费条件,进行计费
|
// boolean createAfterTimePeriodDtoStartupTime = orderEndTime.isAfter(timePeriodDtoStartupTime);
|
||||||
if (createBeforeTimePeriodDtoEndTime && createAfterTimePeriodDtoStartupTime) {
|
// //满足计费条件,进行计费
|
||||||
|
// 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;
|
return decimal;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user