1
This commit is contained in:
@ -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)
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user