1、暂存
This commit is contained in:
@ -9,6 +9,7 @@ import (
|
||||
"go-admin/common/helper"
|
||||
"go-admin/models/positiondto"
|
||||
"go-admin/pkg/utility"
|
||||
"go-admin/services/commonservice"
|
||||
"go-admin/services/positionservice"
|
||||
"strings"
|
||||
"time"
|
||||
@ -16,7 +17,6 @@ import (
|
||||
"github.com/bytedance/sonic"
|
||||
"github.com/go-admin-team/go-admin-core/logger"
|
||||
log "github.com/go-admin-team/go-admin-core/logger"
|
||||
"github.com/go-admin-team/go-admin-core/sdk"
|
||||
"github.com/shopspring/decimal"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
@ -105,7 +105,7 @@ func CancelSpotOrder(symbol string, apiUserInfo *DbModels.LineApiUser, side stri
|
||||
}
|
||||
client := GetClient(apiUserInfo)
|
||||
resp, _, err := client.SendSpotAuth(searchEndpoint, "GET", searchParams)
|
||||
db := GetDBConnection()
|
||||
db := commonservice.GetDBConnection()
|
||||
|
||||
if err != nil {
|
||||
if len(resp) > 0 {
|
||||
@ -209,44 +209,6 @@ func (e *AddPosition) GetFutSpotOrderInfo(req dto.ManuallyCover, symbol, orderTy
|
||||
return orderInfo, nil
|
||||
}
|
||||
|
||||
// CalculateAmount 计算加仓数量
|
||||
func (e *AddPosition) CalculateAmount(req dto.ManuallyCover, totalNum, lastPrice decimal.Decimal, amountDigit int, notUsdt bool, symbolInfo DbModels.LineSymbol) (decimal.Decimal, error) {
|
||||
var amt decimal.Decimal
|
||||
if req.CoverType == 1 {
|
||||
decimalValue := utility.StringToDecimal(req.Value).Div(decimal.NewFromInt(100))
|
||||
amt = totalNum.Mul(decimalValue)
|
||||
} else {
|
||||
decimalValue := utility.StringToDecimal(req.Value)
|
||||
if notUsdt {
|
||||
tickerSymbolMaps := make([]dto.Ticker, 0)
|
||||
tickerSymbol := helper.DefaultRedis.Get(rediskey.SpotSymbolTicker).Val()
|
||||
if err := sonic.Unmarshal([]byte(tickerSymbol), &tickerSymbolMaps); err != nil {
|
||||
return decimal.Zero, err
|
||||
}
|
||||
|
||||
var tickerPrice decimal.Decimal
|
||||
for _, symbolMap := range tickerSymbolMaps {
|
||||
if symbolMap.Symbol == strings.ToUpper(symbolInfo.BaseAsset+"USDT") {
|
||||
tickerPrice, _ = decimal.NewFromString(symbolMap.Price)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
for _, symbolMap := range tickerSymbolMaps {
|
||||
if symbolMap.Symbol == strings.ToUpper(symbolInfo.QuoteAsset+"USDT") {
|
||||
uTickerPrice, _ := decimal.NewFromString(symbolMap.Price)
|
||||
div := tickerPrice.Div(decimal.NewFromInt(1).Div(uTickerPrice))
|
||||
amt = decimalValue.Div(div)
|
||||
break
|
||||
}
|
||||
}
|
||||
} else {
|
||||
amt = decimalValue.Div(lastPrice)
|
||||
}
|
||||
}
|
||||
return amt.Truncate(int32(amountDigit)), nil
|
||||
}
|
||||
|
||||
// 主单平仓删除缓存
|
||||
// mainOrderId 主单id
|
||||
// symbolType 1现货 2合约
|
||||
@ -256,7 +218,7 @@ func MainClosePositionClearCache(mainId int, symbolType int) {
|
||||
keySpotAddposition := fmt.Sprintf(rediskey.SpotAddPositionList, global.EXCHANGE_BINANCE)
|
||||
spotStopArray, _ := helper.DefaultRedis.GetAllList(keySpotStop)
|
||||
spotAddpositionArray, _ := helper.DefaultRedis.GetAllList(keySpotAddposition)
|
||||
var position AddPositionList
|
||||
var position positiondto.AddPositionList
|
||||
var stop dto.StopLossRedisList
|
||||
|
||||
for _, item := range spotAddpositionArray {
|
||||
@ -284,7 +246,7 @@ func MainClosePositionClearCache(mainId int, symbolType int) {
|
||||
keyFutAddposition := fmt.Sprintf(rediskey.FuturesStopLossList, global.EXCHANGE_BINANCE)
|
||||
futAddpositionArray, _ := helper.DefaultRedis.GetAllList(keyFutStop)
|
||||
futStopArray, _ := helper.DefaultRedis.GetAllList(keyFutAddposition)
|
||||
var position AddPositionList
|
||||
var position positiondto.AddPositionList
|
||||
var stop dto.StopLossRedisList
|
||||
|
||||
for _, item := range futAddpositionArray {
|
||||
@ -309,15 +271,6 @@ func MainClosePositionClearCache(mainId int, symbolType int) {
|
||||
}
|
||||
}
|
||||
|
||||
// 获取数据库连接
|
||||
func GetDBConnection() *gorm.DB {
|
||||
dbs := sdk.Runtime.GetDb()
|
||||
for _, db := range dbs {
|
||||
return db
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 查询订单
|
||||
func getPreOrder(db *gorm.DB, orderSn interface{}) (*DbModels.LinePreOrder, error) {
|
||||
preOrder := &DbModels.LinePreOrder{}
|
||||
|
||||
Reference in New Issue
Block a user