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())) {