2 Star 3 Fork 10

王布衣 / engine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
command_tracker.go 1.89 KB
一键复制 编辑 原始数据 按行查看 历史
package command
import (
"fmt"
"gitee.com/quant1x/engine/models"
"gitee.com/quant1x/engine/permissions"
"gitee.com/quant1x/engine/tracker"
"gitee.com/quant1x/gox/api"
"gitee.com/quant1x/gox/logger"
cmder "github.com/spf13/cobra"
"strings"
)
const (
trackerCommand = "tracker"
trackerDescription = "实时跟踪"
)
var (
trackerStrategyCodes = "1" // 策略编号
CmdTracker *cmder.Command = nil // 实时跟踪
)
func initTracker() {
CmdTracker = &cmder.Command{
Use: trackerCommand,
Example: Application + " " + trackerCommand + " --no=1",
//Args: cobra.MinimumNArgs(0),
Args: func(cmd *cmder.Command, args []string) error {
return nil
},
Short: trackerDescription,
Long: trackerDescription,
Run: func(cmd *cmder.Command, args []string) {
var strategyCodes []uint64
array := strings.Split(trackerStrategyCodes, ",")
for _, strategyNumber := range array {
strategyNumber := strings.TrimSpace(strategyNumber)
code := api.ParseUint(strategyNumber)
// 1. 确定策略是否存在
medel, err := models.CheckoutStrategy(code)
if err != nil {
fmt.Printf("策略编号%d, 不存在\n", code)
logger.Errorf("策略编号%d, 不存在", code)
continue
}
// 2. 确定策略是否有权限
err = permissions.CheckPermission(medel)
if err != nil {
fmt.Printf("策略编号%d, 权限验证失败: %+v\n", code, err)
logger.Errorf("策略编号%d, 权限验证失败: %+v", code, err)
continue
}
strategyCodes = append(strategyCodes, code)
}
if len(strategyCodes) == 0 {
fmt.Println("没有有效的策略编号, 实时扫描结束")
logger.Info("没有有效的策略编号, 实时扫描结束")
return
}
tracker.Tracker(strategyCodes...)
},
}
CmdTracker.Flags().StringVar(&trackerStrategyCodes, "no", trackerStrategyCodes, "策略编号, 多个用逗号分隔")
}
1
https://gitee.com/quant1x/engine.git
git@gitee.com:quant1x/engine.git
quant1x
engine
engine
v1.8.4

搜索帮助