From 513e5442723f501525bf9ca6210b16561e5d3a2b Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 24 Mar 2026 11:41:07 +0800
Subject: [PATCH] 1

---
 trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java |   64 +++++++++++++++++++++-----------
 1 files changed, 42 insertions(+), 22 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 517bbe1..f11ea79 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
@@ -13,6 +13,7 @@
 import com.yami.trading.bean.exchange.dto.ExchangeSymbolDto;
 import com.yami.trading.bean.exchange.dto.SumEtfDto;
 import com.yami.trading.bean.item.domain.Item;
+import com.yami.trading.bean.model.CapitaltWallet;
 import com.yami.trading.bean.model.MoneyLog;
 import com.yami.trading.bean.model.Wallet;
 import com.yami.trading.bean.model.WalletExtend;
@@ -21,6 +22,7 @@
 import com.yami.trading.common.exception.YamiShopBindException;
 import com.yami.trading.common.util.*;
 import com.yami.trading.dao.exchange.ExchangeApplyOrderMapper;
+import com.yami.trading.service.CapitaltWalletService;
 import com.yami.trading.service.MoneyLogService;
 import com.yami.trading.service.WalletService;
 import com.yami.trading.service.data.DataService;
@@ -58,6 +60,8 @@
     MoneyLogService moneyLogService;
     @Autowired
     UserDataService userDataService;
