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