From fca319958029fa924308e50cb61202d7d6ff5008 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期三, 19 二月 2025 13:33:37 +0800 Subject: [PATCH] 暂停聚集模型 --- db/db.go | 316 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 234 insertions(+), 82 deletions(-) diff --git a/db/db.go b/db/db.go index b23ab8c..9ab8704 100644 --- a/db/db.go +++ b/db/db.go @@ -57,28 +57,54 @@ // InitDefaultData 鍒濆鍖栨暟鎹� func InitDefaultData() error { var models = []*Model{ - { - BaseModel: BaseModel{ - ID: ModelIdGather, - }, - Name: "鐤戜技鑱氶泦", - Description: "閫氱敤鑱氶泦妯″瀷", - Version: "v1.0.1", - Enabled: false, - }, + //{ + // 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: ModelIdAccessRegularity, + }, + Name: "鍑鸿瑙勫緥鍒嗘瀽", + Description: "鍑鸿瑙勫緥鍒嗘瀽妯″瀷", Version: "v1.0.0", Enabled: false, }, + //{ + // BaseModel: BaseModel{ + // ID: ModelIdNightAnalysis, + // }, + // Name: "鏄间紡澶滃嚭鍒嗘瀽", + // Description: "鏄间紡澶滃嚭鍒嗘瀽", + // Version: "v1.0.0", + // Enabled: false, + //}, } for i := range models { - if err := GetDB().Model(models[i]).First(models[i].ID).Error; err != nil { + 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) @@ -86,74 +112,76 @@ } 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: "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, @@ -178,14 +206,14 @@ RuleArg: RuleArg{ Alias: "age", Name: "骞撮緞娈�", - Type: "input", - Must: true, + Type: "range", + Must: false, Unit: "宀�", Range: "1,100", Value: "60, 90", ValType: "int", Operator: "==", - Sort: 1, + Sort: 2, }, }, { @@ -193,7 +221,7 @@ ModelId: ModelIdDisappear, Scope: "", RuleArg: RuleArg{ - Alias: "age", + Alias: "lastDirection", Name: "杩涘嚭鏂瑰悜", Type: "input", Must: false, @@ -202,9 +230,133 @@ Value: "", ValType: "string", Operator: "==", + Sort: 1, + }, + }, + + // 鍦烘墍鍒嗘瀽 + { + Id: "3f667e5a-bd10-4673-be45-f385e19a9c25", + ModelId: ModelIdLocationAnalysis, + Scope: "", + RuleArg: RuleArg{ + Alias: "duration", + Name: "鐩戞帶鏃堕棿", + Type: "input", + Must: true, + Unit: "澶╁唴", + Range: "1,60", + Value: "30", + ValType: "int", + Operator: "==", + Sort: 1, + }, + }, + { + Id: "ce298639-0cf8-4a8f-89f9-a932034a1e86", + ModelId: ModelIdLocationAnalysis, + Scope: "", + RuleArg: RuleArg{ + Alias: "timeRange", + Name: "鍑虹幇鏃堕棿", + Type: "range", + Must: true, + Unit: "鐐�", + Range: "0,23", + Value: "9,10", + ValType: "int", + Operator: "==", Sort: 2, }, }, + { + 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: 0, + }, + }, + + // 鍑鸿瑙勫緥 + { + Id: "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + ModelId: ModelIdAccessRegularity, + Scope: "", + RuleArg: RuleArg{ + Alias: "duration", + Name: "鐩戞帶鏃堕棿娈�", + Type: "input", + Must: true, + Unit: "澶╁唴", + Range: "1,60", + Value: "30", + ValType: "int", + Operator: ">=", + Sort: 0, + }, + }, + { + Id: "f47ac10b-58cc-4372-a567-0e02b2c3d479", + ModelId: ModelIdAccessRegularity, + Scope: "", + RuleArg: RuleArg{ + Alias: "timeRange", + Name: "鍑鸿鏃堕棿娈�", + Type: "range", + Must: true, + Unit: "鐐�", + Range: "1,24", + Value: "21,3", + ValType: "int", + Operator: ">=", + Sort: 1, + }, + }, + { + Id: "c9bf9e57-1685-4c89-bafb-ff5af830be8a", + ModelId: ModelIdAccessRegularity, + Scope: "", + RuleArg: RuleArg{ + Alias: "appearances", + Name: "鍑鸿娆℃暟", + Type: "input", + Must: false, + Unit: "娆�", + Range: "1,100", + Value: "2", + ValType: "int", + Operator: "==", + Sort: 2, + }, + }, + { + Id: "e4eaaaf2-d142-11e1-b3e4-080027620cdd", + ModelId: ModelIdAccessRegularity, + Scope: "", + RuleArg: RuleArg{ + Alias: "direction", + Name: "杩涘嚭鏂瑰悜", + Type: "select", + Must: false, + Unit: "", + Range: "", + Value: "", + ValType: "string", + Operator: "==", + Options: "[{\"label\":\"杩沑", \"value\":\"in\"},{\"label\":\"鍑篭", \"value\":\"out\"}]", + Sort: 3, + }, + }, } for i := range rules { -- Gitblit v1.8.0