+    @Autowired
+    CapitaltWalletService capitaltWalletService;
 
     @Override
     public List<ExchangeApplyOrder> findSubmitted() {
@@ -107,9 +111,12 @@
         double amount = Arith.mul(sub, realtime.getClose().doubleValue());
         order.setCloseTime(new Date());
         order.setClosePrice(realtime.getClose().doubleValue());
-        Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
-        double amount_before = wallet.getMoney().doubleValue();
-        this.walletService.update(wallet.getUserId().toString(), amount);
+//        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);
+
         /*
          * 保存资金日志
          */
@@ -117,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(wallet.getMoney());
+        moneylog_deposit.setAmountAfter(capitaltWallet.getMoney());
         moneylog_deposit.setLog("委托单,订单号[" + order.getOrderNo() + "]");
         moneylog_deposit.setUserId(order.getPartyId());
         moneylog_deposit.setWalletType(Constants.WALLET);
@@ -141,6 +148,11 @@
         if (item == null) {
             throw new YamiShopBindException("参数错误");
         }
+        /*if (itemService.isSuspended(order.getSymbol())) {
+            throw new YamiShopBindException("停牌禁止交易");
+        }*/
+
+
         List<Realtime> realtimes = dataService.realtime(order.getSymbol());
         double close = 1;
         if (realtimes != null && realtimes.size() > 0) {
@@ -176,6 +188,7 @@
         List<ExchangeApplyOrder> list = list(lambdaQueryWrapper);
         return getDataList(list);
     }
+
 
     private static List<ExchangeApplyOrder> getData() {
 
@@ -329,8 +342,10 @@
         // 如果是计划委托则不返回余额
         if (order.isTriggerOrder()) {
             if (ExchangeApplyOrder.OFFSET_OPEN.equals(order.getOffset())) {
-                Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
-                double amount_before = wallet.getMoney().doubleValue();
+                //Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
+                //double amount_before = wallet.getMoney().doubleValue();
+                CapitaltWallet userIdWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
+                double amount_before = userIdWallet.getMoney().doubleValue();
                 MoneyLog moneylog = new MoneyLog();
                 moneylog.setCategory(Constants.MONEYLOG_CATEGORY_EXCHANGE);
                 moneylog.setAmountBefore(new BigDecimal(amount_before));
@@ -365,16 +380,20 @@
         }
         if (!order.isTriggerOrder()) {
             if (ExchangeApplyOrder.OFFSET_OPEN.equals(order.getOffset())) {
-                Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
-                double amount_before = wallet.getMoney().doubleValue();
+                //Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
+                //double amount_before = wallet.getMoney().doubleValue();
 //				wallet.setMoney(Arith.add(wallet.getMoney(), order.getVolume()));
 //				walletService.update(wallet);
-                walletService.update(wallet.getUserId().toString(), order.getVolume());
+                //walletService.update(wallet.getUserId().toString(), order.getVolume());
+                CapitaltWallet userIdWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
+                double amount_before = userIdWallet.getMoney().doubleValue();
+                capitaltWalletService.update(userIdWallet, order.getVolume());
+
                 MoneyLog moneylog = new MoneyLog();
                 moneylog.setCategory(Constants.MONEYLOG_CATEGORY_EXCHANGE);
                 moneylog.setAmountBefore(new BigDecimal(amount_before));
                 moneylog.setAmount(new BigDecimal(order.getVolume()));
-                moneylog.setAmount_after(wallet.getMoney());
+                moneylog.setAmountAfter(userIdWallet.getMoney());
                 moneylog.setLog("币币交易撤单,订单号[" + order.getOrderNo() + "]");
                 moneylog.setUserId(order.getPartyId());
                 moneylog.setWalletType(Constants.WALLET);
@@ -517,12 +536,14 @@
         }
         for (ExchangeRecord entry : recordMap.values()) {
             Map<String, Object> map = new HashMap<String, Object>();
-            map.put("symbol", entry.getSymbol());
+            //map.put("symbol", entry.getSymbol());
+            map.put("symbol", entry.getSymbol().equalsIgnoreCase("galausdt") ? "dxcmusdt" : entry.getSymbol());
             Item bySymbol = itemService.findBySymbol(entry.getSymbol());
             if (bySymbol != null) {
                 map.put("symbol_data", bySymbol.getSymbolData());
             }
-            map.put("symbol_to", entry.getSymbol_to());
+            map.put("symbol_to", entry.getSymbol_to().equalsIgnoreCase("galausdt") ? "dxcmusdt" : entry.getSymbol_to());
+            //map.put("symbol_to", entry.getSymbol_to());
             map.put("amount", entry.getAmount());
             map.put("amount_to", entry.getAmount_to());
             map.put("create_time", entry.getCreate_time());
@@ -607,11 +628,9 @@
         // 可以买的数量
         double amount = Arith.div(sub, order.getClosePrice(), 8);
         order.setSymbolValue(amount);
-        Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
-        double amount_before = wallet.getMoney().doubleValue();
-        WalletExtend walletExtend = walletService.saveExtendByPara(order.getPartyId(), order.getSymbol());
-//		walletExtend.setAmount(Arith.add(walletExtend.getAmount(), amount));
-//		this.walletService.update(walletExtend);
+//        Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
+        CapitaltWallet userIdWallet = capitaltWalletService.getUserIdWallet(order.getPartyId());
+        double amount_before = userIdWallet.getMoney().doubleValue();
         // 如果是计划委托,则先不扣钱
         if (order.isTriggerOrder()) {
 
@@ -632,12 +651,13 @@
             save(order);
         }
         if (!order.isTriggerOrder()) {
-            if (wallet.getMoney().doubleValue() < order.getVolume().doubleValue()) {
+            System.out.println("-----userIdWallet---------:"+userIdWallet.getMoney().doubleValue());
+            System.out.println("-----order---------:"+order.getVolume().doubleValue());
+            if (userIdWallet.getMoney().doubleValue() < order.getVolume().doubleValue()) {
                 throw new YamiShopBindException("余额不足");
             }
-            this.walletService.update(wallet.getUserId().toString(), Arith.sub(0, order.getVolume()));
-//            this.walletService.updateExtend(walletExtend.getPartyId().toString(), walletExtend.getWallettype(), amount);
-
+//            this.walletService.update(userIdWallet.getUserId().toString(), Arith.sub(0, order.getVolume()));
+            capitaltWalletService.update(userIdWallet, Arith.sub(0, order.getVolume()));
             /*
              * 保存资金日志
              */
@@ -645,7 +665,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(wallet.getMoney().doubleValue(), order.getVolume())));
+            moneylog_deposit.setAmountAfter(new BigDecimal(Arith.sub(userIdWallet.getMoney().doubleValue(), order.getVolume())));
             moneylog_deposit.setLog("币币交易,订单号[" + order.getOrderNo() + "]");
             moneylog_deposit.setUserId(order.getPartyId());
             moneylog_deposit.setWalletType(Constants.WALLET);

--
Gitblit v1.9.3