This commit is contained in:
2025-02-14 10:54:30 +08:00
parent 0498674da5
commit 7892c9c9dd
3 changed files with 15 additions and 5 deletions

View File

@ -364,7 +364,7 @@ func handleTakeProfit(db *gorm.DB, preOrder *DbModels.LinePreOrder) {
ids := []int{preOrder.Pid, preOrder.MainId}
//主单止盈成交
if err := db.Model(&DbModels.LinePreOrder{}).Where("id IN ?", ids).Update("status", 9).Error; err != nil {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id IN ? AND order_type=0", ids).Update("status", 9).Error; err != nil {
logger.Errorf("主单止盈成功修改主单状态失败 订单号:%s:", err)
}
}
@ -469,6 +469,16 @@ func handleFutMainOrderFilled(db *gorm.DB, preOrder *models.LinePreOrder) {
num = num.Truncate(int32(tradeSet.AmountDigit))
order.Price = price.String()
if order.OrderType == 4 {
ext := DbModels.LinePreOrderExt{}
db.Model(&ext).Where("order_id=?", preOrder.Id).Find(&ext)
if ext.ReduceNumRatio.Cmp(decimal.Zero) > 0 {
num = num.Mul(ext.ReduceNumRatio.Div(decimal.NewFromInt(100))).Truncate(int32(tradeSet.AmountDigit))
order.Num = num.String()
}
}
if err := db.Model(&order).Update("num", num).Error; err != nil {
logger.Errorf("修改止盈止损数量失败 订单号:%s err:%v", order.OrderSn, err)
}

View File

@ -434,7 +434,7 @@ func handleSpotTakeProfitFilled(db *gorm.DB, preOrder *DbModels.LinePreOrder) {
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", ids).Update("status", 9).Error; err != nil {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id IN ? AND status =6 AND order_type=0", ids).Update("status", 9).Error; err != nil {
logger.Errorf("止盈订单回调失败, 回调订单号:%s 更新主单失败:%v", preOrder.OrderSn, err)
return err