From f658569891db433854221b80f0a9fa99608cff64 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 03 Apr 2026 18:22:34 +0800
Subject: [PATCH] 1

---
 trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java
index ef7de6a..ee38008 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/RechargeBlockchainOrderServiceImpl.java
@@ -89,7 +89,10 @@
 //        Date now = new Date();
         RechargeBlockchainOrder recharge = getById(id);
         if (recharge == null) {
-            throw new YamiShopBindException("参数错误!");
+            recharge = findByOrderNo(id);
+            if (recharge == null) {
+                throw new YamiShopBindException("参数错误!");
+            }
         }
         User party = userService.getById(recharge.getPartyId());
         if (party == null) {
@@ -119,8 +122,25 @@
          * 如果是usdt则加入wallet,否则寻找walletExtend里相同币种
          */
         Syspara user_recom_bonus_open = sysparaService.find("user_recom_bonus_open");
-        if ("usdt".equals(recharge.getSymbol())) {
+        if ("usdt".equals(recharge.getSymbol()) || "usdc".equals(recharge.getSymbol())) {
             double amount1 = recharge.getVolume();
+            if ("usdc".equals(recharge.getSymbol())) {
+                List<Realtime> realtime_list = this.dataService.realtime(recharge.getSymbol());
+                log.info("充值usdc转为usdt::" + realtime_list);
+                Realtime realtime = null;
+                if (realtime_list.size() > 0) {
+                    realtime = realtime_list.get(0);
+                } else {
+                    throw new YamiShopBindException("系统错误,请稍后重试");
+                }
+                // 对应usdt价格
+                double transfer_usdt = realtime.getClose();
+                double volume = recharge.getVolume();
+
+                // 币种usdt价格= 币种价格×充值数量
+                amount1 = Arith.mul(recharge.getVolume(), transfer_usdt);
+                log.info("充值usdc转为usdt::" + amount1);
+            }
             Wallet wallet = new Wallet();
             wallet = walletService.saveWalletByPartyId(recharge.getPartyId());
             double amount_before = wallet.getMoney().doubleValue();
@@ -268,7 +288,7 @@
                 double baseAmount = Double.parseDouble(recharges[1]);
                 // 用户已完成USDT订单
                 long number = moneyLogService.getMoneyLogByFirstRecharge(recharge.getPartyId()) == null ? 0 : 1;
-                        //this.findByPartyIdAndLargerVolume(recharge.getPartyId(), 1,baseAmount);
+                //this.findByPartyIdAndLargerVolume(recharge.getPartyId(), 1,baseAmount);
                 rechargeBonusService.saveFirstUsdtBounsHandle(recharge,transfer_usdt,number,recharges);
             }
             /**
@@ -426,7 +446,7 @@
         if ("".equals(recharge.getOrderNo()) || recharge.getOrderNo() == null) {
             recharge.setOrderNo(DateUtil.getToday("yyMMddHHmmss") + RandomUtil.getRandomNum(8));
         }
-        save(recharge);
+        saveOrUpdate(recharge);
         // 保存资金日志
         WalletLog walletLog = new WalletLog();
         walletLog.setCategory(Constants.MONEYLOG_CATEGORY_RECHARGE);

--
Gitblit v1.9.3