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

修改租车触发预约代码

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