Commit 9bdef9e8 authored by jiaorz's avatar jiaorz

修改提前还车逻辑

parent 51877012
...@@ -6,7 +6,8 @@ import java.util.Map; ...@@ -6,7 +6,8 @@ import java.util.Map;
public enum OrderViolateEnum { public enum OrderViolateEnum {
BEFORE(1, "提前"), BEFORE(1, "提前"),
AFTER(2, "延期") AFTER(2, "延期"),
EXCESS(3, "消费超额金")
; ;
/** /**
* 编码 * 编码
......
...@@ -27,7 +27,7 @@ public class DedDetailDTO { ...@@ -27,7 +27,7 @@ public class DedDetailDTO {
//作为:DedDetail :2、车辆损坏 3、其他 //作为:DedDetail :2、车辆损坏 3、其他
//作为:violate_amount_detail 1--提前还车 2--延期还车 //作为:violate_amount_detail 1--提前还车 2--延期还车 3--消费超额
Integer type; Integer type;
//小雨都不知道什么东西 //小雨都不知道什么东西
......
...@@ -36,7 +36,8 @@ public class OrderPageVO extends BaseOrder { ...@@ -36,7 +36,8 @@ public class OrderPageVO extends BaseOrder {
//订单违约金 //订单违约金
private DedDetailDTO dedDetailDTO; private DedDetailDTO dedDetailDTO;
//订单消费超额金
private DedDetailDTO excessDedDetailDTO;
/** /**
* 車輛編碼 * 車輛編碼
*/ */
......
...@@ -256,7 +256,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -256,7 +256,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
} }
if (orderPageVO.getOrderRentVehicleDetail().getEndTime() > nowTime.getMillis()) { if (orderPageVO.getOrderRentVehicleDetail().getEndTime() > nowTime.getMillis()) {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("实际消费超额");
//提前的天数, 当天就算使用一天 //提前的天数, 当天就算使用一天
int noUsedDay = getDaysBetweenDateTime(nowTime, endTime) - 1; int noUsedDay = getDaysBetweenDateTime(nowTime, endTime) - 1;
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元 //退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
...@@ -265,8 +264,12 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -265,8 +264,12 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
inProgressVO.setExtraAmount(new BigDecimal(200)); inProgressVO.setExtraAmount(new BigDecimal(200));
//InProgressVO inProgressVO = orderCalculateBiz.inProgressCalculate(orderPageVO, actualDay - noUsedDay); //InProgressVO inProgressVO = orderCalculateBiz.inProgressCalculate(orderPageVO, actualDay - noUsedDay);
if (inProgressVO != null) { if (inProgressVO != null) {
stringBuilder.append(inProgressVO.getExtraAmount()); //消费超额金
stringBuilder.append("元 + "); if(inProgressVO.getExtraAmount() != null) {
DedDetailDTO excessDedDetailDTO = new DedDetailDTO();
initDedDetail(excessDedDetailDTO, OrderViolateEnum.EXCESS.getCode(), inProgressVO.getExtraAmount(), stringBuilder);
orderPageVO.setExcessDedDetailDTO(excessDedDetailDTO);
}
stringBuilder.append("违约金( ¥"); stringBuilder.append("违约金( ¥");
stringBuilder.append(amount); stringBuilder.append(amount);
stringBuilder.append(" x "); stringBuilder.append(" x ");
...@@ -279,9 +282,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -279,9 +282,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
//延期还车,结束时间小于当前时间 //延期还车,结束时间小于当前时间
} else if (orderPageVO.getOrderRentVehicleDetail().getEndTime() < nowTime.getMillis()) { } else if (orderPageVO.getOrderRentVehicleDetail().getEndTime() < nowTime.getMillis()) {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("实际消费超额");
stringBuilder.append(0);
stringBuilder.append("元 + ");
stringBuilder.append("违约金( ¥"); stringBuilder.append("违约金( ¥");
//延期的天数, 延期违约金是延期天数*200% //延期的天数, 延期违约金是延期天数*200%
int usedDay = getDaysBetweenDateTime(endTime, nowTime); int usedDay = getDaysBetweenDateTime(endTime, nowTime);
...@@ -306,6 +306,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -306,6 +306,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
} else if (type == OrderViolateEnum.AFTER.getCode()) { } else if (type == OrderViolateEnum.AFTER.getCode()) {
dedDetailDTO.setType(OrderViolateEnum.AFTER.getCode()); dedDetailDTO.setType(OrderViolateEnum.AFTER.getCode());
detailName = "延期还车违约金"; detailName = "延期还车违约金";
} else if (type == OrderViolateEnum.EXCESS.getCode()) {
dedDetailDTO.setType(OrderViolateEnum.EXCESS.getCode());
detailName = "消费超额金";
} }
//900元+违约金(¥900x2天=)1800元 //900元+违约金(¥900x2天=)1800元
dedDetailDTO.setDeductions(stringBuilder.toString()); dedDetailDTO.setDeductions(stringBuilder.toString());
......
...@@ -256,6 +256,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -256,6 +256,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} }
} }
} }
orderVehicleCrosstownDto.getViolateDetail();
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);
......
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