From 3edc0674d8a3206b1528f50c8443cff1a6bb6da8 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Sat, 10 Jan 2026 10:24:08 +0800
Subject: [PATCH] ipo
---
trading-order-service/src/main/java/com/yami/trading/service/exchange/impl/ExchangeApplyOrderServiceImpl.java | 30 +++++++++++++++++++++++-------
1 files changed, 23 insertions(+), 7 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 0a16c09..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);
}
@@ -217,6 +216,17 @@
lambdaQueryWrapper.orderByDesc(ExchangeApplyOrder::getCreateTime);
List<ExchangeApplyOrder> list = list(lambdaQueryWrapper);
return getSettleList(list);
+ }
+
+ @Override
+ public List<ExchangeSymbolDto> querySpotTradPosition(String userId, String symbol) {
+ LambdaQueryWrapper<ExchangeApplyOrder> lambdaQueryWrapper = Wrappers.<ExchangeApplyOrder>query().lambda();
+ lambdaQueryWrapper.eq(ExchangeApplyOrder::getPartyId, userId);
+ lambdaQueryWrapper.eq(ExchangeApplyOrder::getSymbol, symbol);
+ lambdaQueryWrapper.eq(ExchangeApplyOrder::getState, ExchangeApplyOrder.STATE_CREATED);
+ lambdaQueryWrapper.orderByDesc(ExchangeApplyOrder::getCreateTime);
+ List<ExchangeApplyOrder> list = list(lambdaQueryWrapper);
+ return getDataList(list);
}
public List<ExchangeSymbolDto> getSettleList(List<ExchangeApplyOrder> dbList) {
@@ -509,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
@@ -626,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);
@@ -675,12 +688,15 @@
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())) {
boolean isOpen = MarketOpenChecker.isMarketOpenByItemCloseType(item.getOpenCloseType());
if (!isOpen) {
- throw new YamiShopBindException("The current stock market is closed");
+ //throw new YamiShopBindException("The current stock market is closed");
}
}
WalletExtend walletExtend = walletService.saveExtendByPara(order.getPartyId(), order.getSymbol());
--
Gitblit v1.9.3