1、暂存
This commit is contained in:
@ -10,8 +10,11 @@ import (
|
||||
"go-admin/common/global"
|
||||
"go-admin/common/helper"
|
||||
"go-admin/models"
|
||||
"go-admin/models/positiondto"
|
||||
"go-admin/pkg/utility"
|
||||
"go-admin/services/cacheservice"
|
||||
"go-admin/services/commonservice"
|
||||
"go-admin/services/orderservice"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@ -26,7 +29,7 @@ import (
|
||||
*/
|
||||
func JudgeFuturesPrice(tradeSet models.TradeSet) {
|
||||
preOrderVal, _ := helper.DefaultRedis.GetAllList(fmt.Sprintf(rediskey.PreFutOrderList, global.EXCHANGE_BINANCE))
|
||||
db := GetDBConnection()
|
||||
db := commonservice.GetDBConnection()
|
||||
|
||||
if len(preOrderVal) == 0 {
|
||||
return
|
||||
@ -153,7 +156,7 @@ func JudgeFuturesReduce(trade models.TradeSet) {
|
||||
key := fmt.Sprintf(rediskey.FuturesReduceList, global.EXCHANGE_BINANCE)
|
||||
reduceVal, _ := helper.DefaultRedis.GetAllList(key)
|
||||
|
||||
db := GetDBConnection()
|
||||
db := commonservice.GetDBConnection()
|
||||
futApi := FutRestApi{}
|
||||
setting, err := cacheservice.GetSystemSetting(db)
|
||||
|
||||
@ -162,12 +165,14 @@ func JudgeFuturesReduce(trade models.TradeSet) {
|
||||
return
|
||||
}
|
||||
|
||||
reduceOrder := ReduceListItem{}
|
||||
reduceOrder := positiondto.ReduceListItem{}
|
||||
tradePrice, _ := decimal.NewFromString(trade.LastPrice)
|
||||
//减仓单减仓策略
|
||||
reduceReduceListKey := fmt.Sprintf(rediskey.FutOrderReduceStrategyList, global.EXCHANGE_BINANCE)
|
||||
orderReduceVal, _ := helper.DefaultRedis.HGetAllFields(reduceReduceListKey)
|
||||
reduceOrderStrategy := dto.LineOrderReduceStrategyResp{}
|
||||
orderService := orderservice.OrderService{}
|
||||
orderService.Orm = db
|
||||
|
||||
for _, item := range orderReduceVal {
|
||||
sonic.Unmarshal([]byte(item), &reduceOrderStrategy)
|
||||
@ -193,7 +198,7 @@ func JudgeFuturesReduce(trade models.TradeSet) {
|
||||
return
|
||||
}
|
||||
|
||||
order, err := CreateReduceReduceOrder(db, reduceOrderStrategy.OrderId, item2.Price, item2.Num, trade.PriceDigit)
|
||||
order, err := orderService.CreateReduceReduceOrder(db, reduceOrderStrategy.OrderId, item2.Price, item2.Num, trade.PriceDigit)
|
||||
|
||||
if err != nil {
|
||||
log.Errorf("%d 生成订单失败", reduceOrderStrategy.OrderId)
|
||||
@ -261,8 +266,8 @@ func JudgeFuturesReduce(trade models.TradeSet) {
|
||||
// 触发合约减仓
|
||||
// isStrategy 是否是策略减仓
|
||||
// reduceId 父减仓单id
|
||||
func FuturesReduceTrigger(db *gorm.DB, reduceOrder ReduceListItem, futApi FutRestApi, setting DbModels.LineSystemSetting, key, item string, isStrategy bool, reduceId int) bool {
|
||||
tradeSet, _ := cacheservice.GetTradeSet(global.EXCHANGE_BINANCE, reduceOrder.Symbol, 1)
|
||||
func FuturesReduceTrigger(db *gorm.DB, reduceOrder positiondto.ReduceListItem, futApi FutRestApi, setting DbModels.LineSystemSetting, key, item string, isStrategy bool, reduceId int) bool {
|
||||
tradeSet, _ := cacheservice.GetTradeSet(global.EXCHANGE_BINANCE, reduceOrder.Symbol, 2)
|
||||
result := true
|
||||
|
||||
if tradeSet.LastPrice == "" {
|
||||
@ -362,7 +367,7 @@ func FuturesReduceTrigger(db *gorm.DB, reduceOrder ReduceListItem, futApi FutRes
|
||||
func JudgeFutAddPosition(trade models.TradeSet) {
|
||||
key := fmt.Sprintf(rediskey.FuturesAddPositionList, global.EXCHANGE_BINANCE)
|
||||
preOrderVal, _ := helper.DefaultRedis.GetAllList(key)
|
||||
db := GetDBConnection()
|
||||
db := commonservice.GetDBConnection()
|
||||
|
||||
if len(preOrderVal) == 0 {
|
||||
return
|
||||
@ -370,7 +375,7 @@ func JudgeFutAddPosition(trade models.TradeSet) {
|
||||
|
||||
futApi := FutRestApi{}
|
||||
for _, item := range preOrderVal {
|
||||
preOrder := AddPositionList{}
|
||||
preOrder := positiondto.AddPositionList{}
|
||||
if err := sonic.Unmarshal([]byte(item), &preOrder); err != nil {
|
||||
log.Error("反序列化失败")
|
||||
continue
|
||||
@ -394,7 +399,7 @@ func JudgeFutAddPosition(trade models.TradeSet) {
|
||||
}
|
||||
|
||||
// 合约加仓触发
|
||||
func FutAddPositionTrigger(db *gorm.DB, v *AddPositionList, item string, futApi FutRestApi) {
|
||||
func FutAddPositionTrigger(db *gorm.DB, v *positiondto.AddPositionList, item string, futApi FutRestApi) {
|
||||
lock := helper.NewRedisLock(fmt.Sprintf(rediskey.FutTrigger, v.ApiId, v.Symbol), 20, 5, 100*time.Millisecond)
|
||||
|
||||
if ok, err := lock.AcquireWait(context.Background()); err != nil {
|
||||
@ -404,7 +409,7 @@ func FutAddPositionTrigger(db *gorm.DB, v *AddPositionList, item string, futApi
|
||||
defer lock.Release()
|
||||
|
||||
setting, _ := cacheservice.GetSystemSetting(db)
|
||||
tradeSet, _ := cacheservice.GetTradeSet(global.EXCHANGE_BINANCE, v.Symbol, 1)
|
||||
tradeSet, _ := cacheservice.GetTradeSet(global.EXCHANGE_BINANCE, v.Symbol, 2)
|
||||
|
||||
if tradeSet.LastPrice == "" {
|
||||
log.Errorf("合约加仓触发 查询交易对失败 交易对:%s ordersn:%s", v.Symbol, v.OrderSn)
|
||||
|
||||
Reference in New Issue
Block a user