From 5e57de9b12ee136e45ce5754c7fe2e7eb12af05a Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 12 Jun 2026 18:35:45 +0800
Subject: [PATCH] 1
---
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiFuturesOrderController.java | 23 ++++++++++++++---------
1 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiFuturesOrderController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiFuturesOrderController.java
index 29186e4..5368f4a 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiFuturesOrderController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiFuturesOrderController.java
@@ -18,7 +18,6 @@
import com.yami.trading.common.util.StringUtils;
import com.yami.trading.common.util.ThreadUtils;
import com.yami.trading.security.common.util.SecurityUtils;
-import com.yami.trading.service.MarketOpenChecker;
import com.yami.trading.service.RealNameAuthRecordService;
import com.yami.trading.service.SessionTokenService;
import com.yami.trading.service.WalletService;
@@ -133,7 +132,7 @@
} else {
data.put("amount", 0);
}
- data.put("open", MarketOpenChecker.isMarketOpenByItemCloseType(bySymbol.getOpenCloseType()));
+ data.put("open", itemService.isOpen(bySymbol.getSymbol()));
return Result.succeed(data);
}
@@ -151,8 +150,7 @@
if (bySymbol == null) {
throw new YamiShopBindException("当前币对不存在");
}
- boolean isOpen = MarketOpenChecker.isMarketOpenByItemCloseType(bySymbol.getOpenCloseType());
- if (!isOpen) {
+ if (!itemService.isOpen(bySymbol.getSymbol())) {
throw new YamiShopBindException("当前已经休市");
}
@@ -167,15 +165,20 @@
lock = true;
String session_token = futureOpenAction.getSession_token();
- Object object = this.sessionTokenService.cacheGet(session_token);
+ String cachedPartyId = this.sessionTokenService.cacheGet(session_token);
this.sessionTokenService.del(session_token);
- User party = this.partyService.findUserByUserCode(partyId);
+ User party = this.partyService.getById(partyId);
+ if (party == null) {
+ throw new YamiShopBindException("用户不存在");
+ }
if (!party.isEnabled()) {
throw new YamiShopBindException("用户已锁定");
}
realNameAuthRecordService.requireApproved(party, true);
- if (null == object || !party.getUserId().equals((String) object)) {
- throw new BusinessException("请稍后再试");
+ if (cachedPartyId == null || !partyId.equals(cachedPartyId)) {
+ log.warn("交割开仓 session_token 无效, partyId={}, token={}, cachedPartyId={}",
+ partyId, session_token, cachedPartyId);
+ throw new BusinessException("操作已失效,请刷新页面后重试");
}
Syspara syspara = sysparaService.find("stop_user_internet");
String stopUserInternet = syspara.getSvalue();
@@ -201,9 +204,11 @@
data.put("order_no", order.getOrderNo());
data.put("open_price", order.getTradeAvgPrice().toString());
return Result.succeed(data);
+ } catch (BusinessException | YamiShopBindException e) {
+ throw e;
} catch (Exception e) {
log.error("开仓异常", e);
- throw new YamiShopBindException(e.getMessage());
+ throw new YamiShopBindException(e.getMessage() != null ? e.getMessage() : "请稍后再试");
} finally {
if (lock) {
ThreadUtils.sleep(100);
--
Gitblit v1.9.3