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 c828bf3c..fcfe737c 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 @@ -3465,8 +3465,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { } if (currentSeatFee != null && targetSeatFee != null) { - targetSeatFee.setNumber(currentSeatFee.getNumber().add(targetSeatFee.getNumber())); - targetSeatFee.setTotalNumber(currentSeatFee.getTotalNumber().add(targetSeatFee.getTotalNumber())); + BigDecimal newNum = currentSeatFee.getNumber().add(targetSeatFee.getNumber()).compareTo(BigDecimal.valueOf(shopTable.getMaxCapacity())) > 0 ? BigDecimal.valueOf(shopTable.getMaxCapacity()) : currentSeatFee.getNumber().add(targetSeatFee.getNumber()); + targetSeatFee.setNumber(newNum); + targetSeatFee.setTotalNumber(newNum); targetSeatFee.setTotalAmount(targetSeatFee.getSalePrice().multiply(targetSeatFee.getTotalNumber())); mpCashierCartService.updateById(targetSeatFee); mpCashierCartService.removeById(currentSeatFee.getId());