From 259cbaab9a033db8a8d5424fde57fb9d7509a1a2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 23 Jun 2026 22:13:38 +0800
Subject: [PATCH] feat(pay): 添加巴西雷亚尔货币转换功能
---
src/main/java/cc/mrbird/febs/pay/service/LwPayService.java | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/pay/service/LwPayService.java b/src/main/java/cc/mrbird/febs/pay/service/LwPayService.java
index 4930908..e1133a6 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/LwPayService.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/LwPayService.java
@@ -14,6 +14,8 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.Date;
import java.util.Map;
import java.util.TreeMap;
@@ -79,7 +81,7 @@
params.put("pay_bankcode", bankCode);
params.put("pay_notifyurl", getNotifyUrl());
params.put("pay_callbackurl", getReturnUrl());
- params.put("pay_amount", order.getAmount().toPlainString());
+ params.put("pay_amount", getBRLAmount(order.getAmount()));
params.put("pay_productname", "商品订单-" + order.getOrderNo());
// 通道 968 需要 network 参数
@@ -118,6 +120,19 @@
return json.getString("payurl");
}
+ private String getBRLAmount(BigDecimal amount){
+ DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ "MONEY_CHANGE",
+ "BRL"
+ );
+ BigDecimal rate = new BigDecimal("5.18");
+ if (dataDictionaryCustom != null){
+ rate = new BigDecimal(dataDictionaryCustom.getValue());
+ }
+
+ return amount.multiply( rate).setScale(2, RoundingMode.DOWN).toString();
+ }
+
// ==================== 回调处理 ====================
/**
--
Gitblit v1.9.1