From 2cde01495333cd4c2727537045afb031c4ef4cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Sat, 9 Nov 2024 11:01:41 +0800 Subject: [PATCH 1/6] =?UTF-8?q?fix:=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8D=E4=BB=8Etoken=E8=8E=B7=E5=8F=96user?= =?UTF-8?q?id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProductController.java | 3 ++- .../entity/dto/ChoseEatModelDTO.java | 1 + .../cashierservice/service/CartService.java | 15 +++------------ 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java index 151cc76..397d3cd 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java @@ -118,7 +118,8 @@ public class ProductController { } @PostMapping("/choseEatModel") - public Result choseEatModel(@Validated @RequestBody ChoseEatModelDTO choseEatModelDTO) { + public Result choseEatModel(@RequestHeader("id") Integer userId, @Validated @RequestBody ChoseEatModelDTO choseEatModelDTO) { + choseEatModelDTO.setUserId(userId); List cashierCartList = cartService.choseEatModel(choseEatModelDTO); BigDecimal amount = BigDecimal.ZERO; BigDecimal memberAmount = BigDecimal.ZERO; diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java index 6760671..88feb91 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java @@ -17,4 +17,5 @@ public class ChoseEatModelDTO { @Min(0) // 0切换店内 1切换外带 private Integer type; + private Integer userId; } 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 e2fb9d8..d1db8c4 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -1479,25 +1479,17 @@ public class CartService { } public List choseEatModel(ChoseEatModelDTO choseEatModelDTO) { - Integer userId = TokenUtil.getUserId(); List cashierCartList; + ShopEatTypeInfoDTO shopEatTypeInfoDTO = shopUtils.checkEatModel(choseEatModelDTO.getTableId(), choseEatModelDTO.getShopId()); // 外带模式 if (choseEatModelDTO.getType() == 1) { - // 查询购物车所有信息 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(TbCashierCart::getShopId, choseEatModelDTO.getShopId()) - .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) - .isNull(TbCashierCart::getOrderId) - .ne(TbCashierCart::getProductId, "-999") - .eq(TbCashierCart::getStatus, "create"); - queryWrapper.eq(TbCashierCart::getUserId, userId); - cashierCartList = mpCashierCartMapper.selectList(queryWrapper); + cashierCartList = cashierCartService.selectByShopEatTypeInfo(shopEatTypeInfoDTO, choseEatModelDTO.getUserId()); + cashierCartList = cashierCartList.stream().filter(item -> !TableConstant.CART_SEAT_ID.equals(item.getProductId())).collect(Collectors.toList()); // 计算打包费 if (cashierCartList.isEmpty()) { return new ArrayList<>(); } - List productIds = cashierCartList.stream().map(TbCashierCart::getProductId).collect(Collectors.toList()); Map productMap = productMapper.selectByIds(productIds).stream() .collect(Collectors.toMap( @@ -1516,7 +1508,6 @@ public class CartService { } else { // 查询购物车所有信息 - ShopEatTypeInfoDTO shopEatTypeInfoDTO = shopUtils.checkEatModel(choseEatModelDTO.getTableId(), choseEatModelDTO.getShopId()); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, choseEatModelDTO.getShopId()) .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) From f20c679dc8ad0f4b1c28d276dee000a865825a0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 11 Nov 2024 14:22:46 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=89=93?= =?UTF-8?q?=E5=8C=85=E8=B4=B9=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/controller/ProductController.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java index 397d3cd..d16b8d8 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java @@ -123,6 +123,7 @@ public class ProductController { List cashierCartList = cartService.choseEatModel(choseEatModelDTO); BigDecimal amount = BigDecimal.ZERO; BigDecimal memberAmount = BigDecimal.ZERO; + BigDecimal packFee = BigDecimal.ZERO; ArrayList cashierCarts = new ArrayList<>(); TbCashierCart seatFee = null; for (TbCashierCart item : cashierCartList) { @@ -133,12 +134,14 @@ public class ProductController { }else { seatFee = item; } + packFee = packFee.add(item.getPackFee()); } HashMap data = new HashMap<>(); data.put("amount", amount); data.put("memberAmount", memberAmount); data.put("info", cashierCarts); data.put("seatFee", seatFee); + data.put("packFee", seatFee); return Result.success(CodeEnum.SUCCESS, data); } From d710d2c9af5ad17f3c014278022240c55a36af23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 11 Nov 2024 14:23:56 +0800 Subject: [PATCH 3/6] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=89=93?= =?UTF-8?q?=E5=8C=85=E8=B4=B9=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/controller/ProductController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java index d16b8d8..0528570 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java @@ -141,7 +141,7 @@ public class ProductController { data.put("memberAmount", memberAmount); data.put("info", cashierCarts); data.put("seatFee", seatFee); - data.put("packFee", seatFee); + data.put("packFee", packFee); return Result.success(CodeEnum.SUCCESS, data); } From fb0f193aff25156b9023591dde9960fc5158ea8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 11 Nov 2024 16:26:50 +0800 Subject: [PATCH 4/6] =?UTF-8?q?fix:=20=E4=BC=98=E6=83=A0=E5=88=B8=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/entity/TbCashierCart.java | 15 ++ .../entity/dto/OrderCouponInfoDTO.java | 1 + .../cashierservice/service/CartService.java | 159 +++++++++++------- 3 files changed, 111 insertions(+), 64 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 e7ea0e9..746951b 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbCashierCart.java @@ -97,4 +97,19 @@ public class TbCashierCart implements Serializable { totalAmount = BigDecimal.valueOf(totalNumber).multiply(salePrice).add(packFee); } } + + /** + * 获取总价不包含打包费 + * + */ + public BigDecimal getTotalAmountByNum(Integer num) { + if (num == null) { + num = totalNumber; + } + if (isMember != null && isMember == 1 && memberPrice != null && memberPrice.compareTo(BigDecimal.ZERO) > 0) { + return BigDecimal.valueOf(num).multiply(memberPrice); + } else { + return BigDecimal.valueOf(num).multiply(salePrice); + } + } } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/OrderCouponInfoDTO.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/OrderCouponInfoDTO.java index 21458fa..8320046 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/OrderCouponInfoDTO.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/OrderCouponInfoDTO.java @@ -17,4 +17,5 @@ public class OrderCouponInfoDTO { private HashMap fullReductionCouponMap = new HashMap<>(); // 商品优惠券 private HashMap productCouponMap = new HashMap<>(); + private HashMap> couponMap; } 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 91e7f0d..242e6fd 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -1116,6 +1116,86 @@ public class CartService { return priceDTO; } + private TbUserCouponVo getCanUseCoupon(HashMap> couponMap, String productId) { + List tbUserCouponVos = couponMap.get(productId); + if (tbUserCouponVos == null || tbUserCouponVos.isEmpty()) return null; + for (TbUserCouponVo tbUserCouponVo : tbUserCouponVos) { + if (tbUserCouponVo.getCurrentUseNum() > 0) { + return tbUserCouponVo; + } + } + return null; + } + + private BigDecimal reduceProCoupon(HashMap> couponMap, TbCashierCart cashierCart, HashMap> usedCouponMap, BigDecimal discountAmount, ArrayList balanceCartList, + ArrayList outRecords, Integer memberId) { + TbUserCouponVo couponVo = getCanUseCoupon(couponMap, cashierCart.getProductId()); + if (couponVo != null && couponVo.getCurrentUseNum() > 0) { + BigDecimal currentUseNum; + if (cashierCart.getNumber() < couponVo.getCurrentUseNum()) { + cashierCart.setUserCouponId(couponVo.getId()); + discountAmount = discountAmount.add(cashierCart.getTotalAmountByNum(null)); + couponVo.setCurrentUseNum(couponVo.getCurrentUseNum() - cashierCart.getNumber()); + } + List tbUserCouponVos = usedCouponMap.computeIfAbsent(Integer.valueOf(cashierCart.getProductId()), k -> new ArrayList<>()); + tbUserCouponVos.add(couponVo); + + TbCashierCart balanceCart = null; + // 优惠券数量小于购物车数量,分割购物车数据 + if (cashierCart.getNumber() > couponVo.getCurrentUseNum()) { + currentUseNum = BigDecimal.valueOf(couponVo.getCurrentUseNum()); + BigDecimal cartNum = BigDecimal.valueOf(cashierCart.getNumber()); + int balanceNum = cashierCart.getTotalNumber() - couponVo.getCurrentUseNum(); + BigDecimal singlePackFee = cashierCart.getPackFee().divide(cartNum, RoundingMode.HALF_UP); + cashierCart.setPackFee(singlePackFee.multiply(currentUseNum)); + BigDecimal totalAmountByNum = cashierCart.getTotalAmountByNum(couponVo.getCurrentUseNum()); + cashierCart.setTotalAmount(totalAmountByNum.add(singlePackFee.multiply(currentUseNum))); + cashierCart.setNumber(couponVo.getCurrentUseNum()); + cashierCart.setTotalNumber(couponVo.getCurrentUseNum()); + cashierCart.setUserCouponId(couponVo.getId()); + discountAmount = discountAmount.add(totalAmountByNum); + couponVo.setCurrentUseNum(couponVo.getCurrentUseNum() - cashierCart.getNumber()); + + + // 创建结余购物车 + balanceCart = BeanUtil.copyProperties(cashierCart, TbCashierCart.class); + BigDecimal num = BigDecimal.valueOf(balanceNum); + balanceCart.setUserCouponId(null); + balanceCart.setId(null); + balanceCart.setNumber(balanceNum); + balanceCart.setTotalNumber(balanceNum); + balanceCart.setPackFee(singlePackFee.multiply(num)); + balanceCart.setTotalAmount(cashierCart.getSalePrice().multiply(num).add(balanceCart.getPackFee())); + balanceCartList.add(balanceCart); + } else { + currentUseNum = BigDecimal.valueOf(cashierCart.getNumber()); + discountAmount = discountAmount.add(cashierCart.getTotalAmount().divide(BigDecimal.valueOf(cashierCart.getTotalNumber()), RoundingMode.HALF_UP).multiply(currentUseNum)); + cashierCart.setUserCouponId(couponVo.getId()); + couponVo.setCurrentUseNum(couponVo.getCurrentUseNum() - cashierCart.getNumber()); + } + // 消耗并返还商品优惠券 + Integer shopId = Integer.valueOf(cashierCart.getShopId()); + TbActivateOutRecord tbActivateOutRecord = new TbActivateOutRecord(); + tbActivateOutRecord.setShopId(shopId); + tbActivateOutRecord.setGiveId(couponVo.getId()); + tbActivateOutRecord.setVipUserId(memberId); + tbActivateOutRecord.setType(TableConstant.ActivateOutRecord.Type.FULL_REDUCTION.getValue()); + tbActivateOutRecord.setUseNum(currentUseNum.toBigInteger().intValue()); + tbActivateOutRecord.setStatus(TableConstant.ActivateOutRecord.Status.CLOSED.getValue()); + tbActivateOutRecord.setCreateTime(DateUtil.date()); + tbActivateOutRecord.setRefNum(0); + outRecords.add(tbActivateOutRecord); + + // 优惠券未消耗完毕 + if (balanceCart != null && getCanUseCoupon(couponMap, balanceCart.getProductId()) != null) { + discountAmount = reduceProCoupon(couponMap, balanceCart, usedCouponMap, discountAmount, balanceCartList, outRecords, memberId); + } + return discountAmount; + } + return discountAmount; + } + /** * 根据商品优惠券计算购物车优惠金额 * @@ -1126,74 +1206,25 @@ public class CartService { private BigDecimal calcCartPriceWithCoupon(OrderCartInfoDTO cartInfoDTO, OrderCouponInfoDTO couponInfoDTO, Integer memberId) { ArrayList balanceCartList = new ArrayList<>(); BigDecimal discountAmount = BigDecimal.ZERO; - HashMap couponMap = new HashMap<>(); + HashMap> couponMap = new HashMap<>(); couponInfoDTO.getProductCouponMap().values().forEach(item -> { - couponMap.put(item.getProId().toString(), item); + if (item.getCurrentUseNum() <= 0) { + return; + } + List tbUserCouponVos = couponMap.get(item.getProId().toString()); + if (tbUserCouponVos == null) { + tbUserCouponVos = new ArrayList<>(); + tbUserCouponVos.add(item); + couponMap.put(item.getProId().toString(), tbUserCouponVos); + }else { + tbUserCouponVos.add(item); + } }); - HashMap usedCouponMap = new HashMap<>(); + HashMap> usedCouponMap = new HashMap<>(); ArrayList outRecords = new ArrayList<>(); for (TbCashierCart cashierCart : cartInfoDTO.getNewCashierCarts()) { - TbUserCouponVo couponVo = couponMap.get(cashierCart.getProductId()); - boolean useCoupon; - if (couponVo != null && couponVo.getCurrentUseNum() > 0) { - BigDecimal currentUseNum = BigDecimal.ZERO; - if (cashierCart.getNumber() < couponVo.getCurrentUseNum()) { - currentUseNum = BigDecimal.valueOf(couponVo.getCurrentUseNum()); - BigDecimal cartNum = BigDecimal.valueOf(cashierCart.getNumber()); - BigDecimal singlePackFee = cashierCart.getPackFee().divide(cartNum, RoundingMode.HALF_UP); - cashierCart.setPackFee(singlePackFee.multiply(currentUseNum)); - cashierCart.setTotalAmount(cashierCart.getSalePrice().multiply(currentUseNum).add(singlePackFee.multiply(currentUseNum))); - cashierCart.setNumber(couponVo.getCurrentUseNum()); - cashierCart.setTotalNumber(couponVo.getCurrentUseNum()); - cashierCart.setUserCouponId(couponVo.getId()); - discountAmount = discountAmount.add(cashierCart.getTotalAmount()); - couponVo.setCurrentUseNum(couponVo.getCurrentUseNum() - cashierCart.getNumber()); - } - usedCouponMap.put(Integer.valueOf(cashierCart.getProductId()), couponVo); - // 优惠券数量小于购物车数量,分割购物车数据 - if (cashierCart.getNumber() > couponVo.getCurrentUseNum()) { - currentUseNum = BigDecimal.valueOf(couponVo.getCurrentUseNum()); - BigDecimal cartNum = BigDecimal.valueOf(cashierCart.getNumber()); - int balanceNum = cashierCart.getTotalNumber() - couponVo.getCurrentUseNum(); - BigDecimal singlePackFee = cashierCart.getPackFee().divide(cartNum, RoundingMode.HALF_UP); - cashierCart.setPackFee(singlePackFee.multiply(currentUseNum)); - cashierCart.setTotalAmount(cashierCart.getSalePrice().multiply(currentUseNum).add(singlePackFee.multiply(currentUseNum))); - cashierCart.setNumber(couponVo.getCurrentUseNum()); - cashierCart.setTotalNumber(couponVo.getCurrentUseNum()); - cashierCart.setUserCouponId(couponVo.getId()); - discountAmount = discountAmount.add(cashierCart.getTotalAmount()); - couponVo.setCurrentUseNum(couponVo.getCurrentUseNum() - cashierCart.getNumber()); + discountAmount = reduceProCoupon(couponMap, cashierCart, usedCouponMap, discountAmount, balanceCartList, outRecords, memberId); - - // 创建结余购物车 - TbCashierCart balanceCart = BeanUtil.copyProperties(cashierCart, TbCashierCart.class); - BigDecimal num = BigDecimal.valueOf(balanceNum); - balanceCart.setUserCouponId(null); - balanceCart.setId(null); - balanceCart.setNumber(balanceNum); - balanceCart.setTotalNumber(balanceNum); - balanceCart.setPackFee(singlePackFee.multiply(num)); - balanceCart.setTotalAmount(cashierCart.getSalePrice().multiply(num).add(balanceCart.getPackFee())); - balanceCartList.add(balanceCart); - } else { - currentUseNum = BigDecimal.valueOf(cashierCart.getNumber()); - discountAmount = discountAmount.add(cashierCart.getTotalAmount()); - cashierCart.setUserCouponId(couponVo.getId()); - couponVo.setCurrentUseNum(couponVo.getCurrentUseNum() - cashierCart.getNumber()); - } - // 消耗并返还商品优惠券 - Integer shopId = Integer.valueOf(cashierCart.getShopId()); - TbActivateOutRecord tbActivateOutRecord = new TbActivateOutRecord(); - tbActivateOutRecord.setShopId(shopId); - tbActivateOutRecord.setGiveId(couponVo.getId()); - tbActivateOutRecord.setVipUserId(memberId); - tbActivateOutRecord.setType(TableConstant.ActivateOutRecord.Type.FULL_REDUCTION.getValue()); - tbActivateOutRecord.setUseNum(currentUseNum.toBigInteger().intValue()); - tbActivateOutRecord.setStatus(TableConstant.ActivateOutRecord.Status.CLOSED.getValue()); - tbActivateOutRecord.setCreateTime(DateUtil.date()); - tbActivateOutRecord.setRefNum(0); - outRecords.add(tbActivateOutRecord); - } } if (!balanceCartList.isEmpty()) { @@ -1205,7 +1236,7 @@ public class CartService { cashierCartService.updateBatchById(cartInfoDTO.getNewCashierCarts()); couponInfoDTO.setOutRecordList(outRecords); - couponInfoDTO.setProductCouponMap(usedCouponMap); + couponInfoDTO.setCouponMap(usedCouponMap); return discountAmount; } From 2f5d91c90435c80ca643cd367addf0cc95ab9209 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 11 Nov 2024 16:33:20 +0800 Subject: [PATCH 5/6] =?UTF-8?q?fix:=20=E4=BC=9A=E5=91=98=E4=BB=B7=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/controller/ProductController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java index 0528570..2d64362 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java @@ -130,6 +130,7 @@ public class ProductController { if (!TableConstant.CART_SEAT_ID.equals(item.getProductId())) { cashierCarts.add(item); amount = amount.add(item.getSalePrice().multiply(BigDecimal.valueOf(item.getTotalNumber())).add(item.getPackFee())); + if (item.getMemberPrice() == null) item.setMemberPrice(item.getSalePrice()); memberAmount = memberAmount.add(item.getMemberPrice().multiply(BigDecimal.valueOf(item.getTotalNumber())).add(item.getPackFee())); }else { seatFee = item; From da7c868dfebe60c7783eff71713016e8b6712011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 11 Nov 2024 16:42:07 +0800 Subject: [PATCH 6/6] =?UTF-8?q?fix:=20=E4=BC=9A=E5=91=98=E4=BB=B7=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/controller/ProductController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java index 2d64362..03d9409 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java @@ -130,7 +130,7 @@ public class ProductController { if (!TableConstant.CART_SEAT_ID.equals(item.getProductId())) { cashierCarts.add(item); amount = amount.add(item.getSalePrice().multiply(BigDecimal.valueOf(item.getTotalNumber())).add(item.getPackFee())); - if (item.getMemberPrice() == null) item.setMemberPrice(item.getSalePrice()); + if (item.getMemberPrice() == null || item.getMemberPrice().compareTo(BigDecimal.ZERO) <= 0) item.setMemberPrice(item.getSalePrice()); memberAmount = memberAmount.add(item.getMemberPrice().multiply(BigDecimal.valueOf(item.getTotalNumber())).add(item.getPackFee())); }else { seatFee = item;