fix: 赠送单开商品处理

This commit is contained in:
张松
2024-12-19 14:40:18 +08:00
parent 5557b2b360
commit 6c940850cb

View File

@@ -305,6 +305,7 @@ public class OrderService {
LambdaQueryWrapper<TbCashierCart> cartQuery = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, shopId)
.eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType())
.eq(TbCashierCart::getIsGift, isGift)
.gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime())
.and(r -> r.eq(TbCashierCart::getMasterId, finalMasterId).or().isNull(TbCashierCart::getMasterId).or().eq(TbCashierCart::getMasterId, ""))
.in(TbCashierCart::getStatus, "create");
@@ -366,7 +367,7 @@ public class OrderService {
List<TbCashierCart> list = cashierCartMapper.selectALlByMasterId(masterId, "create");
TbCashierCart cashierCart = null;
if (type.equals("edit")) {
cashierCart = getCashierInfo(shopId, skuId, productId, tableId, masterId, shopEatTypeInfoDTO, cartId);
cashierCart = getCashierInfo(shopId, skuId, productId, tableId, masterId, shopEatTypeInfoDTO, cartId, isGift);
if (cashierCart == null) {
needNew = true;
} else {
@@ -413,6 +414,7 @@ public class OrderService {
cashierCart.setTotalNumber(number);
cashierCart.setIsPrint(isPrint);
cashierCart.setIsPack(isPack);
cashierCart.setIsGift(isGift);
cashierCart.resetTotalAmount();
cashierCart.setUuid(uuid);
cashierCart.setIsPrint(isPrint);
@@ -428,7 +430,7 @@ public class OrderService {
if (type.equals("add") || needNew) {
if (product == null || product.getGroupType() == null || product.getGroupType() != 1) {
cashierCart = getCashierInfo(shopId, skuId, productId, tableId, masterId, shopEatTypeInfoDTO, cartId);
cashierCart = getCashierInfo(shopId, skuId, productId, tableId, masterId, shopEatTypeInfoDTO, cartId, isGift);
}
if (cashierCart != null) {
@@ -555,7 +557,7 @@ public class OrderService {
return Result.success(CodeEnum.SUCCESS, masterId);
}
private TbCashierCart getCashierInfo(Object shopId, Object skuId, Object productId, String tableId, String MasterId, ShopEatTypeInfoDTO shopEatTypeInfoDTO, Integer cartId) {
private TbCashierCart getCashierInfo(Object shopId, Object skuId, Object productId, String tableId, String MasterId, ShopEatTypeInfoDTO shopEatTypeInfoDTO, Integer cartId, String isGift) {
LambdaQueryWrapper<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, shopId)
.eq(TbCashierCart::getSkuId, skuId)
@@ -563,6 +565,10 @@ public class OrderService {
.in(TbCashierCart::getStatus, "create")
.eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType());
if (StrUtil.isNotBlank(isGift)) {
query.eq(TbCashierCart::getIsGift, isGift);
}
if (cartId != null) {
query.eq(TbCashierCart::getId, cartId);
}