From 506edadd3a3f3f458e32807f0b7166d16200a076 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Mon, 21 Jul 2025 16:48:42 +0800
Subject: [PATCH] 货币转换 交易记录明细修改

---
 src/main/java/com/nq/service/impl/StockAiServiceImpl.java |   26 ++++++++++----------------
 1 files changed, 10 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/StockAiServiceImpl.java b/src/main/java/com/nq/service/impl/StockAiServiceImpl.java
index 6d354a4..b1b2304 100644
--- a/src/main/java/com/nq/service/impl/StockAiServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockAiServiceImpl.java
@@ -44,6 +44,8 @@
     IUserService iUserService;
     @Autowired
     IUserAssetsServices iUserAssetsServices;
+    @Autowired
+    private UserAssetsServices userAssetsServices;
 
     /**
      * 获取上架ai产品
@@ -103,19 +105,11 @@
                 }
                 //获取用户账户
                 UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.MX.getCode(), user.getId());
-                /*BigDecimal finalBuyNum = buyNum;    //购买金额
+                BigDecimal finalBuyNum = buyNum;
                 //如果不是墨西哥币需要转换金额
                 if (!stockAI.getStockType().equals(EStockType.MX.getCode())) {
-                    EStockType stockType = EStockType.getEStockTypeByCode(stockAI.getStockType());
-
-                    ExchangeRate exchangeRate = exchangeRateRepository.findExchangeRateByCurrencyAndConversionCurrency(stockType.getSymbol(), EStockType.MX.getSymbol())
-                            .orElse(null);
-                    if (exchangeRate == null) {
-                        return ServerResponse.createByErrorMsg("当前货币汇率无法转换");
-                    }
-                    //转换为墨西哥币
-                    buyNum = iUserAssetsServices.exchangeAmountByRate(buyNum, exchangeRate.getRata());
-                }*/
+                    buyNum = userAssetsServices.exchangeAmountByRate(stockAI.getStockType(), buyNum);
+                }
                 if(buyNum.compareTo(userAssets.getAvailableBalance()) > 0){
                     return ServerResponse.createByErrorMsg("可用余额不足" + userAssets.getAvailableBalance(), request);
                 }
@@ -123,13 +117,14 @@
                 if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
                     return ServerResponse.createByErrorMsg("请先缴清待补资金", request);
                 }
-                iUserAssetsServices.aiAvailableBalanceChange(stockAI.getStockType(), user.getId(), EUserAssets.BUY_AI, buyNum);
+                //已经转化 直接穿MEX类型
+                iUserAssetsServices.aiAvailableBalanceChange(EStockType.MX.getCode(), user.getId(), EUserAssets.BUY_AI, buyNum);
                 StockAIOrder stockAIOrder = new StockAIOrder();
                 stockAIOrder.setUserId(user.getId());
                 stockAIOrder.setStockAiId(id.intValue());
                 stockAIOrder.setBuyDate(new Date());
-                stockAIOrder.setBuyAmount(buyNum);
-                stockAIOrder.setRemainAmount(buyNum);
+                stockAIOrder.setBuyAmount(finalBuyNum);
+                stockAIOrder.setRemainAmount(finalBuyNum);
                 stockAIOrder.setRealEarning(BigDecimal.valueOf(0));
                 stockAIOrder.setStatus(EStockAIOrderStatus.wait.getStatus());   //等待审核
                 stockAiOrderMapper.insert(stockAIOrder);
@@ -364,13 +359,12 @@
                 return ServerResponse.createBySuccess("操作成功");
             }
         } catch (Exception e) {
-            log.error("StockAiService openPosition error", e);
+            log.error("StockAiService orderOperation error", e);
         }
         return ServerResponse.createByError();
     }
 
     /**
-     * 建仓列表
      * 建仓列表
      * @param pageNum
      * @param pageSize

--
Gitblit v1.9.3