|
|
|
|
@@ -627,58 +627,59 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public TbCashierCart addTemporaryDishes(AddTemporaryDishesDTO temporaryDishesDTO) {
|
|
|
|
|
temporaryDishesDTO.setTableId(OrderUseTypeEnum.TAKEOUT.getValue().equals(temporaryDishesDTO.getUseType()) ? null : temporaryDishesDTO.getTableId());
|
|
|
|
|
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(temporaryDishesDTO.getShopId(), temporaryDishesDTO.getTableId(), temporaryDishesDTO.getUseType());
|
|
|
|
|
|
|
|
|
|
TbCashierCart tbCashierCart = mpCashierCartService.selectOneCartByShopEatType(shopEatTypeInfoDTO, temporaryDishesDTO.getMasterId(), null, null, false, true);
|
|
|
|
|
// 首次加入
|
|
|
|
|
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());
|
|
|
|
|
cashierCartRepository.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.current());
|
|
|
|
|
tbCashierCart.setIsTemporary(1);
|
|
|
|
|
tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
|
|
|
|
|
cashierCartMapper.updateById(tbCashierCart);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StrUtil.isNotBlank(temporaryDishesDTO.getTableId())) {
|
|
|
|
|
setRedisTableCartInfo(temporaryDishesDTO.getTableId(), temporaryDishesDTO.getShopId().toString(), Collections.singletonList(tbCashierCart), true);
|
|
|
|
|
}
|
|
|
|
|
return tbCashierCart;
|
|
|
|
|
// temporaryDishesDTO.setTableId(OrderUseTypeEnum.TAKEOUT.getValue().equals(temporaryDishesDTO.getUseType()) ? null : temporaryDishesDTO.getTableId());
|
|
|
|
|
// ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(temporaryDishesDTO.getShopId(), temporaryDishesDTO.getTableId(), temporaryDishesDTO.getUseType());
|
|
|
|
|
//
|
|
|
|
|
// TbCashierCart tbCashierCart = mpCashierCartService.selectOneCartByShopEatType(shopEatTypeInfoDTO, temporaryDishesDTO.getMasterId(), null, null, false, true);
|
|
|
|
|
// // 首次加入
|
|
|
|
|
// 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());
|
|
|
|
|
// cashierCartRepository.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.current());
|
|
|
|
|
// tbCashierCart.setIsTemporary(1);
|
|
|
|
|
// tbCashierCart.setUnit(temporaryDishesDTO.getUnit());
|
|
|
|
|
// cashierCartMapper.updateById(tbCashierCart);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// if (StrUtil.isNotBlank(temporaryDishesDTO.getTableId())) {
|
|
|
|
|
// setRedisTableCartInfo(temporaryDishesDTO.getTableId(), temporaryDishesDTO.getShopId().toString(), Collections.singletonList(tbCashierCart), true);
|
|
|
|
|
// }
|
|
|
|
|
// return tbCashierCart;
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setRedisTableCartInfo(String tableId, String shopId, List<TbCashierCart> tbCashierCartList, boolean isAdd) {
|
|
|
|
|
@@ -1639,7 +1640,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
|
|
|
|
orderDetail.setIsMember(cashierCart.getIsMember());
|
|
|
|
|
orderDetail.setIsPrint(cashierCart.getIsPrint());
|
|
|
|
|
orderDetail.setUseCouponInfo(cashierCart.getUseCouponInfo());
|
|
|
|
|
|
|
|
|
|
priceDTO.getOrderDetailList().add(orderDetail);
|
|
|
|
|
}
|
|
|
|
|
return priceDTO;
|
|
|
|
|
@@ -3062,30 +3062,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public TbCashierCart updatePrice(UpdatePriceDTO updatePriceDTO) {
|
|
|
|
|
TbCashierCart cashierCart = mpCashierCartService.selectByShopIdAndId(updatePriceDTO.getShopId(), updatePriceDTO.getCartId(), TableConstant.OrderInfo.Status.CREATE);
|
|
|
|
|
if (cashierCart == null) {
|
|
|
|
|
throw new BadRequestException("购物车商品不存在");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (updatePriceDTO.getSaleAmount().compareTo(cashierCart.getDiscountSaleAmount()) == 0) {
|
|
|
|
|
return cashierCart;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BigDecimal newTotalPrice = updatePriceDTO.getSaleAmount().multiply(cashierCart.getTotalNumber()).add(cashierCart.getPackFee());
|
|
|
|
|
BigDecimal oldAmount = cashierCart.getTotalAmount();
|
|
|
|
|
cashierCart.setTotalAmount(newTotalPrice);
|
|
|
|
|
cashierCart.setUpdatedAt(DateUtil.current());
|
|
|
|
|
cashierCart.setDiscountSaleNote(updatePriceDTO.getNote());
|
|
|
|
|
cashierCart.setDiscountSaleAmount(updatePriceDTO.getSaleAmount());
|
|
|
|
|
mpCashierCartService.updateById(cashierCart);
|
|
|
|
|
|
|
|
|
|
// 更新订单和detail价格
|
|
|
|
|
if (cashierCart.getOrderId() != null) {
|
|
|
|
|
mpOrderDetailService.updatePriceByCartId(cashierCart.getId(), updatePriceDTO.getSaleAmount(), newTotalPrice);
|
|
|
|
|
mpOrderInfoService.incrAmount(cashierCart.getOrderId(), newTotalPrice.subtract(oldAmount));
|
|
|
|
|
}
|
|
|
|
|
return cashierCart;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|