Commit c5cc9a3c authored by hezhen's avatar hezhen

Merge branch 'dev-chw' of http://113.105.137.151:22280/youjj/cloud-platform into dev-chw

parents afdaae23 ddedcb87
......@@ -82,7 +82,7 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
}
//设置订单号
if(StrUtil.isBlank(orderNo)) {
if(StrUtil.isNotBlank(orderNo)) {
baseOrder.setNo(orderNo);
} else {
baseOrder.setNo(OrderUtil.GetOrderNumber("", OrderUtil.APP_MID));
......
......@@ -110,18 +110,6 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
handleDetail(detail);
}
@Override
public void createOrder(RentVehicleBO detail) {
//初始化
initDetail(detail);
//计算价格
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);
......@@ -191,7 +179,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
}
}
//所属公司(门店)
//所属公司(门店)商品类型
if(null != bo.getVehicleId()) {
Vehicle vehicle = vehicleFeign.get(bo.getVehicleId()).getData();
bo.setVehicleCompanyId(vehicle.getSubordinateBranch());
......@@ -204,6 +192,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
if(null != companyDetails && companyDetails.size() > 0) {
bo.setVehicleBranchId(companyDetails.get(0).getCompanyId());
}
//商品类型
bo.getOrder().setGoodsType(vehicle.getGoodsType());
}
}
......@@ -259,9 +250,11 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
}
bo.setAccompanyItems(oads);
//获取可用车辆
acquireVehicle(bo, null, null);
cloudTransact = 1;
if(!SYS_TRUE.equals(bo.getApplyOrderSign())) {
//获取可用车辆
acquireVehicle(bo, null, null);
cloudTransact = 1;
}
//添加随声物品项
OrderItem accompanyItem = orderItemBiz.initOrderItem(BigDecimal.ZERO, 1, "随车物品", null, ACCOMPANY);
......@@ -300,22 +293,28 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//判断分布式事务执行到哪里
switch (cloudTransact) {
case 1 :
//取消车辆预定
if(!SYS_TRUE.equals(bo.getApplyOrderSign())) {
//取消车辆预定
//未支付,拒绝之前的预约
errorRejectVehicle(bo);
errorRejectVehicle(bo);
}
break;
case 2 :
//取消车辆预定
if(!SYS_TRUE.equals(bo.getApplyOrderSign())) {
//取消车辆预定
//未支付,拒绝之前的预约
errorRejectVehicle(bo);
errorRejectVehicle(bo);
}
useOrBackFreeDays(bo, UserFeign.MEMBER_DAYS_WITHDRAW);
break;
case 3 :
//取消车辆预定
if(!SYS_TRUE.equals(bo.getApplyOrderSign())) {
//取消车辆预定
//未支付,拒绝之前的预约
errorRejectVehicle(bo);
errorRejectVehicle(bo);
}
//退还天数
useOrBackFreeDays(bo, UserFeign.MEMBER_DAYS_WITHDRAW);
......@@ -353,7 +352,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
}
}
private void errorRejectVehicle(RentVehicleBO bo) {
public void errorRejectVehicle(RentVehicleBO bo) {
//取消车辆预定
//未支付,拒绝之前的预约
RestResponse<Integer> restResponse = vehicleFeign.rentRejectVehicleBooking(bo.getBookRecordId());
......
......@@ -503,8 +503,10 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
public List<CalendarPriceChwDTO> getChwDayCalendarPrice (DayCalendarDTO dto) {
//根据时间获取预约记录 bookinfo
//转换为月份
String startMonth = StrUtil.subBefore(DateUtil.parseDateTime(dto.startDate).toDateStr(), "-", true);
String endMonth = StrUtil.subBefore(DateUtil.parseDateTime(dto.endDate).toDateStr(), "-", true);
DateTime startDate = DateUtil.parseDateTime(dto.startDate);
DateTime endDate = DateUtil.parseDateTime(dto.endDate);
String startMonth = StrUtil.subBefore(startDate.toDateStr(), "-", true);
String endMonth = StrUtil.subBefore(endDate.toDateStr(), "-", true);
List<VehicleBookInfo> list = vehicleBookInfoBiz.selectByWeekend(w -> {
w
......@@ -520,11 +522,18 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
//月第一天
DateTime firstDay = DateUtil.parseDate(info.getYearMonth()+ "-01");
//月总天数
Integer monthDays = DateUtil.lengthOfMonth(firstDay.month(), firstDay.isLeapYear());
Integer monthDays = DateUtil.lengthOfMonth(firstDay.monthBaseOne(), firstDay.isLeapYear());
//与运算
String monthStr = NumberUtil.getBinaryStr(info.getBookedDate());
int start = 0;
if(firstDay.month() == startDate.month() ) {
start = startDate.dayOfMonth() - 1;
}
if(firstDay.month() == endDate.month()) {
monthDays = endDate.dayOfMonth();
}
for(int i = 0; i < monthDays; i++) {
for(int i = start; i < monthDays; i++) {
int finalI = i;
CalendarPriceChwDTO calendarPriceChwDTO = new CalendarPriceChwDTO(){{
setDateStr(DateUtil.offsetDay(firstDay, finalI).toDateStr());
......
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