From bc37c44c45d08c2cb42822e08adf429f4bcffb51 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期一, 10 二月 2025 11:36:20 +0800 Subject: [PATCH] 测试 场景分析 bug --- db/db.go | 240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 238 insertions(+), 2 deletions(-) diff --git a/db/db.go b/db/db.go index 54de63e..6ed04f8 100644 --- a/db/db.go +++ b/db/db.go @@ -3,20 +3,23 @@ import ( "github.com/elastic/go-elasticsearch/v6" "gorm.io/gorm" + "model-engine/config" "model-engine/db/es" - "model-engine/pkg/logger" "model-engine/pkg/mysqlx" ) // Init 鍒濆鍖杕ysql鍜宔s func Init() error { - if err := mysqlx.Init(config.MysqlConf, logger.GetLogger()); err != nil { + if err := mysqlx.Init(config.MysqlConf, nil); err != nil { return err } if err := es.InitClient([]string{"http://" + config.EsInfo.Ip + ":" + config.EsInfo.Port}); err != nil { return err } + + InitDefaultData() + return nil } @@ -50,3 +53,236 @@ return nil } + +// InitDefaultData 鍒濆鍖栨暟鎹� +func InitDefaultData() error { + var models = []*Model{ + { + BaseModel: BaseModel{ + ID: ModelIdGather, + }, + Name: "鐤戜技鑱氶泦", + Description: "閫氱敤鑱氶泦妯″瀷", + Version: "v1.0.2", + Enabled: false, + }, + { + BaseModel: BaseModel{ + ID: ModelIdDisappear, + }, + Name: "鐤戜技鑴辩", + Description: "閫氱敤鑴辩妯″瀷", + Version: "v1.1.0", + Enabled: false, + }, { + BaseModel: BaseModel{ + ID: ModelIdLocationAnalysis, + }, + Name: "閲嶇偣鍦烘墍鍒嗘瀽", + Description: "閫氱敤鍦烘墍鍒嗘瀽妯″瀷", + Version: "v1.0.0", + Enabled: false, + }, + //{ + // BaseModel: BaseModel{ + // ID: ModelIdNightAnalysis, + // }, + // Name: "鏄间紡澶滃嚭鍒嗘瀽", + // Description: "鏄间紡澶滃嚭鍒嗘瀽", + // Version: "v1.0.0", + // Enabled: false, + //}, + } + + for i := range models { + var existingModel Model + if err := GetDB().Model(models[i]).Where("id = ?", models[i].ID).First(&existingModel).Error; err != nil { + GetDB().Model(models[i]).Create(models[i]) + } else { + GetDB().Model(models[i]).Update("version", models[i].Version) + } + } + + 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: 3, + }, + }, + + // 鎵樼 + { + Id: "7a1f0a3a-c207-4d94-bc28-cc9e017b3628", + ModelId: ModelIdDisappear, + Scope: "", + RuleArg: RuleArg{ + Alias: "disappearTime", + Name: "鎸佺画鏃堕棿", + Type: "input", + Must: true, + Unit: "灏忔椂", + Range: "1,2400", + Value: "24", + ValType: "int", + Operator: ">=", + Sort: 0, + }, + }, + { + Id: "f1b99f28-1be0-4f78-b7c1-b01b1656b7fa", + ModelId: ModelIdDisappear, + Scope: "", + RuleArg: RuleArg{ + Alias: "age", + Name: "骞撮緞娈�", + Type: "range", + Must: false, + Unit: "宀�", + Range: "1,100", + Value: "60, 90", + ValType: "int", + Operator: "==", + Sort: 2, + }, + }, + { + Id: "47366fa6-2f61-4fe0-957a-b1e0606bb1f0", + ModelId: ModelIdDisappear, + Scope: "", + RuleArg: RuleArg{ + Alias: "lastDirection", + Name: "杩涘嚭鏂瑰悜", + Type: "input", + Must: false, + Unit: "", + Range: "", + Value: "", + ValType: "string", + Operator: "==", + Sort: 1, + }, + }, + + // 鍦烘墍鍒嗘瀽 + { + Id: "3f667e5a-bd10-4673-be45-f385e19a9c25", + ModelId: ModelIdLocationAnalysis, + Scope: "", + RuleArg: RuleArg{ + Alias: "duration", + Name: "鏃堕棿娈�", + Type: "input", + Must: false, + Unit: "澶�", + Range: "1,2400", + Value: "30", + ValType: "int", + Operator: ">=", + Sort: 2, + }, + }, + { + Id: "ce298639-0cf8-4a8f-89f9-a932034a1e86", + ModelId: ModelIdLocationAnalysis, + Scope: "", + RuleArg: RuleArg{ + Alias: "personCount", + Name: "鍑虹幇浜烘暟", + Type: "input", + Must: true, + Unit: "涓�", + Range: "1,100", + Value: "1, 90", + ValType: "int", + Operator: ">=", + Sort: 0, + }, + }, + { + Id: "f85ae400-0114-4862-99f7-14a41530d235", + ModelId: ModelIdLocationAnalysis, + Scope: "", + RuleArg: RuleArg{ + Alias: "appearances", + Name: "鍑虹幇娆℃暟", + Type: "input", + Must: true, + Unit: "", + Range: "", + Value: "", + ValType: "int", + Operator: ">=", + Sort: 1, + }, + }, + } + + for i := range rules { + GetDB().Save(&rules[i]) + } + + return nil +} -- Gitblit v1.8.0