From befbf57e4112d07003bff18102f556a1e5a154de Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 22 Apr 2026 10:53:37 +0800
Subject: [PATCH] 1
---
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java
index c3dce79..66aa96b 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.*;
/**
@@ -81,6 +82,10 @@
@RequestMapping(action + "close.action")
public Result<String> close(@RequestParam String order_no) {
try {
+ ContractOrder order = contractOrderService.findByOrderNo(order_no);
+ if (order != null && ContractOrder.ORDER_FOLLOW == order.getFollow()) {
+ return Result.failed("跟单订单不支持手动平仓,请先停止跟单");
+ }
// 建议使用线程池 TODO
CloseDelayThread lockDelayThread = new CloseDelayThread(SecurityUtils.getCurrentUserId(), order_no, this.contractOrderService, false);
Thread t = new Thread(lockDelayThread);
@@ -99,6 +104,15 @@
@RequestMapping(action + "closeAll.action")
public Result<String> closeAll() {
try {
+ String partyId = SecurityUtils.getCurrentUserId();
+ List<ContractOrder> submittedOrders = contractOrderService.findSubmitted(partyId);
+ if (submittedOrders != null) {
+ for (ContractOrder one : submittedOrders) {
+ if (ContractOrder.ORDER_FOLLOW == one.getFollow()) {
+ return Result.failed("包含跟单订单,不能手动一键平仓,请先停止跟单");
+ }
+ }
+ }
CloseDelayThread lockDelayThread = new CloseDelayThread(SecurityUtils.getCurrentUserId(), "", this.contractOrderService, true);
Thread t = new Thread(lockDelayThread);
t.start();
@@ -133,7 +147,9 @@
// 此处返回的 closeTime 是时间戳类型
data = this.contractOrderService.getPaged(page_no, 10, partyId, symbol, type, startTime, endTime, symbolType);
}
-
+ if(ObjectUtils.isEmpty(data)){
+ return Result.ok(new ArrayList<>());
+ }
String symbolsStr = "";
Set<String> symbols = new HashSet<>();
for (int i = 0; i < data.size(); i++) {
--
Gitblit v1.9.3