rentaiming
2024-07-22 80262701ddf3142954ea649ccc3eaa138e60aa04
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);