From ae1471f378f399f76518539ec8992e64a3673436 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期三, 08 一月 2025 15:26:06 +0800
Subject: [PATCH] 1.订单提交:订单最小金额配置

---
 src/main/java/com/mzl/flower/service/payment/OrderService.java |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java
index dc09d4c..2dcfedd 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java
@@ -543,9 +543,26 @@
             totalAmount = new BigDecimal(0);
         }
         totalAmount = totalAmount.add(p.getPacking()).add(transportFee);
-        if(totalAmount.doubleValue() <= 0){//假如总价小于等于0,则支付0.01元
-            totalAmount = new BigDecimal("0.01");
+
+        // 判断最低金额如果小于配置的钱,则不能提交
+        String paramGroup = "orderpay";
+        String paramKey = "order_min_fee";
+        String baseString = configParamService.getBaseString(paramGroup, paramKey);
+        if(StringUtils.isNotEmpty(baseString)){
+            // 判断类型是否错误,可转换成BigDecimal
+            try {
+                BigDecimal minFee = new BigDecimal(baseString);
+                if(totalAmount.compareTo(minFee) < 0){
+                    throw new ValidationException("订单金额不能低于"+minFee+"元");
+                }
+            } catch (NumberFormatException e) {
+                log.error("订单金额配置有误,请检查配置", e);
+                throw new ValidationException("订单金额配置有误,请检查配置");
+            }
         }
+//        if(totalAmount.doubleValue() <= 0){//假如总价小于等于0,则支付0.01元
+//            totalAmount = new BigDecimal("0.01");
+//        }
         order.setTotalAmount(totalAmount);
 
         order.setCustomer(address.getName());

--
Gitblit v1.9.3