|
|
|
|
@@ -194,7 +194,10 @@ public class CartService {
|
|
|
|
|
if (cashierCart.getIsVip().equals((byte) 1)) continue;
|
|
|
|
|
if ((!TableConstant.CART_SEAT_ID.equals(cashierCart.getProductId())) && cashierCart.getNumber() > 0) {
|
|
|
|
|
amount = amount.add(cashierCart.getSalePrice().multiply(BigDecimal.valueOf(cashierCart.getTotalNumber())).add(cashierCart.getPackFee()));
|
|
|
|
|
memberAmount = memberAmount.add(cashierCart.getMemberPrice().multiply(BigDecimal.valueOf(cashierCart.getTotalNumber())).add(cashierCart.getPackFee()));
|
|
|
|
|
BigDecimal mPrice = cashierCart.getIsMember() == 1 && cashierCart.getMemberPrice() != null && cashierCart.getMemberPrice().compareTo(BigDecimal.ZERO) > 0
|
|
|
|
|
? cashierCart.getMemberPrice() : cashierCart.getSalePrice();
|
|
|
|
|
memberAmount = memberAmount.add(mPrice.multiply(BigDecimal.valueOf(cashierCart.getTotalNumber())).add(cashierCart.getPackFee()));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
redisUtil.saveMessage(tableCartKey, array.toString(), 60 * 60 * 12L);
|
|
|
|
|
@@ -350,12 +353,14 @@ public class CartService {
|
|
|
|
|
if (Objects.isNull(array) || array.isEmpty()) {
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
TbCashierCart cashierCart = addCart(productId, skuId,
|
|
|
|
|
jsonObject.getInteger("userId"), buyNum, tableId, shopId, isVip, note, shopEatTypeInfoDTO.isTakeout());
|
|
|
|
|
jsonObject.getInteger("userId"), buyNum, tableId, shopId, isVip, note, shopEatTypeInfoDTO);
|
|
|
|
|
jsonArray.add(cashierCart);
|
|
|
|
|
cashierCart.setPlaceNum(cashierCart.getPlaceNum() == null ? 0 : cashierCart.getPlaceNum());
|
|
|
|
|
cashierCartArrayList.add(cashierCart);
|
|
|
|
|
amount = amount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
|
|
|
|
memberAmount = memberAmount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getMemberPrice().add(cashierCart.getPackFee())));
|
|
|
|
|
BigDecimal mPrice = cashierCart.getIsMember() == 1 && cashierCart.getMemberPrice() != null && cashierCart.getMemberPrice().compareTo(BigDecimal.ZERO) > 0
|
|
|
|
|
? cashierCart.getMemberPrice() : cashierCart.getSalePrice();
|
|
|
|
|
memberAmount = memberAmount.add(mPrice.multiply(BigDecimal.valueOf(cashierCart.getTotalNumber())).add(cashierCart.getPackFee()));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
@@ -411,7 +416,9 @@ public class CartService {
|
|
|
|
|
jsonArray.add(cashierCart);
|
|
|
|
|
cashierCartArrayList.add(cashierCart);
|
|
|
|
|
amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
|
|
|
|
memberAmount = memberAmount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getMemberPrice().add(cashierCart.getPackFee())));
|
|
|
|
|
BigDecimal mPrice = cashierCart.getIsMember() == 1 && cashierCart.getMemberPrice() != null && cashierCart.getMemberPrice().compareTo(BigDecimal.ZERO) > 0
|
|
|
|
|
? cashierCart.getMemberPrice() : cashierCart.getSalePrice();
|
|
|
|
|
memberAmount = memberAmount.add(mPrice.multiply(BigDecimal.valueOf(cashierCart.getTotalNumber())).add(cashierCart.getPackFee()));
|
|
|
|
|
|
|
|
|
|
if ("-999".equals(cashierCart.getProductId())) {
|
|
|
|
|
hasSeat = true;
|
|
|
|
|
@@ -420,10 +427,12 @@ public class CartService {
|
|
|
|
|
|
|
|
|
|
if (flag && type == 1) {
|
|
|
|
|
TbCashierCart cashierCart = addCart(productId, skuId,
|
|
|
|
|
jsonObject.getInteger("userId"), buyNum, tableId, shopId, isVip, note, shopEatTypeInfoDTO.isTakeout());
|
|
|
|
|
jsonObject.getInteger("userId"), buyNum, tableId, shopId, isVip, note, shopEatTypeInfoDTO);
|
|
|
|
|
jsonArray.add(cashierCart);
|
|
|
|
|
amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
|
|
|
|
memberAmount = memberAmount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getMemberPrice().add(cashierCart.getPackFee())));
|
|
|
|
|
BigDecimal mPrice = cashierCart.getIsMember() == 1 && cashierCart.getMemberPrice() != null && cashierCart.getMemberPrice().compareTo(BigDecimal.ZERO) > 0
|
|
|
|
|
? cashierCart.getMemberPrice() : cashierCart.getSalePrice();
|
|
|
|
|
memberAmount = memberAmount.add(mPrice.multiply(BigDecimal.valueOf(cashierCart.getTotalNumber())).add(cashierCart.getPackFee()));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -431,7 +440,7 @@ public class CartService {
|
|
|
|
|
} else {
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
TbCashierCart cashierCart = addCart(productId, skuId,
|
|
|
|
|
jsonObject.getInteger("userId"), buyNum, tableId, shopId, isVip, note, shopEatTypeInfoDTO.isTakeout());
|
|
|
|
|
jsonObject.getInteger("userId"), buyNum, tableId, shopId, isVip, note, shopEatTypeInfoDTO);
|
|
|
|
|
if (!TableConstant.CART_SEAT_ID.equals(productId)) {
|
|
|
|
|
jsonArray.add(cashierCart);
|
|
|
|
|
}
|
|
|
|
|
@@ -439,7 +448,9 @@ public class CartService {
|
|
|
|
|
cashierCartArrayList.add(cashierCart);
|
|
|
|
|
if (isVip != 1) {
|
|
|
|
|
amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
|
|
|
|
memberAmount = memberAmount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getMemberPrice().add(cashierCart.getPackFee())));
|
|
|
|
|
BigDecimal mPrice = cashierCart.getIsMember() == 1 && cashierCart.getMemberPrice() != null && cashierCart.getMemberPrice().compareTo(BigDecimal.ZERO) > 0
|
|
|
|
|
? cashierCart.getMemberPrice() : cashierCart.getSalePrice();
|
|
|
|
|
memberAmount = memberAmount.add(mPrice.multiply(BigDecimal.valueOf(cashierCart.getTotalNumber())).add(cashierCart.getPackFee()));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -566,7 +577,7 @@ public class CartService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private TbCashierCart addCart(String productId, String skuId, Integer userId, Integer num,
|
|
|
|
|
String tableId, String shopId, Integer isVip, String note, boolean isTakeout) throws Exception {
|
|
|
|
|
String tableId, String shopId, Integer isVip, String note, ShopEatTypeInfoDTO shopEatTypeInfoDTO) throws Exception {
|
|
|
|
|
try {
|
|
|
|
|
// 查询用户信息
|
|
|
|
|
TbShopUser shopUser = shopUserMapper.selectByUserIdAndShopId(String.valueOf(userId), shopId);
|
|
|
|
|
@@ -601,7 +612,6 @@ public class CartService {
|
|
|
|
|
cashierCart.setNumber(num);
|
|
|
|
|
cashierCart.setTotalNumber(num);
|
|
|
|
|
}
|
|
|
|
|
cashierCart.setIsMember(shopUser.getIsVip() == 1 && productSku.getMemberPrice() != null && productSku.getMemberPrice().compareTo(BigDecimal.ZERO) > 0 ? 1 : 0);
|
|
|
|
|
cashierCart.setNote(note);
|
|
|
|
|
cashierCart.setProductId(productId);
|
|
|
|
|
cashierCart.setSkuId(skuId);
|
|
|
|
|
@@ -621,10 +631,13 @@ public class CartService {
|
|
|
|
|
cashierCart.setUpdatedAt(Instant.now().toEpochMilli());
|
|
|
|
|
cashierCart.setPackFee(BigDecimal.ZERO);
|
|
|
|
|
cashierCart.setRefundNumber(0);
|
|
|
|
|
cashierCart.setMemberPrice(productSku.getMemberPrice() == null || productSku.getMemberPrice().compareTo(BigDecimal.ZERO) <= 0 ? productSku.getSalePrice() : productSku.getMemberPrice());
|
|
|
|
|
if (shopEatTypeInfoDTO.isMemberPrice() && shopUser.getIsVip() == 1) {
|
|
|
|
|
cashierCart.setMemberPrice(productSku.getMemberPrice());
|
|
|
|
|
cashierCart.setIsMember(1);
|
|
|
|
|
}
|
|
|
|
|
cashierCart.setTradeDay(DateUtils.getDay());
|
|
|
|
|
// 打包费
|
|
|
|
|
if (isTakeout && product.getPackFee() != null) {
|
|
|
|
|
if (shopEatTypeInfoDTO.isTakeout() && product.getPackFee() != null) {
|
|
|
|
|
cashierCart.setPackFee(product.getPackFee().multiply(BigDecimal.valueOf(num)));
|
|
|
|
|
}
|
|
|
|
|
if (isVip == 1) {
|
|
|
|
|
|