feat: 临时菜实现
This commit is contained in:
parent
432e382d6b
commit
2f521d5dc9
|
|
@ -10,9 +10,7 @@ import javax.validation.constraints.NotNull;
|
||||||
public class UpdateCartDTO {
|
public class UpdateCartDTO {
|
||||||
@NotNull
|
@NotNull
|
||||||
private Integer cartId;
|
private Integer cartId;
|
||||||
@NotNull
|
|
||||||
private Integer skuId;
|
private Integer skuId;
|
||||||
@NotNull
|
|
||||||
private Integer productId;
|
private Integer productId;
|
||||||
@NotNull
|
@NotNull
|
||||||
private Integer shopId;
|
private Integer shopId;
|
||||||
|
|
|
||||||
|
|
@ -429,23 +429,30 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
cashierCartRepository.deleteById(updateCartDTO.getCartId());
|
cashierCartRepository.deleteById(updateCartDTO.getCartId());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
TbProductSku productSku = productMapper.selectSkuByIdAndShopId(updateCartDTO.getShopId(), updateCartDTO.getSkuId());
|
|
||||||
TbProduct product = productMapper.selectByIdAndShopId(updateCartDTO.getShopId(), updateCartDTO.getProductId());
|
TbProduct product = null;
|
||||||
if (product == null || productSku == null) {
|
if (updateCartDTO.getProductId() != null && updateCartDTO.getSkuId() != null) {
|
||||||
throw new BadRequestException("商品不存在或已下架, id: " + updateCartDTO.getSkuId());
|
TbProductSku productSku = productMapper.selectSkuByIdAndShopId(updateCartDTO.getShopId(), updateCartDTO.getSkuId());
|
||||||
|
product = productMapper.selectByIdAndShopId(updateCartDTO.getShopId(), updateCartDTO.getProductId());
|
||||||
|
if (product == null || productSku == null) {
|
||||||
|
throw new BadRequestException("商品不存在或已下架, id: " + updateCartDTO.getSkuId());
|
||||||
|
}
|
||||||
|
|
||||||
|
tbCashierCart.setCoverImg(product.getCoverImg());
|
||||||
|
tbCashierCart.setIsSku(product.getTypeEnum());
|
||||||
|
tbCashierCart.setName(product.getName());
|
||||||
|
tbCashierCart.setProductId(String.valueOf(product.getId()));
|
||||||
|
tbCashierCart.setSalePrice(productSku.getSalePrice());
|
||||||
|
tbCashierCart.setSkuId(productSku.getId().toString());
|
||||||
|
tbCashierCart.setCategoryId(product.getCategoryId());
|
||||||
}
|
}
|
||||||
|
|
||||||
tbCashierCart.setCoverImg(product.getCoverImg());
|
|
||||||
tbCashierCart.setCreatedAt(System.currentTimeMillis());
|
tbCashierCart.setCreatedAt(System.currentTimeMillis());
|
||||||
tbCashierCart.setIsSku(product.getTypeEnum());
|
|
||||||
tbCashierCart.setName(product.getName());
|
|
||||||
tbCashierCart.setProductId(String.valueOf(product.getId()));
|
|
||||||
tbCashierCart.setSalePrice(productSku.getSalePrice());
|
|
||||||
tbCashierCart.setSkuId(productSku.getId().toString());
|
|
||||||
tbCashierCart.setTradeDay(DateUtils.getDay());
|
tbCashierCart.setTradeDay(DateUtils.getDay());
|
||||||
tbCashierCart.setStatus("create");
|
tbCashierCart.setStatus("create");
|
||||||
tbCashierCart.setSalePrice(productSku.getSalePrice());
|
tbCashierCart.setSalePrice(tbCashierCart.getSalePrice());
|
||||||
tbCashierCart.setTotalAmount(new BigDecimal(updateCartDTO.getNum()).multiply(productSku.getSalePrice()));
|
tbCashierCart.setTotalAmount(new BigDecimal(updateCartDTO.getNum()).multiply(tbCashierCart.getSalePrice()));
|
||||||
tbCashierCart.setNote(updateCartDTO.getNote());
|
tbCashierCart.setNote(updateCartDTO.getNote());
|
||||||
|
|
||||||
if (updateCartDTO.getIsPack() != null) {
|
if (updateCartDTO.getIsPack() != null) {
|
||||||
|
|
@ -453,7 +460,9 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
tbCashierCart.setPackFee(BigDecimal.ZERO);
|
tbCashierCart.setPackFee(BigDecimal.ZERO);
|
||||||
tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(updateCartDTO.getNum())));
|
tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(updateCartDTO.getNum())));
|
||||||
} else {
|
} else {
|
||||||
tbCashierCart.setPackFee(new BigDecimal(updateCartDTO.getNum()).multiply(product.getPackFee()));
|
if (product != null) {
|
||||||
|
tbCashierCart.setPackFee(new BigDecimal(updateCartDTO.getNum()).multiply(product.getPackFee()));
|
||||||
|
}
|
||||||
tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(updateCartDTO.getNum()))
|
tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(updateCartDTO.getNum()))
|
||||||
.add(tbCashierCart.getPackFee()));
|
.add(tbCashierCart.getPackFee()));
|
||||||
}
|
}
|
||||||
|
|
@ -467,7 +476,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
|
|
||||||
tbCashierCart.setTotalNumber(updateCartDTO.getNum());
|
tbCashierCart.setTotalNumber(updateCartDTO.getNum());
|
||||||
tbCashierCart.setNumber(updateCartDTO.getNum());
|
tbCashierCart.setNumber(updateCartDTO.getNum());
|
||||||
tbCashierCart.setCategoryId(product.getCategoryId());
|
|
||||||
tbCashierCartMapper.updateById(tbCashierCart);
|
tbCashierCartMapper.updateById(tbCashierCart);
|
||||||
|
|
||||||
if (tbCashierCart.getOrderId() != null && StrUtil.isNotBlank(updateCartDTO.getNote())) {
|
if (tbCashierCart.getOrderId() != null && StrUtil.isNotBlank(updateCartDTO.getNote())) {
|
||||||
|
|
@ -1707,7 +1715,8 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
private void updateCartAndStock(List<TbCashierCart> newAddCashierCarts, TbOrderInfo orderInfo, ShopEatTypeInfoDTO shopEatTypeInfoDTO) {
|
private void updateCartAndStock(List<TbCashierCart> newAddCashierCarts, TbOrderInfo orderInfo, ShopEatTypeInfoDTO shopEatTypeInfoDTO) {
|
||||||
// 更新购物车记录的orderId
|
// 更新购物车记录的orderId
|
||||||
for (TbCashierCart cashierCart : newAddCashierCarts) {
|
for (TbCashierCart cashierCart : newAddCashierCarts) {
|
||||||
if (!"-999".equals(cashierCart.getProductId())) {
|
// 不为座位费临时菜扣除库存
|
||||||
|
if (!"-999".equals(cashierCart.getProductId()) && cashierCart.getIsTemporary() != null && cashierCart.getIsTemporary() == 0) {
|
||||||
TbProduct product = productMapper.selectById(cashierCart.getProductId());
|
TbProduct product = productMapper.selectById(cashierCart.getProductId());
|
||||||
TbProductSku productSku = productSkuRepository.findById(Integer.valueOf(cashierCart.getSkuId())).orElse(null);
|
TbProductSku productSku = productSkuRepository.findById(Integer.valueOf(cashierCart.getSkuId())).orElse(null);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue