Commit a4cacd20 by 吕明尚

Merge branch 'refs/heads/dev' into test-lms

parents b7df3c45 a074d36b
...@@ -1460,12 +1460,26 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme ...@@ -1460,12 +1460,26 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
private void checkOrderDate(CreateOrderRequest request) { private void checkOrderDate(CreateOrderRequest request) {
SConsumer user = FrontTokenComponent.getWxSConsumerEntry(); SConsumer user = FrontTokenComponent.getWxSConsumerEntry();
LambdaQueryWrapper<SOrder> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SOrder> queryWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<SOrder> sOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<SOrder> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
queryWrapper.notIn(SOrder::getRefundStatus, RefundStatusEnum.getRefundedStatus()); queryWrapper.notIn(SOrder::getRefundStatus, RefundStatusEnum.getRefundedStatus());
sOrderLambdaQueryWrapper.notIn(SOrder::getRefundStatus, RefundStatusEnum.getRefundedStatus());
orderLambdaQueryWrapper.notIn(SOrder::getRefundStatus, RefundStatusEnum.getRefundedStatus());
queryWrapper.in(SOrder::getStatus, OrderStatusEnum.getValidOrderStatus()); queryWrapper.in(SOrder::getStatus, OrderStatusEnum.getValidOrderStatus());
sOrderLambdaQueryWrapper.in(SOrder::getStatus, OrderStatusEnum.getValidOrderStatus());
orderLambdaQueryWrapper.in(SOrder::getStatus, OrderStatusEnum.getValidOrderStatus());
// queryWrapper.eq(SOrder::getPayStatus, YesNoEnum.yes.getIndex()); // queryWrapper.eq(SOrder::getPayStatus, YesNoEnum.yes.getIndex());
queryWrapper.eq(SOrder::getIsDelete,YesNoEnum.no.getIndex()); queryWrapper.eq(SOrder::getIsDelete,YesNoEnum.no.getIndex());
sOrderLambdaQueryWrapper.eq(SOrder::getIsDelete, YesNoEnum.no.getIndex());
orderLambdaQueryWrapper.eq(SOrder::getIsDelete, YesNoEnum.no.getIndex());
queryWrapper.eq(SOrder::getStoreId, request.getStoreId()); queryWrapper.eq(SOrder::getStoreId, request.getStoreId());
sOrderLambdaQueryWrapper.eq(SOrder::getStoreId, request.getStoreId());
orderLambdaQueryWrapper.eq(SOrder::getStoreId, request.getStoreId());
queryWrapper.eq(SOrder::getRoomId, request.getRoomId()); queryWrapper.eq(SOrder::getRoomId, request.getRoomId());
sOrderLambdaQueryWrapper.eq(SOrder::getRoomId, request.getRoomId());
orderLambdaQueryWrapper.eq(SOrder::getRoomId, request.getRoomId());
sOrderLambdaQueryWrapper.eq(SOrder::getPayStatus, YesNoEnum.yes.getIndex());
orderLambdaQueryWrapper.eq(SOrder::getPayStatus, YesNoEnum.yes.getIndex());
// queryWrapper.ne(SOrder::getConsumerId, user.getId()); // queryWrapper.ne(SOrder::getConsumerId, user.getId());
switch (OrderTypeEnum.getEnumByCode(request.getOrderType())) { switch (OrderTypeEnum.getEnumByCode(request.getOrderType())) {
case RESERVER://预定 case RESERVER://预定
...@@ -1477,6 +1491,22 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme ...@@ -1477,6 +1491,22 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
"OR IFNULL(end_date,pre_end_date) BETWEEN '" "OR IFNULL(end_date,pre_end_date) BETWEEN '"
+ DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinutes(request.getPreStartDate(), -Constants.ROOM_LOCK_DELAY_MINUTE)) + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinutes(request.getPreStartDate(), -Constants.ROOM_LOCK_DELAY_MINUTE))
+ "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreEndDate()) + "' )"); + "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreEndDate()) + "' )");
sOrderLambdaQueryWrapper.apply("(IFNULL(start_date,pre_start_date) <= '"
+ DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreStartDate())
+ "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreStartDate()) + "' " +
"<= IFNULL(end_date,pre_end_date)" +
"OR IFNULL(start_date,pre_start_date) <= '"
+ DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreEndDate())
+ "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreEndDate()) +
"' " + "<= IFNULL(end_date,pre_end_date))");
orderLambdaQueryWrapper.apply("(IFNULL(start_date,pre_start_date) >= '"
+ DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreStartDate())
+ "' AND IFNULL(start_date,pre_start_date) <= '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreEndDate()) + "' " +
"OR IFNULL(end_date,pre_end_date) >= '"
+ DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreStartDate())
+ "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreEndDate()) +
"' " + ">= IFNULL(end_date,pre_end_date))");
break; break;
case RENEW://续费 case RENEW://续费
if (StringUtils.isBlank(request.getPreOrderNo())) { if (StringUtils.isBlank(request.getPreOrderNo())) {
...@@ -1529,6 +1559,13 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme ...@@ -1529,6 +1559,13 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
} }
throw new BaseException("下单时间已被预定!"); throw new BaseException("下单时间已被预定!");
} }
if (request.getOrderType().equals(OrderTypeEnum.RESERVER.getCode())) {
List<SOrder> sOrderList = list(sOrderLambdaQueryWrapper);
List<SOrder> orders = list(orderLambdaQueryWrapper);
if (CollectionUtils.isNotEmpty(sOrderList) || CollectionUtils.isNotEmpty(orders)) {
throw new BaseException("下单时间已被预定!");
}
}
} }
private void checkOrderRoomStat(SRoom room) { private void checkOrderRoomStat(SRoom room) {
......
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