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,50 +2044,76 @@ 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.setUseType(shopEatTypeInfoDTO.getUseType());
tbCashierCart.setCreatedAt(System.currentTimeMillis()); // tbCashierCart.setCreatedAt(System.currentTimeMillis());
tbCashierCart.setIsSku("0"); // tbCashierCart.setIsSku("0");
if (StrUtil.isNotBlank(shopEatTypeInfoDTO.getTableId())) { // if (StrUtil.isNotBlank(shopEatTypeInfoDTO.getTableId())) {
tbCashierCart.setTableId(shopEatTypeInfoDTO.getTableId()); // tbCashierCart.setTableId(shopEatTypeInfoDTO.getTableId());
} // }
tbCashierCart.setName(temporaryDishesDTO.getName()); // tbCashierCart.setName(temporaryDishesDTO.getName());
tbCashierCart.setSalePrice(temporaryDishesDTO.getPrice()); // tbCashierCart.setSalePrice(temporaryDishesDTO.getPrice());
tbCashierCart.setMasterId(temporaryDishesDTO.getMasterId()); // tbCashierCart.setMasterId(temporaryDishesDTO.getMasterId());
tbCashierCart.setShopId(String.valueOf(temporaryDishesDTO.getShopId())); // tbCashierCart.setShopId(String.valueOf(temporaryDishesDTO.getShopId()));
tbCashierCart.setTradeDay(DateUtils.getDay()); // tbCashierCart.setTradeDay(DateUtils.getDay());
tbCashierCart.setStatus("create"); // tbCashierCart.setStatus("create");
tbCashierCart.setIsPack("false"); // tbCashierCart.setIsPack("false");
tbCashierCart.setIsGift("false"); // tbCashierCart.setIsGift("false");
tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice())); // tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice()));
tbCashierCart.setPackFee(BigDecimal.ZERO); // tbCashierCart.setPackFee(BigDecimal.ZERO);
tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum()); // tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum());
tbCashierCart.setNumber(temporaryDishesDTO.getNum()); // tbCashierCart.setNumber(temporaryDishesDTO.getNum());
tbCashierCart.setCategoryId(String.valueOf(temporaryDishesDTO.getCategoryId())); // tbCashierCart.setCategoryId(String.valueOf(temporaryDishesDTO.getCategoryId()));
tbCashierCart.setNote(temporaryDishesDTO.getNote()); // tbCashierCart.setNote(temporaryDishesDTO.getNote());
tbCashierCart.setPlatformType(OrderPlatformTypeEnum.PC.getValue()); // tbCashierCart.setPlatformType(OrderPlatformTypeEnum.PC.getValue());
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); // mpCashierCartService.save(tbCashierCart);
//
} else { // } else {
tbCashierCart.setIsMember(temporaryDishesDTO.getVipUserId() == null ? 0 : 1); TbCashierCart tbCashierCart = new TbCashierCart();
tbCashierCart.setNote(temporaryDishesDTO.getNote()); tbCashierCart.setUseType(shopEatTypeInfoDTO.getUseType());
tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice())); tbCashierCart.setCreatedAt(System.currentTimeMillis());
tbCashierCart.setPackFee(BigDecimal.ZERO); tbCashierCart.setIsSku("0");
tbCashierCart.setIsPack("false"); if (StrUtil.isNotBlank(shopEatTypeInfoDTO.getTableId())) {
tbCashierCart.setIsGift("false"); tbCashierCart.setTableId(shopEatTypeInfoDTO.getTableId());
tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum());
tbCashierCart.setNumber(temporaryDishesDTO.getNum());
tbCashierCart.setUpdatedAt(DateUtil.date().getTime());
tbCashierCart.setIsTemporary(1);
tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
mpCashierCartService.updateById(tbCashierCart);
} }
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());
tbCashierCart.setIsMember(temporaryDishesDTO.getVipUserId() == null ? 0 : 1);
tbCashierCart.setNote(temporaryDishesDTO.getNote());
tbCashierCart.setTotalAmount(temporaryDishesDTO.getNum().multiply(temporaryDishesDTO.getPrice()));
tbCashierCart.setPackFee(BigDecimal.ZERO);
tbCashierCart.setIsPack("false");
tbCashierCart.setIsGift("false");
tbCashierCart.setTotalNumber(temporaryDishesDTO.getNum());
tbCashierCart.setNumber(temporaryDishesDTO.getNum());
tbCashierCart.setUpdatedAt(DateUtil.date().getTime());
tbCashierCart.setIsTemporary(1);
tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
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);