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