Commit 02b730c0 authored by 周健威's avatar 周健威

修改租车触发预约代码

parent e227f134
...@@ -316,7 +316,7 @@ public class BackStageOrderController extends CommonBaseController implements Us ...@@ -316,7 +316,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
}}).getDetail()), OrderAccompanyDTO.class); }}).getDetail()), OrderAccompanyDTO.class);
bo.setAccompanyItems(oads); bo.setAccompanyItems(oads);
Long oldBookRecordId = bo.getBookRecordId(); Long oldBookRecordId = bo.getBookRecordId();
orderRentVehicleService.acquireVehicle(bo); orderRentVehicleService.acquireVehicle(bo, dto.getNumberPlate());
//如果成功则取消旧车的预约 //如果成功则取消旧车的预约
vehicleFeign.rentUnbookVehicle(oldBookRecordId); vehicleFeign.rentUnbookVehicle(oldBookRecordId);
//设置新的vehicleId 和 record //设置新的vehicleId 和 record
......
...@@ -188,7 +188,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -188,7 +188,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
bo.setAccompanyItems(oads); bo.setAccompanyItems(oads);
//获取可用车辆 //获取可用车辆
acquireVehicle(bo); acquireVehicle(bo, null);
OrderItem accompanyItem = orderItemBiz.initOrderItem(BigDecimal.ZERO, 1, "随车物品", null, ACCOMPANY); OrderItem accompanyItem = orderItemBiz.initOrderItem(BigDecimal.ZERO, 1, "随车物品", null, ACCOMPANY);
accompanyItem.setRealAmount(BigDecimal.ZERO); accompanyItem.setRealAmount(BigDecimal.ZERO);
...@@ -412,7 +412,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -412,7 +412,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
vo.setCostDetail(result); vo.setCostDetail(result);
} }
public void acquireVehicle(RentVehicleBO detail) { public void acquireVehicle(RentVehicleBO detail, String numberPlate) {
//根据车型、时间、距离,门店,预定车辆 //根据车型、时间、距离,门店,预定车辆
RentVehicleBookDTO rentVehicleBookDTO = BeanUtil.toBean(detail.getBookVehicleVO(), RentVehicleBookDTO.class); RentVehicleBookDTO rentVehicleBookDTO = BeanUtil.toBean(detail.getBookVehicleVO(), RentVehicleBookDTO.class);
rentVehicleBookDTO.setModelId(detail.getModelId()); rentVehicleBookDTO.setModelId(detail.getModelId());
...@@ -420,7 +420,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -420,7 +420,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rentVehicleBookDTO.setLiftCompany(detail.getStartCompanyId()); rentVehicleBookDTO.setLiftCompany(detail.getStartCompanyId());
rentVehicleBookDTO.setLiftAddr(detail.getStartAddr()); rentVehicleBookDTO.setLiftAddr(detail.getStartAddr());
rentVehicleBookDTO.setRetCompany(detail.getEndCompanyId()); rentVehicleBookDTO.setRetCompany(detail.getEndCompanyId());
// rentVehicleBookDTO.setOrderNo(detail.getO); rentVehicleBookDTO.setOrderNo(detail.getOrder().getNo());
rentVehicleBookDTO.setNumberPlate(numberPlate);
if(null != detail.getAccompanyItems()) { if(null != detail.getAccompanyItems()) {
rentVehicleBookDTO.setSelectedAccItem(detail.getAccompanyItems().parallelStream().collect(Collectors.toMap(OrderAccompanyDTO::getId, OrderAccompanyDTO::getNum))); rentVehicleBookDTO.setSelectedAccItem(detail.getAccompanyItems().parallelStream().collect(Collectors.toMap(OrderAccompanyDTO::getId, OrderAccompanyDTO::getNum)));
} }
......
...@@ -60,6 +60,9 @@ public class RentVehicleBookDTO extends PageParam { ...@@ -60,6 +60,9 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty("停靠公司id") @ApiModelProperty("停靠公司id")
Integer parkBranchCompanyId; Integer parkBranchCompanyId;
@ApiModelProperty("指定车牌")
String numberPlate;
/** /**
* 随车物品id以及数量 List<Map<id,数量>> * 随车物品id以及数量 List<Map<id,数量>>
*/ */
......
...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.rest; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface; import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
...@@ -32,8 +33,7 @@ import java.time.ZoneOffset; ...@@ -32,8 +33,7 @@ import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.HashSet; import java.util.HashSet;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.DATE_TIME_LINE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.*;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.xxfc.platform.vehicle.constant.VehicleConstant.USER_APP; import static com.xxfc.platform.vehicle.constant.VehicleConstant.USER_APP;
import static com.xxfc.platform.vehicle.constant.VehicleConstant.USER_APP_NAME; import static com.xxfc.platform.vehicle.constant.VehicleConstant.USER_APP_NAME;
...@@ -152,15 +152,25 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements ...@@ -152,15 +152,25 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
//默认USER_APP 预约 //默认USER_APP 预约
Integer operatorId = USER_APP; Integer operatorId = USER_APP;
String userName = dto.getUserName(); String userName = dto.getUserName();
dto.setLimit(1); String bookVehicleId;
dto.setPage(1); if(StrUtil.isNotBlank(dto.getNumberPlate())) {
dto.setParkBranchCompanyId(dto.getLiftCompany()); Vehicle vehicle = vehicleBiz.selectOne(new Vehicle(){{
//查询可车辆信息 setNumberPlate(dto.getNumberPlate());
PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto); setIsDel(SYS_FALSE);
if (pageDataVO.getData().size() <= 0) {
throw new BaseException(ResultCode.NOTEXIST_CODE, new HashSet<String>(){{
add("可用车辆不存在");
}}); }});
bookVehicleId = vehicle.getId();
}else {
dto.setLimit(1);
dto.setPage(1);
dto.setParkBranchCompanyId(dto.getLiftCompany());
//查询可车辆信息
PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto);
if (pageDataVO.getData().size() <= 0) {
throw new BaseException(ResultCode.NOTEXIST_CODE, new HashSet<String>(){{
add("可用车辆不存在");
}});
}
bookVehicleId = pageDataVO.getData().get(0).getId();
} }
//判断是否为今天,如果是则设置为一分钟后开始 //判断是否为今天,如果是则设置为一分钟后开始
if(DateUtil.today().equals(dto.getBookStartDate())) { if(DateUtil.today().equals(dto.getBookStartDate())) {
...@@ -172,7 +182,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements ...@@ -172,7 +182,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
dto.setBookEndDate(dto.getBookEndDate()+ " 23:59:59"); dto.setBookEndDate(dto.getBookEndDate()+ " 23:59:59");
BookVehicleVO bookVehicleVo = BeanUtil.toBean(dto, BookVehicleVO.class); BookVehicleVO bookVehicleVo = BeanUtil.toBean(dto, BookVehicleVO.class);
bookVehicleVo.setBookType(BookType.USER_RENT.getCode()); bookVehicleVo.setBookType(BookType.USER_RENT.getCode());
bookVehicleVo.setVehicleId(pageDataVO.getData().get(0).getId()); bookVehicleVo.setVehicleId(bookVehicleId);
bookVehicleVo.setStatus(VehicleBookRecordStatus.APPLY.getCode()); bookVehicleVo.setStatus(VehicleBookRecordStatus.APPLY.getCode());
VehicleBookRecord vehicleBookRecord = baseBiz.applyVehicle(operatorId, bookVehicleVo, userName); VehicleBookRecord vehicleBookRecord = baseBiz.applyVehicle(operatorId, bookVehicleVo, userName);
return ObjectRestResponse.succ(vehicleBookRecord); return ObjectRestResponse.succ(vehicleBookRecord);
......
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