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