From e556b37c7c35c88fd3d9ae9cde1efe5cffe7710c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?=
 <14103883+leaf-phos@user.noreply.gitee.com>
Date: Wed, 11 Sep 2024 20:58:13 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E9=87=91=E9=A2=9D=E4=BF=AE?=
 =?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/main/java/com/ruoyi/ss/suit/domain/Suit.java |  2 +-
 .../ss/suit/service/impl/SuitValidatorImpl.java      | 12 ++++++++++++
 .../service/impl/TransactionBillServiceImpl.java     |  7 ++++++-
 .../src/main/resources/application-dev.yml           |  2 +-
 4 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/suit/domain/Suit.java b/smart-switch-service/src/main/java/com/ruoyi/ss/suit/domain/Suit.java
index 2862b260..4cf159cc 100644
--- a/smart-switch-service/src/main/java/com/ruoyi/ss/suit/domain/Suit.java
+++ b/smart-switch-service/src/main/java/com/ruoyi/ss/suit/domain/Suit.java
@@ -52,7 +52,7 @@ public class Suit extends BaseEntity
     @Excel(name = "价格/押金")
     @JsonView({DeviceView.SuitList.class, JsonViewProfile.AppMch.class})
     @NotNull(message = "价格/押金不允许为空", groups = {ValidGroup.Create.class, ValidGroup.FrontCreate.class})
-    @DecimalMin(value = "0.1", message = "价格/押金不允许小于0.1")
+    @Min(value = 0, message = "价格/押金不允许小于0")
     private BigDecimal price;
 
     /** 详细说明 */
diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/suit/service/impl/SuitValidatorImpl.java b/smart-switch-service/src/main/java/com/ruoyi/ss/suit/service/impl/SuitValidatorImpl.java
index 5ddf2dd3..37b57813 100644
--- a/smart-switch-service/src/main/java/com/ruoyi/ss/suit/service/impl/SuitValidatorImpl.java
+++ b/smart-switch-service/src/main/java/com/ruoyi/ss/suit/service/impl/SuitValidatorImpl.java
@@ -13,6 +13,8 @@ import com.ruoyi.ss.suit.domain.enums.SuitFeeMode;
 import com.ruoyi.ss.suit.domain.enums.SuitFeeType;
 import com.ruoyi.ss.suit.service.SuitService;
 import com.ruoyi.ss.suit.service.SuitValidator;
+import com.ruoyi.system.domain.enums.config.ConfigKey;
+import com.ruoyi.system.service.ISysConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -33,6 +35,9 @@ public class SuitValidatorImpl extends BaseValidator implements SuitValidator {
     @Autowired
     private SuitService suitService;
 
+    @Autowired
+    private ISysConfigService sysConfigService;
+
     @Override
     public ValidateResult preLogicDel(List<Long> suitIds) {
         if (CollectionUtils.isEmptyElement(suitIds)) {
@@ -166,6 +171,13 @@ public class SuitValidatorImpl extends BaseValidator implements SuitValidator {
             }
         }
 
+        if (create || suit.getPrice() != null) {
+            BigDecimal minService = sysConfigService.getBigDecimal(ConfigKey.RECHARGE_MIN_SERVICE);
+            if (suit.getPrice().compareTo(minService) < 0) {
+                return error("价格/押金不允许低于" + minService + "元");
+            }
+        }
+
         return success();
     }
 }
diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java b/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java
index 3f9c97e9..3f75ed0a 100644
--- a/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java
+++ b/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java
@@ -293,10 +293,15 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
             // 非分时订单,处理最低服务费
             if (!SuitFeeType.timingList().contains(order.getSuitFeeType())) {
                 BigDecimal minService = sysConfigService.getBigDecimal(ConfigKey.RECHARGE_MIN_SERVICE);
-                ServiceUtil.assertion(order.getMoney().compareTo(minService) < 0, "当前套餐金额小于最低服务费,请联系商户处理");
+//                ServiceUtil.assertion(order.getMoney().compareTo(minService) < 0, "当前套餐金额小于最低服务费,请联系商户处理");
+                // 当服务费不满足最低服务费时,设置为最低服务费
                 if (serviceCharge.compareTo(minService) < 0) {
                     serviceCharge = minService;
                 }
+                // 当金额不满足服务费时,将全收
+                if (order.getMoney().compareTo(serviceCharge) < 0) {
+                    serviceCharge = order.getMoney();
+                }
             }
             order.setServiceCharge(serviceCharge);
 
diff --git a/smart-switch-web/src/main/resources/application-dev.yml b/smart-switch-web/src/main/resources/application-dev.yml
index d1920906..1f34b285 100644
--- a/smart-switch-web/src/main/resources/application-dev.yml
+++ b/smart-switch-web/src/main/resources/application-dev.yml
@@ -26,7 +26,7 @@ wx:
     # 转账回调地址
     transferNotifyUrl: https://kg-dev.chuangtewl.com/dev-api/app/pay/notify/wx/transfer
     # 密钥所在位置
-    privateKeyPath: D:/project/证书/wxpay-kg/apiclient_key.pem
+    privateKeyPath: H:/project/创特/证书/wxpay-kg/apiclient_key.pem
     # 证书序列号
     merchantSerialNumber: 6AD69237C0F22A9AE51A64F1927E3A0962AC1FB0