feat: 1.临时菜支持多次添加
This commit is contained in:
@@ -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);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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("折扣金额不能超过单价");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user