1
This commit is contained in:
62
services/binanceservice/futuresrest.go
Normal file
62
services/binanceservice/futuresrest.go
Normal file
@ -0,0 +1,62 @@
|
||||
package binanceservice
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"go-admin/common/const/rediskey"
|
||||
"go-admin/common/helper"
|
||||
"time"
|
||||
|
||||
"github.com/bytedance/sonic"
|
||||
"github.com/go-admin-team/go-admin-core/logger"
|
||||
)
|
||||
|
||||
/*
|
||||
修改订单信息
|
||||
*/
|
||||
func ChangeFutureOrder(mapData map[string]interface{}) {
|
||||
// 检查订单号是否存在
|
||||
orderSn, ok := mapData["c"]
|
||||
if !ok {
|
||||
logger.Error("合约订单回调失败,没有订单号")
|
||||
return
|
||||
}
|
||||
|
||||
// 获取数据库连接
|
||||
db := GetDBConnection()
|
||||
if db == nil {
|
||||
logger.Error("合约订单回调失败,无法获取数据库连接")
|
||||
return
|
||||
}
|
||||
|
||||
// 获取 Redis 锁
|
||||
lock := helper.NewRedisLock(fmt.Sprintf(rediskey.SpotCallBack, orderSn), 10, 5, 500*time.Millisecond)
|
||||
acquired, err := lock.AcquireWait(context.Background())
|
||||
if err != nil {
|
||||
logger.Error("合约订单回调失败,获取锁失败:", orderSn, " err:", err)
|
||||
return
|
||||
}
|
||||
if !acquired {
|
||||
logger.Error("合约订单回调失败,获取锁失败:", orderSn)
|
||||
return
|
||||
}
|
||||
defer lock.Release()
|
||||
|
||||
// 查询订单
|
||||
preOrder, err := getPreOrder(db, orderSn)
|
||||
if err != nil {
|
||||
logger.Error("合约订单回调失败,查询订单失败:", orderSn, " err:", err)
|
||||
return
|
||||
}
|
||||
|
||||
// 解析订单状态
|
||||
status, ok := mapData["X"].(string)
|
||||
if !ok {
|
||||
mapStr, _ := sonic.Marshal(&mapData)
|
||||
logger.Error("订单回调失败,没有状态:", string(mapStr))
|
||||
return
|
||||
}
|
||||
|
||||
//todo
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user