From 80262701ddf3142954ea649ccc3eaa138e60aa04 Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期一, 22 七月 2024 16:49:01 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 4761a9f..3995532 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -645,18 +645,26 @@
                     BigDecimal pice1=new BigDecimal(data.getDiscountRate());
                     BigDecimal pice2=new BigDecimal(0.1);
                     BigDecimal pice3=pice.multiply(pice1.multiply(pice2));
-                    if (pice3.compareTo(new BigDecimal(data.getMaxDiscount().doubleValue()))>0){
-                        pice3=new BigDecimal(data.getMaxDiscount().doubleValue());
+                    if (data.getMaxDiscount()!=null){
+                        if (pice3.compareTo(new BigDecimal(data.getMaxDiscount().doubleValue()))>0){
+                            pice3=new BigDecimal(data.getMaxDiscount().doubleValue());
+                        }
                     }
-                    if(pice.compareTo(pice3)<0){
+                    if(pice.compareTo(pice3)>0){
                         BigDecimal pice4= pice.subtract(pice3);
-                        if (pice4.doubleValue()>data.getMaxDiscount().doubleValue()){
-                            pice=pice.subtract(data.getMaxDiscount());
-                            order.setDiscountMoney(data.getMaxDiscount());
+                        if (data.getMaxDiscount()!=null){
+                            if (pice4.doubleValue()>data.getMaxDiscount().doubleValue()){
+                                pice=pice.subtract(data.getMaxDiscount());
+                                order.setDiscountMoney(data.getMaxDiscount());
+                            }else{
+                                order.setDiscountMoney(pice4);
+                                pice=pice3;
+                            }
                         }else{
-                            order.setDiscountMoney(pice4);
+                            order.setDiscountMoney(pice.subtract(pice3));
                             pice=pice3;
                         }
+
                     }else{
                         order.setDiscountMoney(pice);
                         pice=new BigDecimal(0);

--
Gitblit v1.7.1