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-service/src/main/java/com/yami/trading/service/trader/TraderFollowUserOrderService.java |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/trading-order-service/src/main/java/com/yami/trading/service/trader/TraderFollowUserOrderService.java b/trading-order-service/src/main/java/com/yami/trading/service/trader/TraderFollowUserOrderService.java
index 4ea410b..2542260 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/trader/TraderFollowUserOrderService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/trader/TraderFollowUserOrderService.java
@@ -23,13 +23,28 @@
 	 * 平仓,按订单进行平仓
 	 */
 	public void traderClose(ContractOrder order, ContractOrderService contractOrderService);
-	
+
+	/**
+	 * 跟单用户合约已完全平仓时,将跟单映射表状态从 submitted/processing_close 同步为 created。
+	 * 停止跟单会对跟单方直接走合约 saveClose;跟单方不是交易员时不会触发异步 traderClose,
+	 * 若不同步会导致映射长期为 submitted,再次跟单时仍占用 volumeMax、无法跟随新开仓。
+	 */
+	void syncFollowUserOrderLinkAfterContractClose(ContractOrder contractOrder);
+
+	/**
+	 * 按用户+交易员维度,将「合约已 created 但跟单映射仍为 submitted」的历史脏数据纠正为 created(再次开始跟单时调用)。
+	 */
+	void reconcileStaleSubmittedMappings(String partyId, String traderPartyId);
+
 	
 	/**
 	 * @param partyId  用户partyId
 	 * @param apply_oder_no 委托单订单号
 	 */
 	public TraderFollowUserOrder findByPartyIdAndOrderNo(String partyId, String apply_oder_no);
+
+	public List<TraderFollowUserOrder> findByPartyIdAndTraderPartyIdAndState(String partyId, String trader_partyId,
+			String state);
 	
 	public void update(TraderFollowUserOrder entity);
 	

--
Gitblit v1.9.3