From 81333ce36d0775bbaa19149e4ddb81c5d2f20730 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 25 Nov 2025 16:52:01 +0800
Subject: [PATCH] 手续费

---
 trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java                  |   14 +++++++++++++-
 trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java |    6 ++++++
 2 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java
index 98d906f..da05ad0 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java
@@ -284,8 +284,11 @@
             Wallet wallet = this.walletService.saveWalletByPartyId(partyId);
             BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(num));
             //手续费比率
-            Double feeRate = sysparaService.find("exchange_apply_order_buy_fee").getDouble();
+            Double feeRate = sysparaService.find("exchange_apply_order_dz_buy_fee").getDouble();
             BigDecimal orderFree = buyAmt.multiply(BigDecimal.valueOf(feeRate));
+            if (buyAmt.doubleValue() < 300) {
+                orderFree = BigDecimal.ONE;
+            }
             BigDecimal orderAmt = buyAmt.add(orderFree);
             if (wallet.getMoney().compareTo(orderAmt) < 0) {
                 return Result.failed("余额不足");
@@ -377,6 +380,11 @@
             //手续费比率
             Double feeRate = sysparaService.find("exchange_apply_order_dz_buy_fee").getDouble();
             BigDecimal orderFree = buyAmt.multiply(BigDecimal.valueOf(feeRate));
+            if (buyAmt.doubleValue() < 300) {
+                orderFree = BigDecimal.ONE;
+            }
+
+
             BigDecimal orderAmt = buyAmt.add(orderFree);
             if (wallet.getMoney().compareTo(orderAmt) < 0) {
                 throw new YamiShopBindException("订单失败,资金不足");
@@ -506,6 +514,10 @@
             //手续费比率
             Double feeRate = sysparaService.find("exchange_apply_order_dz_sell_fee").getDouble();
             BigDecimal orderFree = sellAmt.multiply(BigDecimal.valueOf(feeRate));
+            if (sellAmt.doubleValue() < 300) {
+                orderFree = BigDecimal.ONE;
+            }
+
 
             String symbol = stockDz.getStockCode();
             Realtime realtime = this.dataService.realtime(symbol).get(0);
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 6e49ba3..b35189a 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
@@ -637,6 +637,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 +689,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