From 1045d8a4913ae1a4f91b14089afe0520c98e529c Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 26 十一月 2025 21:23:04 +0800
Subject: [PATCH] 司机端提现修改

---
 DriverJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/biz/DouGongBasicDataBiz.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/DriverJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/biz/DouGongBasicDataBiz.java b/DriverJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/biz/DouGongBasicDataBiz.java
index 53b2e54..a783a0e 100644
--- a/DriverJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/biz/DouGongBasicDataBiz.java
+++ b/DriverJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/biz/DouGongBasicDataBiz.java
@@ -14,6 +14,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -267,4 +268,38 @@
         log.info("用户业务入驻修改返回参数:{}", response);
         return response;
     }
+    /**
+     * 电子账户余额查询
+     *
+     * @return
+     * @throws Exception
+     */
+    public BigDecimal balanceQuery(String huifuId) throws Exception {
+        // 1. 数据初始化,填入对应的商户配置
+        MerConfig merConfig = new MerConfig();
+        merConfig.setProcutId(huiFuProperties.getProductId());
+        merConfig.setSysId(huiFuProperties.getSysId());
+        merConfig.setRsaPrivateKey(huiFuProperties.getRsaPrivateKey());
+        merConfig.setRsaPublicKey(huiFuProperties.getRsaPublicKey());
+        BasePay.initWithMerConfig(merConfig);
+        // 2.组装请求参数
+        Map<String, Object> paramsInfo = new HashMap<>();
+        // 汇付ID
+        paramsInfo.put("huifu_id", huifuId);
+        // 请求流水号
+        paramsInfo.put("req_seq_id", RequestSeqUtil.generateForHuiFu());
+        // 请求日期
+        paramsInfo.put("req_date", com.stylefeng.guns.core.util.DateUtil.format(new Date(), "yyyyMMdd"));
+        log.info("账户余额信息查询返回参数:{}", paramsInfo);
+        // 3. 发起API调用
+        Map<String, Object> response = BasePayRequest.requestBasePay("v2/trade/acctpayment/balance/query", paramsInfo, null, false);
+        log.info("账户余额信息查询返回参数:{}", response);
+        JSONArray accountList = JSONArray.parseArray(response.get("acctInfo_list").toString());
+        if (accountList != null && !accountList.isEmpty()) {
+            JSONObject acctInfo = accountList.getJSONObject(0);
+            log.info("账户余额信息查询返回余额:{}", acctInfo.getString("avail_bal"));
+            return acctInfo.getBigDecimal("avl_bal");
+        }
+        return BigDecimal.ZERO;
+    }
 }

--
Gitblit v1.7.1