Commit 07d13a0d authored by 周健威's avatar 周健威

Merge remote-tracking branch 'origin/master-modify-cutAmount' into master-modify-cutAmount

parents a996fcb7 ffb06859
......@@ -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,16 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
}
if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getViolateDetail())) {
JSONArray jsonArray = JSONArray.parseArray(orderVehicleCrosstownDto.getDedDetail());
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString());
if (jsonObject != null) {
cost += Double.parseDouble(jsonObject.getString("cost"));
}
}
}
orderVehicleCrosstownDto.getViolateDetail();
BigDecimal amount = new BigDecimal(cost.toString()).divide(new BigDecimal("1"), 2, BigDecimal.ROUND_UP);
//出车成功后修改订单状态
List<OrderVehicleCrosstownDto> oldValue = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
......
......@@ -182,7 +182,7 @@
and b.user_id = #{userId}
</if>
<if test="status != null and status == -1">
AND b.status in (6,-1)
AND b.status = -1
and b.refund_status in (0,2)
</if>
<if test="status != null and status != -1">
......
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