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

@ -3,8 +3,6 @@ package jobs
import (
"errors"
"fmt"
"github.com/jinzhu/copier"
"github.com/shopspring/decimal"
"go-admin/app/admin/models"
"go-admin/app/admin/service"
"go-admin/app/admin/service/dto"
@ -17,6 +15,9 @@ import (
"strings"
"time"
"github.com/jinzhu/copier"
"github.com/shopspring/decimal"
"github.com/go-admin-team/go-admin-core/sdk"
"gorm.io/gorm"
@ -174,7 +175,6 @@ func (t LimitOrderTimeoutDuration) Exec(arg interface{}) error {
continue
}
}
}
//合约

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