feat: 1.临时菜支持多次添加
This commit is contained in:
@@ -43,7 +43,7 @@ public interface MpCashierCartService extends IService<TbCashierCart> {
|
||||
* @param shopEatTypeInfoDTO 就餐信息
|
||||
* @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);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -2044,50 +2044,76 @@ public class OrderService {
|
||||
public Object addTemporaryDishes(AddTemporaryDishesDTO temporaryDishesDTO) {
|
||||
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) {
|
||||
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.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 (tbCashierCart == null) {
|
||||
// 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.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());
|
||||
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())) {
|
||||
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) {
|
||||
throw new MsgException("折扣金额不能超过单价");
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
if (cashierCart.getMemberPrice().subtract(updatePriceDTO.getAmount()).compareTo(BigDecimal.ZERO) < 0) {
|
||||
throw new MsgException("折扣金额不能超过单价");
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ public class MpCashierCartServiceImpl extends ServiceImpl<MPCashierCartMapper, T
|
||||
}
|
||||
|
||||
@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>()
|
||||
.eq(TbCashierCart::getShopId, shopEatTypeInfoDTO.getShopId())
|
||||
.gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime())
|
||||
@@ -73,7 +73,8 @@ public class MpCashierCartServiceImpl extends ServiceImpl<MPCashierCartMapper, T
|
||||
.eq(TbCashierCart::getIsGift, isGift)
|
||||
.and(q -> q.eq(TbCashierCart::getMasterId, masterId).or().isNull(TbCashierCart::getMasterId));
|
||||
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 {
|
||||
query.eq(TbCashierCart::getProductId, productId)
|
||||
.eq(TbCashierCart::getSkuId, skuId);
|
||||
|
||||
Reference in New Issue
Block a user