From 19be3926c88d19645f43dd926d00615225f30802 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Fri, 11 Jul 2025 17:36:46 +0800
Subject: [PATCH] 外汇接口调整

---
 trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java |   34 +++++++++++++++++++---------------
 1 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java
index 3cd3b94..ebd9f04 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java
@@ -111,11 +111,11 @@
         double amount = Arith.mul(sub, realtime.getClose().doubleValue());
         order.setCloseTime(new Date());
         order.setClosePrice(realtime.getClose().doubleValue());
-//        Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
-        CapitaltWallet capitaltWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
-        double amount_before = capitaltWallet.getMoney().doubleValue();
-//        this.walletService.update(userIdWallet.getUserId().toString(), amount);
-        this.capitaltWalletService.update(capitaltWallet, amount);
+        Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
+//        CapitaltWallet capitaltWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
+        double amount_before = wallet.getMoney().doubleValue();
+        this.walletService.update(wallet.getUserId().toString(), amount);
+//        this.capitaltWalletService.update(capitaltWallet, amount);
 
         /*
          * 保存资金日志
@@ -124,7 +124,7 @@
         moneylog_deposit.setCategory(Constants.MONEYLOG_CATEGORY_EXCHANGE);
         moneylog_deposit.setAmountBefore(new BigDecimal(amount_before));
         moneylog_deposit.setAmount(new BigDecimal(amount));
-        moneylog_deposit.setAmountAfter(capitaltWallet.getMoney());
+        moneylog_deposit.setAmountAfter(wallet.getMoney());
         moneylog_deposit.setLog("委托单,订单号[" + order.getOrderNo() + "]");
         moneylog_deposit.setUserId(order.getPartyId());
         moneylog_deposit.setWalletType(Constants.WALLET);
@@ -373,10 +373,14 @@
         if (!order.isTriggerOrder()) {
             if (ExchangeApplyOrder.OFFSET_OPEN.equals(order.getOffset())) {
                 Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
+//                CapitaltWallet wallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
                 double amount_before = wallet.getMoney().doubleValue();
-//				wallet.setMoney(Arith.add(wallet.getMoney(), order.getVolume()));
+                wallet.setMoney(new BigDecimal(Arith.add(wallet.getMoney().doubleValue(), order.getVolume())));
+//                capitaltWalletService.updateById(wallet);
+//				wallet.setMoney(wallet.getMoney().add(BigDecimal.valueOf(order.getVolume())));
+//                Arith.add(wallet.getMoney(), order.getVolume())
 //				walletService.update(wallet);
-                walletService.update(wallet.getUserId().toString(), order.getVolume());
+//                walletService.update(wallet.getUserId().toString(), order.getVolume());
                 MoneyLog moneylog = new MoneyLog();
                 moneylog.setCategory(Constants.MONEYLOG_CATEGORY_EXCHANGE);
                 moneylog.setAmountBefore(new BigDecimal(amount_before));
@@ -614,9 +618,9 @@
         // 可以买的数量
         double amount = Arith.div(sub, order.getClosePrice(), 8);
         order.setSymbolValue(amount);
-//        Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
-        CapitaltWallet userIdWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
-        double amount_before = userIdWallet.getMoney().doubleValue();
+        Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
+//        CapitaltWallet userIdWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
+        double amount_before = wallet.getMoney().doubleValue();
         // 如果是计划委托,则先不扣钱
         if (order.isTriggerOrder()) {
 
@@ -637,11 +641,11 @@
             save(order);
         }
         if (!order.isTriggerOrder()) {
-            if (userIdWallet.getMoney().doubleValue() < order.getVolume().doubleValue()) {
+            if (wallet.getMoney().doubleValue() < order.getVolume().doubleValue()) {
                 throw new YamiShopBindException("余额不足");
             }
-//            this.walletService.update(userIdWallet.getUserId().toString(), Arith.sub(0, order.getVolume()));
-            capitaltWalletService.update(userIdWallet, Arith.sub(0, order.getVolume()));
+            this.walletService.update(wallet.getUserId().toString(), Arith.sub(0, order.getVolume()));
+//            capitaltWalletService.update(userIdWallet, Arith.sub(0, order.getVolume()));
             /*
              * 保存资金日志
              */
@@ -649,7 +653,7 @@
             moneylog_deposit.setCategory(Constants.MONEYLOG_CATEGORY_EXCHANGE);
             moneylog_deposit.setAmountBefore(new BigDecimal(amount_before));
             moneylog_deposit.setAmount(new BigDecimal(Arith.sub(0, order.getVolume().doubleValue())));
-            moneylog_deposit.setAmountAfter(new BigDecimal(Arith.sub(userIdWallet.getMoney().doubleValue(), order.getVolume())));
+            moneylog_deposit.setAmountAfter(new BigDecimal(Arith.sub(wallet.getMoney().doubleValue(), order.getVolume())));
             moneylog_deposit.setLog("币币交易,订单号[" + order.getOrderNo() + "]");
             moneylog_deposit.setUserId(order.getPartyId());
             moneylog_deposit.setWalletType(Constants.WALLET);

--
Gitblit v1.9.3