1、主单增加减仓、加仓状态
2、bug修复
This commit is contained in:
@ -9,6 +9,7 @@ import (
|
||||
"go-admin/common/global"
|
||||
"go-admin/common/helper"
|
||||
"go-admin/models"
|
||||
"go-admin/models/binancedto"
|
||||
"go-admin/models/futuresdto"
|
||||
"go-admin/pkg/httputils"
|
||||
"go-admin/pkg/utility"
|
||||
@ -936,3 +937,66 @@ func (e FutRestApi) GetFutSymbolLastPrice(targetSymbol string) (lastPrice decima
|
||||
// }
|
||||
return lastPrice
|
||||
}
|
||||
|
||||
func (e FutRestApi) GetOrderByOrderSn(symbol, orderSn string, apiUserInfo DbModels.LineApiUser) (order binancedto.BinanceFutureOrder, err error) {
|
||||
result := binancedto.BinanceFutureOrder{}
|
||||
params := map[string]string{
|
||||
"symbol": symbol,
|
||||
"origClientOrderId": orderSn,
|
||||
}
|
||||
|
||||
client := GetClient(&apiUserInfo)
|
||||
|
||||
body, code, err := client.SendFuturesAuth("/fapi/v1/order", "GET", params)
|
||||
if err != nil || code != 200 {
|
||||
log.Error("查询合约委托 参数:", params)
|
||||
log.Error("查询合约委托失败 code:", code)
|
||||
log.Error("查询合约委托失败 err:", err)
|
||||
dataMap := make(map[string]interface{})
|
||||
if err.Error() != "" {
|
||||
if err := sonic.Unmarshal([]byte(err.Error()), &dataMap); err != nil {
|
||||
return result, fmt.Errorf("api_id:%d 交易对:%s 查询订单失败:%+v", apiUserInfo.Id, symbol, err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
code, ok := dataMap["code"]
|
||||
if ok {
|
||||
return result, fmt.Errorf("api_id:%d 交易对:%s 查询订单失败:%s", apiUserInfo.Id, symbol, ErrorMaps[code.(float64)])
|
||||
}
|
||||
if strings.Contains(err.Error(), "Unknown order sent.") {
|
||||
return result, fmt.Errorf("api_id:%d 交易对:%s 查询订单失败:%+v", apiUserInfo.Id, symbol, ErrorMaps[-2011])
|
||||
}
|
||||
return result, fmt.Errorf("api_id:%d 交易对:%s 查询订单失败:%+v", apiUserInfo.Id, symbol, err.Error())
|
||||
}
|
||||
|
||||
sonic.Unmarshal(body, &result)
|
||||
|
||||
if result.OrderID == 0 {
|
||||
return result, fmt.Errorf("api_id:%d 交易对:%s 查询订单失败:%+v", apiUserInfo.Id, symbol, "订单不存在")
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
/*
|
||||
查询现货委托
|
||||
*/
|
||||
// 根据订单号获取订单信息,如果获取失败,则进行重试
|
||||
func (e FutRestApi) GetOrderByOrderSnLoop(symbol, ordersn string, apiUserInfo DbModels.LineApiUser, retryCount int) (order binancedto.BinanceFutureOrder, err error) {
|
||||
result, err := e.GetOrderByOrderSn(symbol, ordersn, apiUserInfo)
|
||||
// 如果获取失败,则进行重试
|
||||
|
||||
if err != nil {
|
||||
// 调用GetOrderByOrderSn方法获取订单信息
|
||||
for x := 1; x < retryCount; x++ {
|
||||
// 如果获取成功,则跳出循环
|
||||
result, err = e.GetOrderByOrderSn(symbol, ordersn, apiUserInfo)
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
// 返回订单信息和错误信息
|
||||
|
||||
return result, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user