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