| | |
| | | package db |
| | | |
| | | import ( |
| | | "time" |
| | | |
| | | "github.com/elastic/go-elasticsearch/v6" |
| | | "gorm.io/gorm" |
| | | |
| | | "model-engine/config" |
| | | "model-engine/db/es" |
| | | "model-engine/pkg/logger" |
| | |
| | | if err := es.InitClient([]string{"http://" + config.EsInfo.Ip + ":" + config.EsInfo.Port}); err != nil { |
| | | return err |
| | | } |
| | | |
| | | InitDefaultData() |
| | | |
| | | return nil |
| | | } |
| | | |
| | |
| | | |
| | | return nil |
| | | } |
| | | |
| | | // InitDefaultData 初始化数据 |
| | | func InitDefaultData() error { |
| | | var models = []Model{ |
| | | { |
| | | BaseModel: BaseModel{ |
| | | ID: ModelIdGather, |
| | | CreatedAt: time.Time{}, |
| | | UpdatedAt: time.Time{}, |
| | | }, |
| | | Name: "疑似聚集", |
| | | Description: "通用聚集模型", |
| | | Version: "v1.0.0", |
| | | Enabled: false, |
| | | }, |
| | | } |
| | | |
| | | for i := range models { |
| | | GetDB().Save(&models[i]) |
| | | } |
| | | |
| | | var rules = []ModelRule{ |
| | | { |
| | | Id: "bfbdba7f-ee39-41fb-b188-b4c114a51eaa", |
| | | ModelId: ModelIdGather, |
| | | Scope: "", |
| | | RuleArg: RuleArg{ |
| | | Alias: "gatherPersons", |
| | | Name: "聚集人数", |
| | | Type: "input", |
| | | Must: true, |
| | | Unit: "人", |
| | | Range: "1,100", |
| | | Value: "2", |
| | | ValType: "int", |
| | | Operator: ">=", |
| | | Sort: 0, |
| | | }, |
| | | }, |
| | | { |
| | | Id: "941bef84-ff7f-4460-b5dc-2ac6060304a4", |
| | | ModelId: ModelIdGather, |
| | | Scope: "", |
| | | RuleArg: RuleArg{ |
| | | Alias: "appearInterval", |
| | | Name: "出现间隔", |
| | | Type: "input", |
| | | Must: true, |
| | | Unit: "秒", |
| | | Range: "1,7200", |
| | | Value: "60", |
| | | ValType: "int", |
| | | Operator: ">=", |
| | | Sort: 1, |
| | | }, |
| | | }, |
| | | { |
| | | Id: "a9b50bae-2c40-40a1-9ebc-ac34850db964", |
| | | ModelId: ModelIdGather, |
| | | Scope: "", |
| | | RuleArg: RuleArg{ |
| | | Alias: "threshold", |
| | | Name: "出现次数", |
| | | Type: "input", |
| | | Must: true, |
| | | Unit: "次", |
| | | Range: "1,60", |
| | | Value: "1", |
| | | ValType: "int", |
| | | Operator: ">=", |
| | | Sort: 2, |
| | | }, |
| | | }, |
| | | { |
| | | Id: "aed7f95e-1ce6-4fa2-b1b3-aaf59ed86c50", |
| | | ModelId: ModelIdGather, |
| | | Scope: "", |
| | | RuleArg: RuleArg{ |
| | | Alias: "daysWindow", |
| | | Name: "监控时间", |
| | | Type: "input", |
| | | Must: true, |
| | | Unit: "天内", |
| | | Range: "1,7", |
| | | Value: "1", |
| | | ValType: "int", |
| | | Operator: "==", |
| | | Sort: 2, |
| | | }, |
| | | }, |
| | | } |
| | | |
| | | for i := range rules { |
| | | GetDB().Save(&rules[i]) |
| | | } |
| | | |
| | | return nil |
| | | } |