Commit bc319b69 authored by 周健威's avatar 周健威

Merge branch 'master-modify-cutAmount' into dev

parents a4ed04cc 3aa3ae66
...@@ -276,14 +276,14 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -276,14 +276,14 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} }
} }
} }
orderVehicleCrosstownDto.getViolateDetail();
orderVehicleCrosstownDto.setUserLicenseImg(orderVehicleCrosstownDto.getLicenseImg()); orderVehicleCrosstownDto.setUserLicenseImg(orderVehicleCrosstownDto.getLicenseImg());
//扣除费用,每次都是重新计算
BigDecimal amount = new BigDecimal(cost.toString()).divide(new BigDecimal("1"), 2, BigDecimal.ROUND_UP); BigDecimal amount = new BigDecimal(cost.toString()).divide(new BigDecimal("1"), 2, BigDecimal.ROUND_UP);
//出车成功后修改订单状态 //出车成功后修改订单状态
List<OrderVehicleCrosstownDto> oldValue = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> oldValue = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
orderVehicleCrosstownDto.setUserLicenseImg(orderVehicleCrosstownDto.getLicenseImg()); orderVehicleCrosstownDto.setUserLicenseImg(orderVehicleCrosstownDto.getLicenseImg());
if (oldValue.size() == 1) { if (oldValue.size() == 1) {
orderVehicleCrosstownDto.setDeductionCost(oldValue.get(0).getDeductionCost().add(amount)); orderVehicleCrosstownDto.setDeductionCost(amount);
//扣除费用 //扣除费用
orderVehicleCrosstownDto.setRestDeposit(orderRentVehicleDetail.getDeposit().subtract(orderVehicleCrosstownDto.getDeductionCost())); orderVehicleCrosstownDto.setRestDeposit(orderRentVehicleDetail.getDeposit().subtract(orderVehicleCrosstownDto.getDeductionCost()));
if (orderVehicleCrosstownDto.getRestDeposit().compareTo(getAmount()) == -1) { //剩余金额小于保证金 if (orderVehicleCrosstownDto.getRestDeposit().compareTo(getAmount()) == -1) { //剩余金额小于保证金
......
...@@ -62,13 +62,11 @@ public class OrderCalculateBiz { ...@@ -62,13 +62,11 @@ public class OrderCalculateBiz {
BigDecimal refundAmount = BigDecimal.ZERO; BigDecimal refundAmount = BigDecimal.ZERO;
BigDecimal consumeAmount = BigDecimal.ZERO; BigDecimal consumeAmount = BigDecimal.ZERO;
//其他消费金额 //其他消费金额
BigDecimal otherItemRealAmount = baseOrder.getGoodsAmount().subtract(orderItem.getRealAmount()); BigDecimal otherItemRealAmount = baseOrder.getGoodsAmount().subtract(orderItem.getRealAmount().add(orderItem.getCouponAmount()));
InProgressVO inProgressVO = new InProgressVO(); InProgressVO inProgressVO = new InProgressVO();
inProgressVO.setUsedDays(useDays); inProgressVO.setUsedDays(useDays);
inProgressVO.setUsedfreeDays(freeDays);
inProgressVO.setUsedAmount(orderItem.getUnitPrice().multiply(new BigDecimal(useDays+ ""))); inProgressVO.setUsedAmount(orderItem.getUnitPrice().multiply(new BigDecimal(useDays+ "")));
inProgressVO.setUsedFreeDaysAmount(orderItem.getUnitPrice().multiply(new BigDecimal(freeDays+ "")));
//计算:剩余免费天数 //计算:剩余免费天数
Integer backFreeDays = freeDays - useDays; Integer backFreeDays = freeDays - useDays;
...@@ -78,6 +76,10 @@ public class OrderCalculateBiz { ...@@ -78,6 +76,10 @@ public class OrderCalculateBiz {
Integer residueDays = orderItem.getTotalNum() - useDays; Integer residueDays = orderItem.getTotalNum() - useDays;
//过了出发时间取消订单 ,优先使用免费天数 //过了出发时间取消订单 ,优先使用免费天数
if(backFreeDays <= 0) { if(backFreeDays <= 0) {
//设置免费天数
inProgressVO.setUsedfreeDays(freeDays);
inProgressVO.setUsedFreeDaysAmount(orderItem.getUnitPrice().multiply(new BigDecimal(freeDays+ "")));
//消费天数 //消费天数
Integer consumeDays = useDays - freeDays; Integer consumeDays = useDays - freeDays;
//如果使用天数 大于 总天数 //如果使用天数 大于 总天数
...@@ -126,6 +128,10 @@ public class OrderCalculateBiz { ...@@ -126,6 +128,10 @@ public class OrderCalculateBiz {
inProgressVO.setExtraAmount(consumeAmount.subtract(baseOrder.getGoodsAmount())); inProgressVO.setExtraAmount(consumeAmount.subtract(baseOrder.getGoodsAmount()));
} }
}else { }else {
//设置免费天数
inProgressVO.setUsedfreeDays(useDays);
inProgressVO.setUsedFreeDaysAmount(orderItem.getUnitPrice().multiply(new BigDecimal(useDays+ "")));
//返回剩余免费天数,返回优惠券,订单款 //返回剩余免费天数,返回优惠券,订单款
refundAmount = refundAmount.add(baseOrder.getGoodsAmount()); refundAmount = refundAmount.add(baseOrder.getGoodsAmount());
inProgressVO.setBackFreeDays(backFreeDays); inProgressVO.setBackFreeDays(backFreeDays);
......
...@@ -327,7 +327,7 @@ public class VehicleActiveService { ...@@ -327,7 +327,7 @@ public class VehicleActiveService {
while (iterator.hasNext()) { while (iterator.hasNext()) {
VehicleBookRecordVo vehicleBookRecordVo = iterator.next(); VehicleBookRecordVo vehicleBookRecordVo = iterator.next();
//未出车且超过出车时间和已出车的和本条记录过滤,剩下为正常未出车记录 //未出车且超过出车时间和已出车的和本条记录过滤,剩下为正常未出车记录
if ((arrivalVo.getBookRecordId() <= vehicleBookRecordVo.getId()) || (vehicleBookRecordVo.getVehicleDepartureLogVo() == null && vehicleBookRecordVo.getBookEndDate().getTime() - new Date().getTime() < 0) || (vehicleBookRecordVo.getVehicleDepartureLogVo() != null)) { if ((arrivalVo.getBookRecordId().equals(vehicleBookRecordVo.getId())) || ((vehicleBookRecordVo.getBookStartDate().getTime() - vehicleBookRecord.getBookEndDate().getTime() > 0))) {
iterator.remove(); iterator.remove();
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment