From ddba8e4ce21dda51b782e9fdbd2368777423aaf0 Mon Sep 17 00:00:00 2001 From: hucan <951870319@qq.com> Date: Mon, 10 Mar 2025 18:02:54 +0800 Subject: [PATCH] 1 --- services/binanceservice/futuresrest.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/binanceservice/futuresrest.go b/services/binanceservice/futuresrest.go index 8d4b76b..0d2ce5b 100644 --- a/services/binanceservice/futuresrest.go +++ b/services/binanceservice/futuresrest.go @@ -355,8 +355,8 @@ func handleTakeProfit(db *gorm.DB, preOrder *DbModels.LinePreOrder) { apiUserInfo, _ := GetApiInfo(preOrder.ApiId) if apiUserInfo.Id > 0 { - mainOrder, _ := GetOrderById(db, preOrder.MainId) - if err := cancelPositionOtherOrders(apiUserInfo, db, &mainOrder, false); err != nil { + mainIds := []int{preOrder.MainId} + if err := cancelMainOrders(mainIds, db, apiUserInfo, preOrder.Symbol, false); err != nil { logger.Errorf("止损单成功 取消其它订单失败 订单号:%s:", err) } } @@ -573,6 +573,8 @@ func cancelPositionOtherOrders(apiUserInfo DbModels.LineApiUser, db *gorm.DB, pr mainOrders, err := getOpenPositionMainOrderId(db, preOrder.Id, preOrder.ApiId, preOrder.SymbolType, preOrder.ExchangeType, preOrder.Symbol, preOrder.Site) if err != nil { return err + } else if len(mainOrders) == 0 { + logger.Infof("主单没有持仓,不需要取消其他订单 sn:%s", preOrder.OrderSn) } mainIds := []int{} @@ -590,6 +592,7 @@ func cancelPositionOtherOrders(apiUserInfo DbModels.LineApiUser, db *gorm.DB, pr } // 批量取消订单 + err = cancelMainOrders(mainIds, db, apiUserInfo, preOrder.Symbol, changeMainOrderStatus) return err