Commit 9bdef9e8 authored by jiaorz's avatar jiaorz

修改提前还车逻辑

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