diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index da6cfe08..3b71181f 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -1834,7 +1834,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { TbActivateOutRecord tbActivateOutRecord = null; if (!couponInfo.getFullReductionCouponMap().isEmpty()) { TbUserCouponVo couponVo = couponInfo.getFullReductionCouponMap().values().stream().findFirst().orElse(null); - finalAmount =finalAmount.subtract(couponVo.getDiscountAmount()); + finalAmount = finalAmount.subtract(couponVo.getDiscountAmount()); orderInfo.setFullCouponDiscountAmount(couponVo.getDiscountAmount()); tbActivateOutRecord = new TbActivateOutRecord(); @@ -2109,47 +2109,45 @@ public class TbShopTableServiceImpl implements TbShopTableService { @Override public Object updateVip(UpdateVipDTO updateVipDTO) { - ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(updateVipDTO.getShopId(), updateVipDTO.getTableId()); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .in(TbCashierCart::getStatus, "create", "return") - .eq(TbCashierCart::getShopId, updateVipDTO.getShopId()) - .eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType()) - .and(q -> q.eq(TbCashierCart::getMasterId, updateVipDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId)); + Integer orderId = updateVipDTO.getOrderId(); + if (orderId == null) { + ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(updateVipDTO.getShopId(), updateVipDTO.getTableId()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .in(TbCashierCart::getStatus, "create", "return") + .eq(TbCashierCart::getShopId, updateVipDTO.getShopId()) + .eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType()) + .and(q -> q.eq(TbCashierCart::getMasterId, updateVipDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId)); - if (!shopEatTypeInfoDTO.isTakeout()) { - queryWrapper.eq(TbCashierCart::getTableId, updateVipDTO.getTableId()); - } else { - queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, "")) - .in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue()); - } - - List tbCashierCarts = cashierCartMapper.selectList(queryWrapper.isNotNull(TbCashierCart::getOrderId)); - if (!tbCashierCarts.isEmpty()) { - Integer orderId = updateVipDTO.getOrderId(); - if (orderId == null) { - for (TbCashierCart item : tbCashierCarts) { - if (item.getOrderId() != null) { - orderId = item.getOrderId(); - } - } - } - if (updateVipDTO.getType() == 0) { - TbShopUser shopUser = tbShopUserMapper.selectById(updateVipDTO.getVipUserId()); - if (shopUser == null) { - throw new BadRequestException("用户信息不存在"); - } - return orderInfoMapper.update(null, new LambdaUpdateWrapper() - .eq(TbOrderInfo::getId, orderId) - .set(TbOrderInfo::getUserId, shopUser.getUserId()) - .set(TbOrderInfo::getMemberId, updateVipDTO.getVipUserId())); + if (!shopEatTypeInfoDTO.isTakeout()) { + queryWrapper.eq(TbCashierCart::getTableId, updateVipDTO.getTableId()); } else { - return orderInfoMapper.update(null, new LambdaUpdateWrapper() - .eq(TbOrderInfo::getId, orderId) - .set(TbOrderInfo::getUserId, null) - .set(TbOrderInfo::getMemberId, null)); + queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, "")) + .in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue()); + } + + List tbCashierCarts = cashierCartMapper.selectList(queryWrapper.isNotNull(TbCashierCart::getOrderId)); + for (TbCashierCart item : tbCashierCarts) { + if (item.getOrderId() != null) { + orderId = item.getOrderId(); + } } } - return true; + + if (updateVipDTO.getType() == 0) { + TbShopUser shopUser = tbShopUserMapper.selectById(updateVipDTO.getVipUserId()); + if (shopUser == null) { + throw new BadRequestException("用户信息不存在"); + } + return orderInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(TbOrderInfo::getId, orderId) + .set(TbOrderInfo::getUserId, shopUser.getUserId()) + .set(TbOrderInfo::getMemberId, updateVipDTO.getVipUserId())); + } else { + return orderInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(TbOrderInfo::getId, orderId) + .set(TbOrderInfo::getUserId, null) + .set(TbOrderInfo::getMemberId, null)); + } }