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 6443842..7c5abc9 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java @@ -82,7 +82,7 @@ public class TbCashierCart implements Serializable { if ("true".equals(isGift)) { totalAmount = packFee; }else { - if (isMember != null && isMember == 1) { + if (isMember != null && isMember == 1 && memberPrice != null && 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/dto/ShopEatTypeInfoDTO.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopEatTypeInfoDTO.java index 58252ee..6f78fd8 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopEatTypeInfoDTO.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopEatTypeInfoDTO.java @@ -12,6 +12,7 @@ public class ShopEatTypeInfoDTO { private boolean isDineInAfter; private boolean isDineInBefore; private boolean needSeatFee; + private boolean isMemberPrice; private TbShopInfo shopInfo; private String useType; private String sendType; diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 0291a20..bdcb7f7 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -165,8 +165,9 @@ public class OrderService { boolean isDineInAfter = !isMunchies && !isTakeout; boolean isDineInBefore = isMunchies && !isTakeout; boolean needSeatFee = !isTakeout && (shopInfo.getIsTableFee() == null || shopInfo.getIsTableFee() == 0); + boolean isMemberPrice = shopInfo.getIsMemberPrice() != null && shopInfo.getIsMemberPrice() == 1; - return new ShopEatTypeInfoDTO(isTakeout, isMunchies, isDineInAfter, isDineInBefore, needSeatFee, shopInfo, isTakeout ? OrderUseTypeEnum.TAKEOUT.getValue() : + return new ShopEatTypeInfoDTO(isTakeout, isMunchies, isDineInAfter, isDineInBefore, needSeatFee, isMemberPrice, shopInfo, isTakeout ? OrderUseTypeEnum.TAKEOUT.getValue() : isMunchies ? OrderUseTypeEnum.DINE_IN_BEFORE.getValue() : OrderUseTypeEnum.DINE_IN_AFTER.getValue(), isTakeout ? OrderSendTypeEnums.TAKE_SELF.getValue() : OrderSendTypeEnums.TABLE.getValue()); } @@ -354,7 +355,7 @@ public class OrderService { cashierCart.setSalePrice(skuWithBLOBs.getSalePrice()); cashierCart.setSkuId(skuWithBLOBs.getId().toString()); cashierCart.setSkuName(skuWithBLOBs.getSpecSnap()); - cashierCart.setMemberPrice(skuWithBLOBs.getMemberPrice() != null && skuWithBLOBs.getMemberPrice().compareTo(BigDecimal.ZERO) > 0 ? skuWithBLOBs.getMemberPrice() : skuWithBLOBs.getSalePrice()); + cashierCart.setMemberPrice(skuWithBLOBs.getMemberPrice()); cashierCart.setIsMember(0); } cashierCart.setShopId(shopId.toString()); @@ -860,7 +861,7 @@ public class OrderService { ArrayList addOrderDetailList = new ArrayList<>(); for (TbCashierCart cashierCart : list) { - cashierCart.setIsMember(orderVo.getVipUserId() == null ? 0: 1); + cashierCart.setIsMember(eatTypeInfoDTO.isMemberPrice() && orderVo.getVipUserId() != null && orderVo.getVipUserId() == 1 ? 1 : 0); cashierCart.resetTotalAmount(); // 设置下单次数 if (cashierCart.getPlaceNum() == null) {