From 01d68c9ef09fbac812fed8412ba12859fdd8429d Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 27 Nov 2025 11:40:11 +0800
Subject: [PATCH] 卖出修复

---
 trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 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 183a2f9..182c375 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
@@ -164,8 +164,7 @@
             log.setContentType(type2 + Constants.MONEYLOG_CONTENT_CANCEL);
             moneyLogService.save(log);
         }
-        double sub = Arith.sub(realValue, order.getFee());
-        double amount = Arith.mul(sub, orderPrice);
+        double amount = Arith.mul(realValue, orderPrice) + order.getFee();
         Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
         double amountBefore = wallet.getMoney().doubleValue();
         String type = itemService.findBySymbol(order.getSymbol()).getType();
@@ -177,7 +176,7 @@
         String type2 = Constants.MONEYLOG_MAP_TYPE.get(type);
         log.setAmountBefore(new BigDecimal(amountBefore));
         log.setAmount(new BigDecimal(amount));
-        log.setAmountAfter(wallet.getMoney().add(BigDecimal.valueOf(amount)));
+        log.setAmountAfter(BigDecimal.valueOf(amountBefore + amount));
         log.setLog(name + type2 + "现货交易卖出委托单成交,订单号[" + order.getOrderNo() + "]");
         log.setUserId(order.getPartyId());
         log.setWalletType(Constants.WALLET);
@@ -186,7 +185,7 @@
         moneyLogService.save(log);
         order.setCloseTime(new Date());
         order.setClosePrice(orderPrice);
-        order.setWalletFee(Arith.mul(order.getFee(), orderPrice));
+        order.setWalletFee(order.getFee());
         order.setState(ExchangeApplyOrder.STATE_CREATED);
         updateById(order);
     }
@@ -520,8 +519,8 @@
 
     @Override
     public Page<ExchangeApplyOrderDto> listPage(Page page, String rolename, String userName, String orderNo, String state,
-                                                String offset, String symbolType, String userCode, String symbol, List<String> userIds) {
-        return baseMapper.listPage(page, rolename, userName, orderNo, state, offset, symbolType, userCode, symbol, userIds);
+                                                String offset, String symbolType, String userCode, String symbol, String usernameParent, List<String> userIds) {
+        return baseMapper.listPage(page, rolename, userName, orderNo, state, offset, symbolType, userCode, symbol, usernameParent, userIds);
     }
 
     @Override
@@ -637,6 +636,9 @@
     public void saveSpotTradOpen(ExchangeApplyOrder order) {
         order.setOrderNo(DateUtil.getToday("yyMMddHHmmss") + RandomUtil.getRandomNum(8));
         double fee = Arith.mul(order.getVolume(), sysparaService.find("exchange_apply_order_buy_fee").getDouble());
+        if (order.getVolume() < 300) {
+            fee = 1;
+        }
         Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId());
         String symbol = order.getSymbol();
         Item item = itemService.findBySymbol(symbol);
@@ -686,6 +688,9 @@
         order.setOrderNo(DateUtil.getToday("yyMMddHHmmss") + RandomUtil.getRandomNum(8));
         order.setCreateTime(new Date());
         order.setFee(Arith.mul(order.getVolume(), sysparaService.find("exchange_apply_order_sell_fee").getDouble()));
+        if (order.getPrice() * order.getSymbolValue() < 300) {
+            order.setFee(1);
+        }
         Item item = itemService.findBySymbol(order.getSymbol());
         // 休市期间,不让下市价卖出单
         if (ExchangeApplyOrder.ORDER_PRICE_TYPE_OPPONENT.equals(order.getOrderPriceType())) {

--
Gitblit v1.9.3