From eac1bb48ce6df55a923981a99c26693406f877e9 Mon Sep 17 00:00:00 2001
From: jiangqs <343695869@qq.com>
Date: 星期二, 25 七月 2023 21:56:42 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index ca84762..4b611e6 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -236,8 +236,8 @@
                     couponType = appMemberCouponVo.getCouponType();
                     if (couponType == 1 && appMemberCouponVo.getMoneyThreshold() != null && appMemberCouponVo.getDiscountMoney() != null) {
                         moneyThreshold = appMemberCouponVo.getMoneyThreshold();
-                        if (goodsTotalPrice.compareTo(moneyThreshold) >= 0) {
-                            discountMoney = appMemberCouponVo.getDiscountMoney();
+                        discountMoney = appMemberCouponVo.getDiscountMoney();
+                        if (goodsTotalPrice.compareTo(moneyThreshold) >= 0 && goodsTotalPrice.compareTo(discountMoney)>0) {
                             goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
                             useCoupon = 1;
                             userCouponIdSet.add(memberCouponId);
@@ -252,13 +252,15 @@
                         appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
                     } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) {
                         discountMoney = appMemberCouponVo.getDiscountMoney();
-                        goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
-                        if(goodsRealPrice.compareTo(BigDecimal.ZERO)<0){
-                            goodsRealPrice = BigDecimal.ZERO;
+                        if(goodsTotalPrice.compareTo(discountMoney)>0){
+                            goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
+                            if(goodsRealPrice.compareTo(BigDecimal.ZERO)<0){
+                                goodsRealPrice = BigDecimal.ZERO;
+                            }
+                            useCoupon = 1;
+                            userCouponIdSet.add(memberCouponId);
+                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
                         }
-                        useCoupon = 1;
-                        userCouponIdSet.add(memberCouponId);
-                        appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
                     }
                 }
             }
@@ -302,10 +304,14 @@
                 appGoodsMemberCouponVoList = new ArrayList<>();
                 for(AppMemberCouponVo entity : appMemberCouponVoList){
                     if(StringUtils.isBlank(entity.getRelGoodsIds())||entity.getRelGoodsIds().contains(sureOrderGoodsVo.getGoodsId())){
-                        if(entity.getCouponType()!=1){
+                        if(entity.getCouponType()==1){
+                            if(entity.getMoneyThreshold().compareTo(sureOrderGoodsVo.getGoodsTotalPrice())<0&&entity.getDiscountMoney().compareTo(sureOrderGoodsVo.getGoodsTotalPrice())<0){
+                                appGoodsMemberCouponVoList.add(entity);
+                            }
+                        }else if(entity.getCouponType()==2){
                             appGoodsMemberCouponVoList.add(entity);
-                        }else{
-                            if(entity.getMoneyThreshold().compareTo(sureOrderGoodsVo.getGoodsTotalPrice())<0){
+                        }else if(entity.getCouponType()==3){
+                            if(entity.getDiscountMoney().compareTo(sureOrderGoodsVo.getGoodsTotalPrice())<0){
                                 appGoodsMemberCouponVoList.add(entity);
                             }
                         }

--
Gitblit v1.7.1