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