Commit 089bf7b1 authored by jiaorz's avatar jiaorz

修改提前还车逻辑

parent aaf4b606
...@@ -272,7 +272,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -272,7 +272,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if (oldValue.size() == 1) { if (oldValue.size() == 1) {
BeanUtil.copyProperties(orderVehicleCrosstownDto, oldValue.get(0), CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true)); BeanUtil.copyProperties(orderVehicleCrosstownDto, oldValue.get(0), CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
getOrderLicense(orderVehicleCrosstownDto); getOrderLicense(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, oldValue.get(0)); handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstownDto);
updateSelectiveByIdRe(oldValue.get(0)); updateSelectiveByIdRe(oldValue.get(0));
RestResponse<Vehicle> response = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId()); RestResponse<Vehicle> response = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if (response.getData() != null) { if (response.getData() != null) {
...@@ -343,13 +343,21 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -343,13 +343,21 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
BigDecimal cost = amount.multiply(new BigDecimal(usedDay)).multiply(new BigDecimal(2)); BigDecimal cost = amount.multiply(new BigDecimal(usedDay)).multiply(new BigDecimal(2));
updateCrossRefund(orderVehicleCrosstown, cost, OrderViolateEnum.AFTER.getCode()); updateCrossRefund(orderVehicleCrosstown, cost, OrderViolateEnum.AFTER.getCode());
} }
}
if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车 if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车
//添加非定损记录 //添加非定损记录
Integer orderId = baseOrder.getId();
List<OrderVehicleCrosstownDto> list = orderVehicleCrosstownBiz.selectByOrderId(new OrderVehicleCrosstownDto(){{
setOrderId(orderId);
setType(CrosstownTypeEnum.ARRIVE.getCode());
}});
if(list != null && list.size() > 0) {
OrderVehicleCrosstownDto orderVehicleCrosstownDto = list.get(0);
OrderVehicleCrosstown orderVehicleCrosstown1 = new OrderVehicleCrosstown();
BeanUtil.copyProperties(orderVehicleCrosstownDto, orderVehicleCrosstown1, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
DepositRefundRecord depositRefundRecord = new DepositRefundRecord(); DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost()); depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
depositRefundRecord.setRestAmount(totalAmount.subtract(getAmount()).subtract(orderVehicleCrosstown.getDeductionCost())); depositRefundRecord.setRestAmount(totalAmount.subtract(getAmount()).subtract(orderVehicleCrosstown1.getDeductionCost()));
depositRefundRecord.setTotalAmount(totalAmount.subtract(getAmount())); depositRefundRecord.setTotalAmount(totalAmount.subtract(getAmount()));
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId()); depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord); orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord);
...@@ -360,6 +368,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -360,6 +368,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderRentVehicleDetail.setFixedLossStatus(0); orderRentVehicleDetail.setFixedLossStatus(0);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
}
} else if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.FIXED_LOSS.getCode()) { //定损还车,添加定损记录 } else if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.FIXED_LOSS.getCode()) { //定损还车,添加定损记录
//添加定损记录 //添加定损记录
DepositRefundRecord depositRefundRecord = new DepositRefundRecord(); DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
...@@ -373,6 +382,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -373,6 +382,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
baseOrderBiz.updateSelectiveByIdReT(baseOrder); baseOrderBiz.updateSelectiveByIdReT(baseOrder);
orderRentVehicleDetail.setFixedLossStatus(1); orderRentVehicleDetail.setFixedLossStatus(1);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
}
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车 } else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车
DepositRefundRecord depositRefundRecord = orderDepositRefundRecordBiz.findByCrossIdAndStatus(orderVehicleCrosstown.getId(), DepositRefundStatus.FIXLOSSREFUND.getCode()); DepositRefundRecord depositRefundRecord = orderDepositRefundRecordBiz.findByCrossIdAndStatus(orderVehicleCrosstown.getId(), DepositRefundStatus.FIXLOSSREFUND.getCode());
if (depositRefundRecord != null) { if (depositRefundRecord != null) {
...@@ -401,6 +411,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -401,6 +411,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} }
} }
public void updateCrossRefund(OrderVehicleCrosstown orderVehicleCrosstown, BigDecimal cost, Integer type) { public void updateCrossRefund(OrderVehicleCrosstown orderVehicleCrosstown, BigDecimal cost, Integer type) {
DedDetailDTO dedDetailDTO = new DedDetailDTO(); DedDetailDTO dedDetailDTO = new DedDetailDTO();
String detailName = null; String detailName = null;
......
...@@ -59,7 +59,6 @@ public class VehicleActiveService { ...@@ -59,7 +59,6 @@ public class VehicleActiveService {
* @param departureVo * @param departureVo
*/ */
public void departure(VehicleDepartureVo departureVo) { public void departure(VehicleDepartureVo departureVo) {
try {
Vehicle vehicle = vehicleMapper.selectByPrimaryKey(departureVo.getVehicleId()); Vehicle vehicle = vehicleMapper.selectByPrimaryKey(departureVo.getVehicleId());
if (vehicle == null) { if (vehicle == null) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
...@@ -133,6 +132,7 @@ public class VehicleActiveService { ...@@ -133,6 +132,7 @@ public class VehicleActiveService {
departureLog.setUserTel(vehicleBookRecord.getVehicleUserPhone()); departureLog.setUserTel(vehicleBookRecord.getVehicleUserPhone());
} }
vehicleDepartureLogMapper.insert(departureLog); vehicleDepartureLogMapper.insert(departureLog);
log.info("出车成功: 出车记录 = {}, ", departureLog.toString());
} }
...@@ -147,10 +147,6 @@ public class VehicleActiveService { ...@@ -147,10 +147,6 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(), throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode()); ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
} }
} catch (Exception e) {
e.printStackTrace();
}
} }
...@@ -192,7 +188,6 @@ public class VehicleActiveService { ...@@ -192,7 +188,6 @@ public class VehicleActiveService {
} }
public void arrival(VehicleArrivalVo arrivalVo) { public void arrival(VehicleArrivalVo arrivalVo) {
try {
Vehicle vehicle = vehicleMapper.selectByPrimaryKey(arrivalVo.getVehicleId()); Vehicle vehicle = vehicleMapper.selectByPrimaryKey(arrivalVo.getVehicleId());
if (vehicle == null) { if (vehicle == null) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
...@@ -248,10 +243,6 @@ public class VehicleActiveService { ...@@ -248,10 +243,6 @@ public class VehicleActiveService {
} }
if(flag) { //如果此条记录后面还有未收车记录,就不修改车辆状态 if(flag) { //如果此条记录后面还有未收车记录,就不修改车辆状态
int result = vehicleMapper.updateStatus(arrivalVo.getVehicleId(), VehicleStatus.NORMAL.getCode()); int result = vehicleMapper.updateStatus(arrivalVo.getVehicleId(), VehicleStatus.NORMAL.getCode());
// if (result == 0) {
// throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
// ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
// }
} }
DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate()); DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate());
...@@ -298,30 +289,11 @@ public class VehicleActiveService { ...@@ -298,30 +289,11 @@ public class VehicleActiveService {
activeLog.setEndTime(new Date()); activeLog.setEndTime(new Date());
activeLog.setUpdateTime(new Date()); activeLog.setUpdateTime(new Date());
vehicleActiveLogMapper.updateByPrimaryKeySelective(activeLog); vehicleActiveLogMapper.updateByPrimaryKeySelective(activeLog);
log.info("收车成功: 收车记录 = {}, ", departureLog.toString());
//取消预定时间 bookInfo和bookRecord
// BookVehicleVO bookVehicleVo = new BookVehicleVO();
// BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo);
// bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
// bookVehicleVo.setBookStartDate(null);
// bookVehicleVo.setBookEndDate(null);
// bookVehicleVo.setUnbookStartDate(new DateTime(vehicleBookRecord.getBookStartDate()).toString(DATE_TIME_FORMATTER));
// bookVehicleVo.setUnbookEndDate(new DateTime(vehicleBookRecord.getBookEndDate()).toString(DATE_TIME_FORMATTER));
// try {
// Boolean hasSuc = vehicleBiz.unbookVehicle(bookVehicleVo);
// if(!hasSuc){
// throw new BaseException(ResCode.VEHICLE_UNBOOK_FAIL.getDesc(), ResCode.VEHICLE_UNBOOK_FAIL.getCode());
// }
// } catch ( Exception e) {
// e.printStackTrace();
// }
} else { } else {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(), throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode()); ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
} }
} catch (Exception e) {
e.printStackTrace();
}
} }
//添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态 //添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
......
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