feat: 1.临时菜支持多次添加

This commit is contained in:
张松
2024-11-26 10:25:18 +08:00
parent 7797edd813
commit 7b552a3f10
3 changed files with 73 additions and 46 deletions

View File

@@ -43,7 +43,7 @@ public interface MpCashierCartService extends IService<TbCashierCart> {
* @param shopEatTypeInfoDTO 就餐信息 * @param shopEatTypeInfoDTO 就餐信息
* @return 购物车信息 * @return 购物车信息
*/ */
TbCashierCart selectOneCartByShopEatType(ShopEatTypeInfoDTO shopEatTypeInfoDTO, String masterId, Integer productId, Integer skuId, boolean isGift, boolean isTemp); TbCashierCart selectOneCartByShopEatType(ShopEatTypeInfoDTO shopEatTypeInfoDTO, String masterId, Integer productId, Integer skuId, boolean isGift, boolean isTemp, String proName);
/** /**

View File

@@ -2044,10 +2044,39 @@ public class OrderService {
public Object addTemporaryDishes(AddTemporaryDishesDTO temporaryDishesDTO) { public Object addTemporaryDishes(AddTemporaryDishesDTO temporaryDishesDTO) {
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(temporaryDishesDTO.getShopId(), temporaryDishesDTO.getTableId()); ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(temporaryDishesDTO.getShopId(), temporaryDishesDTO.getTableId());
TbCashierCart tbCashierCart = mpCashierCartService.selectOneCartByShopEatType(shopEatTypeInfoDTO, temporaryDishesDTO.getMasterId(), null, null, false, true); // TbCashierCart tbCashierCart = mpCashierCartService.selectOneCartByShopEatType(shopEatTypeInfoDTO, temporaryDishesDTO.getMasterId(),
// null, null, false, true, temporaryDishesDTO.getName());
// 首次加入 // 首次加入
if (tbCashierCart == null) { // if (tbCashierCart == null) {
tbCashierCart = new TbCashierCart(); // tbCashierCart = new TbCashierCart();
// tbCashierCart.setUseType(shopEatTypeInfoDTO.getUseType());
// tbCashierCart.setCreatedAt(System.currentTimeMillis());
// tbCashierCart.setIsSku("0");
// if (StrUtil.isNotBlank(shopEatTypeInfoDTO.getTableId())) {
// tbCashierCart.setTableId(shopEatTypeInfoDTO.getTableId());
// }
// tbCashierCart.setName(temporaryDishesDTO.getName());
// tbCashierCart.setSalePrice(temporaryDishesDTO.getPrice());
// tbCashierCart.setMasterId(temporaryDishesDTO.getMasterId());
// tbCashierCart.setShopId(String.valueOf(temporaryDishesDTO.getShopId()));
// tbCashierCart.setTradeDay(DateUtils.getDay());
// tbCashierCart.setStatus("create");
// tbCashierCart.setIsPack("false");
// tbCashierCart.setIsGift("false");
// tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice()));
// tbCashierCart.setPackFee(BigDecimal.ZERO);
// tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum());
// tbCashierCart.setNumber(temporaryDishesDTO.getNum());
// tbCashierCart.setCategoryId(String.valueOf(temporaryDishesDTO.getCategoryId()));
// tbCashierCart.setNote(temporaryDishesDTO.getNote());
// tbCashierCart.setPlatformType(OrderPlatformTypeEnum.PC.getValue());
// tbCashierCart.setIsMember(shopEatTypeInfoDTO.isMemberPrice() && temporaryDishesDTO.getVipUserId() != null ? 1 : 0);
// tbCashierCart.setIsTemporary(1);
// tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
// mpCashierCartService.save(tbCashierCart);
//
// } else {
TbCashierCart tbCashierCart = new TbCashierCart();
tbCashierCart.setUseType(shopEatTypeInfoDTO.getUseType()); tbCashierCart.setUseType(shopEatTypeInfoDTO.getUseType());
tbCashierCart.setCreatedAt(System.currentTimeMillis()); tbCashierCart.setCreatedAt(System.currentTimeMillis());
tbCashierCart.setIsSku("0"); tbCashierCart.setIsSku("0");
@@ -2072,9 +2101,6 @@ public class OrderService {
tbCashierCart.setIsMember(shopEatTypeInfoDTO.isMemberPrice() && temporaryDishesDTO.getVipUserId() != null ? 1 : 0); tbCashierCart.setIsMember(shopEatTypeInfoDTO.isMemberPrice() && temporaryDishesDTO.getVipUserId() != null ? 1 : 0);
tbCashierCart.setIsTemporary(1); tbCashierCart.setIsTemporary(1);
tbCashierCart.setUnit(temporaryDishesDTO.getUnit()); tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
mpCashierCartService.save(tbCashierCart);
} else {
tbCashierCart.setIsMember(temporaryDishesDTO.getVipUserId() == null ? 0 : 1); tbCashierCart.setIsMember(temporaryDishesDTO.getVipUserId() == null ? 0 : 1);
tbCashierCart.setNote(temporaryDishesDTO.getNote()); tbCashierCart.setNote(temporaryDishesDTO.getNote());
tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice())); tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice()));
@@ -2087,7 +2113,7 @@ public class OrderService {
tbCashierCart.setIsTemporary(1); tbCashierCart.setIsTemporary(1);
tbCashierCart.setUnit(temporaryDishesDTO.getUnit()); tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
mpCashierCartService.updateById(tbCashierCart); mpCashierCartService.updateById(tbCashierCart);
} // }
if (StrUtil.isNotBlank(temporaryDishesDTO.getTableId())) { if (StrUtil.isNotBlank(temporaryDishesDTO.getTableId())) {
setRedisTableCartInfo(temporaryDishesDTO.getTableId(), temporaryDishesDTO.getShopId().toString(), Collections.singletonList(tbCashierCart), true); setRedisTableCartInfo(temporaryDishesDTO.getTableId(), temporaryDishesDTO.getShopId().toString(), Collections.singletonList(tbCashierCart), true);
@@ -2105,7 +2131,7 @@ public class OrderService {
if (cashierCart.getSalePrice().subtract(updatePriceDTO.getAmount()).compareTo(BigDecimal.ZERO) < 0) { if (cashierCart.getSalePrice().subtract(updatePriceDTO.getAmount()).compareTo(BigDecimal.ZERO) < 0) {
throw new MsgException("折扣金额不能超过单价"); throw new MsgException("折扣金额不能超过单价");
} }
}else { } else {
if (cashierCart.getMemberPrice().subtract(updatePriceDTO.getAmount()).compareTo(BigDecimal.ZERO) < 0) { if (cashierCart.getMemberPrice().subtract(updatePriceDTO.getAmount()).compareTo(BigDecimal.ZERO) < 0) {
throw new MsgException("折扣金额不能超过单价"); throw new MsgException("折扣金额不能超过单价");
} }

View File

@@ -63,7 +63,7 @@ public class MpCashierCartServiceImpl extends ServiceImpl<MPCashierCartMapper, T
} }
@Override @Override
public TbCashierCart selectOneCartByShopEatType(ShopEatTypeInfoDTO shopEatTypeInfoDTO, String masterId, Integer productId, Integer skuId, boolean isGift, boolean isTemp) { public TbCashierCart selectOneCartByShopEatType(ShopEatTypeInfoDTO shopEatTypeInfoDTO, String masterId, Integer productId, Integer skuId, boolean isGift, boolean isTemp, String proName) {
LambdaQueryWrapper<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>() LambdaQueryWrapper<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, shopEatTypeInfoDTO.getShopId()) .eq(TbCashierCart::getShopId, shopEatTypeInfoDTO.getShopId())
.gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime())
@@ -73,7 +73,8 @@ public class MpCashierCartServiceImpl extends ServiceImpl<MPCashierCartMapper, T
.eq(TbCashierCart::getIsGift, isGift) .eq(TbCashierCart::getIsGift, isGift)
.and(q -> q.eq(TbCashierCart::getMasterId, masterId).or().isNull(TbCashierCart::getMasterId)); .and(q -> q.eq(TbCashierCart::getMasterId, masterId).or().isNull(TbCashierCart::getMasterId));
if (isTemp) { if (isTemp) {
query.isNull(TbCashierCart::getProductId).isNull(TbCashierCart::getSkuId).eq(TbCashierCart::getIsTemporary, 1); query.isNull(TbCashierCart::getProductId).isNull(TbCashierCart::getSkuId).eq(TbCashierCart::getIsTemporary, 1)
.eq(TbCashierCart::getSkuName, proName);
}else { }else {
query.eq(TbCashierCart::getProductId, productId) query.eq(TbCashierCart::getProductId, productId)
.eq(TbCashierCart::getSkuId, skuId); .eq(TbCashierCart::getSkuId, skuId);