Commit 45d0ad66 authored by 周健威's avatar 周健威

统计

parent 71586efc
......@@ -24,6 +24,7 @@ public class ShuntApply implements Serializable {
public static final int STATUS_CNL = 2;
public static final int STATUS_CONFIRM = 3;
public static final int STATUS_ORDER = 4;
public static final int STATUS_AUTOCNL = 5;
/**
* 主键
......
......@@ -149,7 +149,7 @@ public class ShuntApplyController extends BaseController<ShuntApplyBiz, ShuntApp
RentVehicleBO bo = orderRentVehicleBiz.initRentVehicleBO(dto);
bo.setAppUserDTO(userFeign.userDetailByToken(BaseContextHandler.getToken()).getData());
orderRentVehicleService.createOrder(bo);
orderRentVehicleService.applyCreateOrder(bo, shuntApply.getOrderNo());
return ObjectRestResponse.succ(bo.getOrder());
}
......
......@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.util.OrderUtil;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
......@@ -13,10 +14,12 @@ import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.biz.ShuntApplyBiz;
import com.xxfc.platform.order.biz.inner.OrderCalculateBiz;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.ShuntApply;
import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.order.add.BgAddRentDTO;
import com.xxfc.platform.order.service.OrderRentVehicleService;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import io.swagger.annotations.ApiOperation;
......@@ -66,8 +69,22 @@ public class BgShuntApplyController extends BaseController<ShuntApplyBiz, ShuntA
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE);
}
RentVehicleBO detail = new RentVehicleBO();
detail.setStartTime(shuntApply.getStartTime());
detail.setEndTime(shuntApply.getEndTime());
detail.setVehicleId(shuntApply.getVehicleId());
detail.setModelId(shuntApply.getModelId());
detail.setStartAddr(shuntApply.getStartCompanyName());
detail.setStartCompanyId(shuntApply.getStartCompanyId());
detail.setEndCompanyId(shuntApply.getEndCompanyId());
detail.setOrder(new BaseOrder(){{setNo(OrderUtil.GetOrderNumber("", OrderUtil.APP_MID));}});
//预约车辆
orderRentVehicleService.acquireVehicle(detail, null , VehicleBookRecordStatus.APPROVE.getCode());
shuntApply.setVehicleId(dto.getVehicleId());
shuntApply.setStatus(STATUS_CONFIRM);
shuntApply.setOrderNo(detail.getOrder().getNo());
baseBiz.updateSelectiveById(shuntApply);
return ObjectRestResponse.succ();
......
......@@ -66,7 +66,7 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
* 创建基础订单
* @return
*/
public BaseOrder createBaseOrder(Integer orderOrigin, String facilitatePhone, AppUserDTO appUserDTO) {
public BaseOrder createBaseOrder(Integer orderOrigin, String facilitatePhone, AppUserDTO appUserDTO, String orderNo) {
BaseOrder baseOrder = new BaseOrder();
//设置下单来源
......@@ -82,7 +82,11 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
}
//设置订单号
baseOrder.setNo(OrderUtil.GetOrderNumber("", OrderUtil.APP_MID));
if(StrUtil.isBlank(orderNo)) {
baseOrder.setNo(orderNo);
} else {
baseOrder.setNo(OrderUtil.GetOrderNumber("", OrderUtil.APP_MID));
}
//设置订单类型
if(null == orderTypeEnum)
throw new BaseException(ResultCode.NOTEXIST_CODE);
......@@ -107,6 +111,14 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
return baseOrder;
}
/**
* 创建基础订单
* @return
*/
public BaseOrder createBaseOrder(Integer orderOrigin, String facilitatePhone, AppUserDTO appUserDTO) {
return createBaseOrder(orderOrigin, facilitatePhone, appUserDTO, null);
}
public void initDetail(Detail detail) {
// Integer appUserId = (null == detail.getAppUserDTO())? Integer.valueOf(BaseContextHandler.getUserID()): detail.getAppUserDTO().getUserid();
BaseOrder order = createBaseOrder(detail.getOrderOrigin(), detail.getFacilitatePhone(), detail.getAppUserDTO());
......
......@@ -23,6 +23,7 @@ import com.xxfc.platform.order.contant.enumerate.ItemTypeEnum;
import com.xxfc.platform.order.contant.enumerate.OrderCostEnum;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.entity.OrderTemplate;
import com.xxfc.platform.order.pojo.OrderAccompanyDTO;
......@@ -94,6 +95,26 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
this.orderTypeEnum = OrderTypeEnum.RENT_VEHICLE;
}
/**
* 创建订单及其子项
* @param detail
*/
public void applyCreateOrder(RentVehicleBO detail, String orderNo) {
//初始化
applyInitDetail(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);
bo.setOrder(order);
initDetailSecond(bo);
}
@Override
public void initDetail(RentVehicleBO bo) {
......
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