From 2d2d58f78780767d8172081f8087ae412855527e Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 14 十月 2026 13:30:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.3' into 2.3

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserWhitelistServiceImpl.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserWhitelistServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserWhitelistServiceImpl.java
index 5a88272..c9d1af4 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserWhitelistServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserWhitelistServiceImpl.java
@@ -457,6 +457,26 @@
     }
 
     @Override
+    public BigDecimal resolveWhitelistAccountBalance(AppUserWhitelistMatchVO match) {
+        if (match == null || !Boolean.TRUE.equals(match.getMatched()) || match.getCompanyId() == null) {
+            return null;
+        }
+        try {
+            TGroupCompany company = loadCompany(match.getCompanyId());
+            Integer accountMode = company == null ? null : company.getAccountMode();
+            if (accountMode == null) {
+                // 历史数据账户模式为空,按共享模式处理
+                accountMode = ACCOUNT_MODE_SHARED;
+            }
+            return resolveAvailableBalance(accountMode, match.getBalance(),
+                    company == null ? null : company.getAvailableBalance());
+        } catch (Exception ex) {
+            log.warn("解析白名单账户可用余额失败,companyId={}", match.getCompanyId(), ex);
+            return null;
+        }
+    }
+
+    @Override
     public List<TAppUserWhitelist> listByCompany(Integer companyId) {
         if (companyId == null) {
             return Collections.emptyList();

--
Gitblit v1.7.1