From 9f1b86b7f2732432aed2c13165c95812e57d4f49 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期一, 10 二月 2025 09:31:44 +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