This commit is contained in:
2025-02-06 11:14:33 +08:00
commit 07847a2d9e
535 changed files with 65131 additions and 0 deletions

125
app/jobs/jobs.go Normal file
View File

@ -0,0 +1,125 @@
package jobs
import (
"errors"
"go-admin/app/admin/models"
"go-admin/app/admin/service"
"go-admin/app/admin/service/dto"
"go-admin/services/fileservice"
"strconv"
"strings"
"time"
"github.com/go-admin-team/go-admin-core/sdk"
"gorm.io/gorm"
"github.com/go-admin-team/go-admin-core/logger"
)
type InitFuturesSymbol struct {
}
type InitSpotSymbol struct {
}
type ClearLogJob struct {
}
type AutoPlaceOrder struct {
}
// 初始化合约交易对
func (t InitFuturesSymbol) Exec(arg interface{}) error {
str := time.Now().Format(timeFormat) + " [INFO] JobCore InitFuturesSymbol exec success"
defer logger.Info(str)
dbs := sdk.Runtime.GetDb()
var db *gorm.DB
for _, item := range dbs {
db = item
break
}
symbolService := service.LineSymbol{}
symbolService.Orm = db
//重置合约交易对
symbolService.ResetFuturesSymbol()
return nil
}
// 初始化现货交易对
func (t InitSpotSymbol) Exec(arg interface{}) error {
str := time.Now().Format(timeFormat) + " [INFO] JobCore InitSpotSymbol exec success"
defer logger.Info(str)
dbs := sdk.Runtime.GetDb()
var db *gorm.DB
for _, item := range dbs {
db = item
break
}
symbolService := service.LineSymbol{}
symbolService.Orm = db
//重置现货交易对
symbolService.ResetSpotSymbol()
return nil
}
// 删除过期日志
func (t ClearLogJob) Exec(arg interface{}) error {
str := time.Now().Format(timeFormat) + " [INFO] JobCore ClearLogJob exec success"
defer logger.Info(str)
var db *gorm.DB
for _, item := range sdk.Runtime.GetDb() {
db = item
break
}
fileservice.ClearLogs(db)
return nil
}
// Exec 执行自动下单
func (t AutoPlaceOrder) Exec(arg interface{}) error {
str := time.Now().Format(timeFormat) + " [INFO] JobCore ClearLogJob exec success"
defer logger.Info(str)
var db *gorm.DB
for _, item := range sdk.Runtime.GetDb() {
db = item
break
}
var templateLogs []models.LineOrderTemplateLogs
db.Model(&models.LineOrderTemplateLogs{}).Where("switch = '1'").Find(&templateLogs)
if len(templateLogs) > 0 {
ids := make([]string, len(templateLogs))
for _, log := range templateLogs {
ids = append(ids, strconv.Itoa(log.Id))
}
req := dto.QuickAddPreOrderReq{Ids: strings.Join(ids, ",")}
preOrderService := service.LinePreOrder{}
preOrderService.Orm = db
errs := make([]error, 0)
errStr := make([]string, 0)
err := preOrderService.QuickAddPreOrder(&req, nil, &errs)
if err != nil {
return err
}
if len(errs) > 0 {
//e.Logger.Error(err)
for _, err2 := range errs {
errStr = append(errStr, err2.Error())
}
return errors.New(strings.Join(errStr, ","))
}
}
return nil
}