This commit is contained in:
2025-02-20 15:13:30 +08:00
parent ade768c28a
commit f105b7fd61
4 changed files with 116 additions and 33 deletions

View File

@ -136,6 +136,19 @@ func handleOrderByType(db *gorm.DB, preOrder *DbModels.LinePreOrder, orderStatus
if err := db.Model(&DbModels.LinePreOrder{}).Where("main_id =? AND status =0", preOrder.MainId).Update("status", 4).Error; err != nil {
logger.Errorf("主单止损回调 订单号:%s 修改主单状态失败:%v", preOrder.OrderSn, err)
}
spotApi := SpotRestApi{}
apiUserInfo, _ := GetApiInfo(preOrder.ApiId)
if apiUserInfo.Id > 0 {
req := CancelOpenOrdersReq{
Symbol: preOrder.Symbol,
ApiId: preOrder.ApiId,
}
if err := spotApi.CancelOpenOrders(db, req); err != nil {
logger.Errorf("止盈单成功 取消其它订单失败 订单号:%s:", err)
}
}
}
}
@ -361,16 +374,41 @@ func handleMainOrderClosePosition(db *gorm.DB, preOrder *DbModels.LinePreOrder)
return nil
})
}
removeSpotLossAndAddPosition(preOrder)
spotApi := SpotRestApi{}
apiUserInfo, _ := GetApiInfo(preOrder.ApiId)
if apiUserInfo.Id > 0 {
req := CancelOpenOrdersReq{
Symbol: preOrder.Symbol,
ApiId: preOrder.ApiId,
}
if err := spotApi.CancelOpenOrders(db, req); err != nil {
logger.Errorf("止盈单成功 取消其它订单失败 订单号:%s:", err)
}
}
}
// 止盈成交
func handleSpotTakeProfitFilled(db *gorm.DB, preOrder *DbModels.LinePreOrder) {
removeSpotLossAndAddPosition(preOrder)
spotApi := SpotRestApi{}
apiUserInfo, _ := GetApiInfo(preOrder.ApiId)
if apiUserInfo.Id > 0 {
req := CancelOpenOrdersReq{
Symbol: preOrder.Symbol,
ApiId: preOrder.ApiId,
}
if err := spotApi.CancelOpenOrders(db, req); err != nil {
logger.Errorf("止盈单成功 取消其它订单失败 订单号:%s:", err)
}
}
db.Transaction(func(tx *gorm.DB) error {
ids := []int{preOrder.Pid, preOrder.MainId}
if err := db.Model(&DbModels.LinePreOrder{}).Where("id IN ? AND status =6 AND order_type=0", ids).Update("status", 9).Error; err != nil {