debug:智能订单未开始使用时的金额计算
This commit is contained in:
parent
23313ec463
commit
ecbe7038c6
|
@ -1404,6 +1404,10 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
|
||||||
|
|
||||||
// 计算智能计量使用金额
|
// 计算智能计量使用金额
|
||||||
private BigDecimal calcSmartCountAmount(TransactionBillVO order, BigDecimal totalEle) {
|
private BigDecimal calcSmartCountAmount(TransactionBillVO order, BigDecimal totalEle) {
|
||||||
|
// 若订单不存在,或者 订单开始电量为空,表示未开始使用,则直接返回0
|
||||||
|
if (order == null || order.getSuitStartEle() == null) {
|
||||||
|
return BigDecimal.ZERO;
|
||||||
|
}
|
||||||
BigDecimal startEle = order.getSuitStartEle();
|
BigDecimal startEle = order.getSuitStartEle();
|
||||||
BigDecimal usedEle = totalEle.subtract(startEle); // 已使用的电量
|
BigDecimal usedEle = totalEle.subtract(startEle); // 已使用的电量
|
||||||
BigDecimal suitEle = new BigDecimal(order.getSuitTime()); // 套餐每周期的电量
|
BigDecimal suitEle = new BigDecimal(order.getSuitTime()); // 套餐每周期的电量
|
||||||
|
@ -1419,11 +1423,11 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
|
||||||
|
|
||||||
// 计算智能时长的使用金额
|
// 计算智能时长的使用金额
|
||||||
private BigDecimal calcSmartTimeAmount(TransactionBillVO order, LocalDateTime endTime) {
|
private BigDecimal calcSmartTimeAmount(TransactionBillVO order, LocalDateTime endTime) {
|
||||||
LocalDateTime startTime = order.getSuitStartTime();
|
// 若订单不存在,或者 订单开始时间为空,表示未开始使用,则直接返回0
|
||||||
if (startTime == null) {
|
if (order == null || order.getSuitStartTime() == null) {
|
||||||
startTime = LocalDateTime.now();
|
return BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
Duration between = Duration.between(startTime, endTime);
|
Duration between = Duration.between(order.getSuitStartTime(), endTime);
|
||||||
|
|
||||||
SuitTimeUnit unit = SuitTimeUnit.getByValue(order.getSuitTimeUnit());
|
SuitTimeUnit unit = SuitTimeUnit.getByValue(order.getSuitTimeUnit());
|
||||||
ServiceUtil.assertion(unit == null, "订单套餐单位无效");
|
ServiceUtil.assertion(unit == null, "订单套餐单位无效");
|
||||||
|
@ -1473,7 +1477,11 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
|
||||||
|
|
||||||
// 计算分时段计时金额
|
// 计算分时段计时金额
|
||||||
private BigDecimal calcTimingTimeAmount(TransactionBillVO order, LocalDateTime endTime) {
|
private BigDecimal calcTimingTimeAmount(TransactionBillVO order, LocalDateTime endTime) {
|
||||||
LocalDateTime startTime = order.getSuitStartTime() == null ? LocalDateTime.now() : order.getSuitStartTime();
|
// 订单不存在 或者 开始时间为空,则表示未开始使用,返回0
|
||||||
|
if (order == null || order.getSuitStartTime() == null) {
|
||||||
|
return BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
LocalDateTime startTime = order.getSuitStartTime();
|
||||||
List<BigDecimal> suitGearAmount = order.getSuitGearAmount();
|
List<BigDecimal> suitGearAmount = order.getSuitGearAmount();
|
||||||
List<Integer> suitGearTime = order.getSuitGearTime();
|
List<Integer> suitGearTime = order.getSuitGearTime();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user