From 74f2dd24eb7241020319771c794d9e9f06264d7e Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 13 Jan 2026 18:49:06 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/UserAssetsServices.java |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserAssetsServices.java b/src/main/java/com/nq/service/impl/UserAssetsServices.java
index 990e06c..975cc10 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -77,9 +77,7 @@
         List<UserAssets> userAssetsList =  userAssetsMapper.selectList(queryWrapper);
         List<EStockType> stockTypes = Arrays.asList(
                 EStockType.US,
-                EStockType.HK,
-                EStockType.IN,
-                EStockType.TW
+                EStockType.JP
         );
         for (EStockType stockType : stockTypes) {
             //是否存在记录
@@ -322,6 +320,16 @@
                userAssets.setCumulativeProfitAndLoss(userAssets.getCumulativeProfitAndLoss().add(amount));
            }
            extracted(userAssets);
+        }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.PENDING_ORDER_FREEZE.getCode())){
+            // 挂单冻结资金:从可用余额转到冻结金额
+            // amount 是负数,表示扣除
+            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
+            userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(amount.negate()));
+        }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.PENDING_ORDER_UNFREEZE.getCode())){
+            // 取消挂单解冻资金:从冻结金额转回可用余额
+            // amount 是正数,表示增加
+            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
+            userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(amount));
         }
 
         /*if(null != userPosition){
@@ -433,8 +441,8 @@
 
     @Override
     public BigDecimal exchangeAmountByRate(String fromType, String toType, BigDecimal amount) throws Exception {
-        EStockType stockType = EStockType.getEStockTypeByCode(fromType);
-        EStockType toStockType = EStockType.getEStockTypeByCode(toType);
+        EStockType stockType = EStockType.getEStockTypeBySymbol(fromType);
+        EStockType toStockType = EStockType.getEStockTypeBySymbol(toType);
         ExchangeRate exchangeRate = exchangeRateRepository.findExchangeRateByCurrencyAndConversionCurrency(
                 stockType.getSymbol(), toStockType.getSymbol()).orElse(null);
         if (exchangeRate != null) {

--
Gitblit v1.9.3