From e5e0e2a8257bdb320f380c37e9575268cf0e0ec7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 6 Nov 2024 13:50:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=9A=E5=91=98=E4=BB=B7=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/entity/TbCashierCart.java | 2 +- .../system/cashierservice/entity/TbOrderDetail.java | 1 + .../system/cashierservice/service/CartService.java | 7 ++++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java index d397a35..f0a7f3c 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java @@ -91,7 +91,7 @@ public class TbCashierCart implements Serializable { public void resetTotalAmount() { - if (isMember != null && isMember == 1) { + if (isMember != null && isMember == 1 && memberPrice.compareTo(BigDecimal.ZERO) > 0) { totalAmount = BigDecimal.valueOf(totalNumber).multiply(memberPrice).add(packFee); }else { totalAmount = BigDecimal.valueOf(totalNumber).multiply(salePrice).add(packFee); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderDetail.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderDetail.java index d91d8db..90f2f56 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderDetail.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderDetail.java @@ -45,6 +45,7 @@ public class TbOrderDetail implements Serializable { private Integer placeNum; private String useType; private String note; + private BigDecimal memberPrice; private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index be853f2..2be9a18 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -601,7 +601,7 @@ public class CartService { cashierCart.setNumber(num); cashierCart.setTotalNumber(num); } - cashierCart.setIsMember(shopUser.getIsVip() == 1 && productSku.getMemberPrice() != null ? 1 : 0); + 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,7 +621,7 @@ public class CartService { cashierCart.setUpdatedAt(Instant.now().toEpochMilli()); cashierCart.setPackFee(BigDecimal.ZERO); cashierCart.setRefundNumber(0); - cashierCart.setMemberPrice(productSku.getMemberPrice()); + cashierCart.setMemberPrice(productSku.getMemberPrice() == null || productSku.getMemberPrice().compareTo(BigDecimal.ZERO) <= 0 ? productSku.getSalePrice() : productSku.getMemberPrice()); cashierCart.setTradeDay(DateUtils.getDay()); // 打包费 if (isTakeout && product.getPackFee() != null) { @@ -1076,6 +1076,7 @@ public class CartService { orderDetail.setProductSkuName(productSku.getSpecSnap()); } + orderDetail.setMemberPrice(cashierCart.getMemberPrice()); orderDetail.setNote(cashierCart.getNote()); orderDetail.setCreateTime(DateUtil.date().toTimestamp()); orderDetail.setNum(cashierCart.getNumber()); @@ -1207,7 +1208,7 @@ public class CartService { tbCashierCart.setIsMember(0); }else { TbProductSkuWithBLOBs sku = productSkuMapper.selectByPrimaryKey(Integer.valueOf(tbCashierCart.getSkuId())); - tbCashierCart.setIsMember(sku.getMemberPrice() != null ? 1 : 0); + tbCashierCart.setIsMember(sku.getMemberPrice() != null && sku.getMemberPrice().compareTo(BigDecimal.ZERO) > 0 ? 1 : 0); } tbCashierCart.resetTotalAmount(); if (TableConstant.CashierCart.ID.equals(tbCashierCart.getProductId())) {