创建订单修改餐位费校验

This commit is contained in:
SongZhang 2024-10-24 09:24:58 +08:00
parent d99771f8e7
commit eaace1d576
2 changed files with 16 additions and 4 deletions

View File

@ -6,7 +6,7 @@ import lombok.Getter;
public enum OrderStatusEnums {
REFUNDING("refunding"),
REFUND("refund"),
CLOSED("closed");
CLOSED("closed"), CREATE("create");
private final String value;
OrderStatusEnums(String value) {

View File

@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.ysk.cashier.config.security.security.TokenProvider;
import cn.ysk.cashier.cons.RedisConstant;
import cn.ysk.cashier.cons.TableConstant;
import cn.ysk.cashier.cons.rabbit.RabbitConstants;
import cn.ysk.cashier.dto.shop.TbShopTableDto;
import cn.ysk.cashier.dto.shop.TbShopTableQueryCriteria;
@ -1075,7 +1076,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, createOrderDTO.getShopId())
.eq(TbCashierCart::getUseType, createOrderDTO.getUseType())
.in(TbCashierCart::getStatus, "create")
.in(TbCashierCart::getStatus, "create", "return")
.gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime())
.and(q -> q.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId));
@ -1096,10 +1097,21 @@ public class TbShopTableServiceImpl implements TbShopTableService {
queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId());
}
List<TbCashierCart> cashierCarts = cashierCartMapper
List<TbCashierCart> allCashierCarts = cashierCartMapper
.selectList(queryWrapper);
if (cashierCarts.isEmpty() || (shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && cashierCarts.size() < 2)) {
List<TbCashierCart> cashierCarts = new ArrayList<>();
TbCashierCart seatCart = null;
for (TbCashierCart allCashierCart : allCashierCarts) {
if (TableConstant.CART_SEAT_ID.equals(allCashierCart.getProductId())) {
seatCart = allCashierCart;
}else if (OrderStatusEnums.CREATE.getValue().equals(allCashierCart.getStatus())) {
cashierCarts.add(allCashierCart);
}
}
if (allCashierCarts.isEmpty() || (shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && seatCart != null && allCashierCarts.size() < 2)
|| (shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && seatCart == null)) {
throw new BadRequestException("购物车为空或未选择餐位费,请先添加商品或选择餐位费");
}