Commit 707879fe authored by 周健威's avatar 周健威

修改流程

parent 421b2809
......@@ -154,6 +154,13 @@ public class SpecialRentBiz extends BaseBiz<SpecialRentMapper, SpecialRent> {
specialRent.setUpdUser(userDTO.getId().toString());
specialRent.setStatus(STATUS_CRT);
Long delayTime = handleRent(specialRent, vehicle);
insertSelective(specialRent);
// rabbitProduct.sendApplyRequireDelayMessage(baseBiz.selectById(shuntApply.getId()), delayTime);
rabbitProduct.sendSpecialDelayMessage(selectById(specialRent.getId()), delayTime);
}
public Long handleRent(@RequestBody SpecialRent specialRent, VehicleVO vehicle) {
RentVehicleBO detail = new RentVehicleBO();
detail.setStartTime(specialRent.getStartTime());
detail.setEndTime(specialRent.getEndTime());
......@@ -188,8 +195,6 @@ public class SpecialRentBiz extends BaseBiz<SpecialRentMapper, SpecialRent> {
Date endDateTime = DateUtil.date(specialRent.getEndTime());
Long delayTime = DateUtil.offsetHour(endDateTime, -1).getTime() - DateUtil.date().getTime();
specialRent.setOverTime(DateUtil.offsetHour(endDateTime, -1).getTime());
insertSelective(specialRent);
// rabbitProduct.sendApplyRequireDelayMessage(baseBiz.selectById(shuntApply.getId()), delayTime);
rabbitProduct.sendSpecialDelayMessage(selectById(specialRent.getId()), delayTime);
return delayTime;
}
}
\ No newline at end of file
......@@ -14,6 +14,7 @@ import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.mqhandler.RabbitProduct;
import com.xxfc.platform.order.pojo.account.OrderAccountDeduction;
import com.xxfc.platform.order.pojo.account.OrderAccountDetail;
import com.xxfc.platform.order.pojo.calculate.InProgressVO;
......@@ -28,6 +29,7 @@ import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.vo.VehicleVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -90,6 +92,9 @@ public class OrderCancelBiz {
@Autowired
SpecialRentBiz specialRentBiz;
@Autowired
RabbitProduct rabbitProduct;
@Autowired
UserFeign userFeign;
......@@ -366,9 +371,24 @@ public class OrderCancelBiz {
if(OrderStatusEnum.ORDER_CANCEL.getCode().equals(baseOrder.getStatus()) && SYS_TRUE.equals(baseOrder.getHasPay())){
vehicleFeign.rentUnbookVehicle(orvd.getBookRecordId());
//特惠租车 恢复排班记录
if (BaseOrder.ORDER_SIGN_SPECIAL == baseOrder.getOrderSign()) {
SpecialRent specialRent = specialRentBiz.selectOne(new SpecialRent(){{
setOrderNo(baseOrder.getNo());
}});
VehicleVO vehicle = vehicleFeign.getVehicleDetail(specialRent.getVehicleId()).getData();
Long delayTime = specialRentBiz.handleRent(specialRent, vehicle);
specialRent.setUpdTime(null);
specialRentBiz.updateSelectiveById(specialRent);
rabbitProduct.sendSpecialDelayMessage(specialRentBiz.selectById(specialRent.getId()), delayTime);
}
}else {
//未支付,拒绝之前的预约
RestResponse<Integer> restResponse = vehicleFeign.rentRejectVehicleBooking(orvd.getBookRecordId());
//非特惠租车 拒绝之前预约
if(BaseOrder.ORDER_SIGN_SPECIAL != baseOrder.getOrderSign()) {
//未支付,拒绝之前的预约
RestResponse<Integer> restResponse = vehicleFeign.rentRejectVehicleBooking(orvd.getBookRecordId());
}
}
//取消租车免费天数使用
......@@ -411,6 +431,7 @@ public class OrderCancelBiz {
if(null != specialRent ) {
Integer status = SpecialRent.STATUS_AUTOCNL_TOPAY;
if(SYS_TRUE.equals(baseOrder.getHasPay())) {
//
status = SpecialRent.STATUS_AUTOCNL_PAYED;
}
Integer finalStatus = status;
......
package com.xxfc.platform.order.rest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
......@@ -32,7 +33,7 @@ import org.springframework.web.bind.annotation.*;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.xxfc.platform.order.entity.SpecialRent.STATUS_CRT;
import static com.xxfc.platform.order.entity.SpecialRent.*;
@RestController
@RequestMapping("/chw/specialRent")
......@@ -115,7 +116,7 @@ public class SpecialRentController extends BaseController<SpecialRentBiz, Specia
}
Query query = new Query(dto);
PageDataVO<SpecialRentVO> pages = PageDataVO.pageInfo(query, () -> baseBiz.selectByWeekend(w -> {
w.andEqualTo(SpecialRent::getStatus, STATUS_CRT);
w.andIn(SpecialRent::getStatus, CollUtil.newArrayList(STATUS_CRT, STATUS_AUTOCNL_ORDER, STATUS_AUTOCNL_TOPAY, STATUS_AUTOCNL_PAYED));
return w;
}, " crt_time desc "), SpecialRentVO.class);
......@@ -170,10 +171,10 @@ public class SpecialRentController extends BaseController<SpecialRentBiz, Specia
throw new BaseException("该特惠租车已下单", ResultCode.PARAM_ILLEGAL_CODE);
}
//拒绝原来的预约
orderRentVehicleService.errorRejectVehicle(new RentVehicleBO(){{
setBookRecordId(specialRent.getBookRecordId());
}});
// //拒绝原来的预约
// orderRentVehicleService.errorRejectVehicle(new RentVehicleBO(){{
// setBookRecordId(specialRent.getBookRecordId());
// }});
//正式下单
dto.setVehicleId(specialRent.getVehicleId());
......@@ -182,7 +183,7 @@ public class SpecialRentController extends BaseController<SpecialRentBiz, Specia
RentVehicleBO bo = orderRentVehicleBiz.initRentVehicleBO(dto);
bo.setOrderSign(BaseOrder.ORDER_SIGN_SPECIAL);
bo.setAppUserDTO(getAppUser());
orderRentVehicleService.createOrder(bo);
orderRentVehicleService.specialCreateOrder(bo, specialRent.getOrderNo());
baseBiz.updateSelectiveById(new SpecialRent(){{
setId(specialRent.getId());
setStatus(SpecialRent.STATUS_ORDER);
......
......@@ -110,20 +110,20 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
handleDetail(detail);
}
// /**
// * 创建订单及其子项(特惠租车)
// * @param detail
// */
// public void specialCreateOrder(RentVehicleBO detail, String orderNo) {
// //初始化
// applyInitDetail(detail, orderNo);
// //计算价格
// handleCalculate(detail);
// //插入baseOrder
// baseOrderBiz.insertSelective(detail.getOrder());
// //处理detail
// handleDetail(detail);
// }
/**
* 创建订单及其子项(特惠租车)
* @param detail
*/
public void specialCreateOrder(RentVehicleBO detail, String orderNo) {
//初始化
specialInitDetail(detail, orderNo);
//计算价格
handleCalculate(detail);
//插入baseOrder
baseOrderBiz.insertSelective(detail.getOrder());
//处理detail
handleDetail(detail);
}
public void applyInitDetail(RentVehicleBO bo, String orderNo) {
BaseOrder order = createBaseOrder(bo.getOrderOrigin(), bo.getFacilitatePhone(), bo.getAppUserDTO(), orderNo);
......@@ -131,6 +131,12 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
initDetailSecond(bo);
}
public void specialInitDetail(RentVehicleBO bo, String orderNo) {
BaseOrder order = createBaseOrder(bo.getOrderOrigin(), bo.getFacilitatePhone(), bo.getAppUserDTO(), orderNo);
bo.setOrder(order);
initDetailSecond(bo);
}
// public void specialInitDetail(RentVehicleBO bo, String orderNo) {
// BaseOrder order = createBaseOrder(bo.getOrderOrigin(), bo.getFacilitatePhone(), bo.getAppUserDTO(), orderNo);
// bo.setOrder(order);
......@@ -283,8 +289,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
}
bo.setAccompanyItems(oads);
if(BaseOrder.ORDER_SIGN_APPLY != bo.getOrderSign()) {
//获取可用车辆
if(BaseOrder.ORDER_SIGN_NORMAL == bo.getOrderSign()) {
//获取可用车辆(创建排班记录)
acquireVehicle(bo, null, null);
cloudTransact = 1;
}
......@@ -326,7 +332,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//判断分布式事务执行到哪里
switch (cloudTransact) {
case 1 :
if(!SYS_TRUE.equals(bo.getOrderSign())) {
if(BaseOrder.ORDER_SIGN_NORMAL == bo.getOrderSign()) {
//取消车辆预定
//未支付,拒绝之前的预约
errorRejectVehicle(bo);
......@@ -334,7 +340,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
break;
case 2 :
if(!SYS_TRUE.equals(bo.getOrderSign())) {
if(BaseOrder.ORDER_SIGN_NORMAL == bo.getOrderSign()) {
//取消车辆预定
//未支付,拒绝之前的预约
errorRejectVehicle(bo);
......@@ -343,7 +349,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
break;
case 3 :
if(!SYS_TRUE.equals(bo.getOrderSign())) {
if(BaseOrder.ORDER_SIGN_NORMAL == bo.getOrderSign()) {
//取消车辆预定
//未支付,拒绝之前的预约
errorRejectVehicle(bo);
......
......@@ -291,7 +291,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
rbd.setRecordIntersection(Boolean.FALSE);
rbd.setLimit(100);
rbd.setPage(1);
//rbd.setYearNo4Where(Boolean.TRUE);
rbd.setYearNo4Where(Boolean.TRUE);
//查询可车辆信息
PageDataVO<UsableVeicleVO> pageDataVO = vehicleBiz.searchUsableVehicle(rbd);
......
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