From 3ff1af612ee690063dceb5aa9a6e9791e6d9a943 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期二, 17 十二月 2019 11:41:15 +0800 Subject: [PATCH] --- --- algorithm/static/static.go | 59 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 31 insertions(+), 28 deletions(-) diff --git a/algorithm/static/static.go b/algorithm/static/static.go index 3ceb127..ce26988 100644 --- a/algorithm/static/static.go +++ b/algorithm/static/static.go @@ -45,13 +45,13 @@ var formula string if rule.SdkArgAlias == "score" { formula = strconv.FormatFloat(arg.Score, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮� - logger.Info("褰撳墠鐩镐技搴﹀皬鍏紡锛�", formula) + //logger.Info("褰撳墠鐩镐技搴﹀皬鍏紡锛�", formula) } else if rule.SdkArgAlias == "proportion" { formula = strconv.FormatFloat(arg.Proportion, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮� - logger.Info("褰撳墠鍗犳瘮灏忓叕寮忥細", formula) + //logger.Info("褰撳墠鍗犳瘮灏忓叕寮忥細", formula) } else { formula = strconv.FormatFloat(arg.Size, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮� - logger.Info("褰撳墠灏哄灏忓叕寮忥細", formula) + //logger.Info("褰撳墠灏哄灏忓叕寮忥細", formula) } expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡 result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋� @@ -61,16 +61,16 @@ } am.TargetNum = len(am.FilterData) // 鎶婄鍚堟潯浠剁殑鐩爣鏁伴噺鏇存柊鍒皌argetNum瀛楁 if am.TargetNum > 0 { - return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort} + return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData} } else { - return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort} + return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData} } } else if rule.SdkArgAlias == "" { if am.TargetNum > 0 { - return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort} + return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData} } else { - return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort} + return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData} } } return structure.LittleRuleResult{} @@ -103,7 +103,7 @@ logger.Error("涓綋闈欐瑙勫垯鏈夎", err) } }() - logger.Info("璧颁簡涓綋闈欐鏍稿績绠楁硶") + //logger.Info("璧颁簡涓綋闈欐鏍稿績绠楁硶") initN := 5 if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a977" && rule.SdkArgAlias == "duration" { if init,err := strconv.Atoi(rule.SdkArgValue); err != nil { @@ -114,24 +114,26 @@ } if len(am.FilterData) < 0 { logger.Info("鏈抚鍖哄煙鍐呮棤鏁版嵁锛岃繑鍥�") - return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort} + // 娓呯┖缂撳瓨鐨勭洰鏍� + + return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData} } m := make(map[string]interface{}) m["target"] = []structure.Result{} m["target"] = append(m["target"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable}) - if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 { // 鍗崇涓�甯ф暟鎹�(涔熶笉涓�瀹�)锛岃繕娌℃湁缂撳瓨 - logger.Info("涔嬪墠鏃犵紦瀛樺苟涓旀娆″尯鍩熷唴鏈変汉") + if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 { + //logger.Info("涔嬪墠鏃犵紦瀛樺苟涓旀娆″尯鍩熷唴鏈変汉") objs := []*structure.Obj{} for _, tar := range am.FilterData { - obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN, InitN:initN,AlarmFlag: false, BufferFlag: 10, CacheSdkData:structure.ResultMsg{message, m}} + obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN, InitN:initN, AlarmFlag: false, BufferFlag: 10, CacheSdkData:structure.ResultMsg{message, m}} objs = append(objs, obj) } structure.StaticMap[am.AreaId] = &structure.CameraArea{objs} - return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort} + return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData} } else { - logger.Info("涔嬪墠鏈夌紦瀛�") + //logger.Info("涔嬪墠鏈夌紦瀛�") flag := "false" // 浠ヤ箣鍓嶉潤姝㈢殑瀵硅薄涓轰富鍒ゆ柇鏄惁闈欐 tars := []*structure.Arg{} @@ -140,18 +142,17 @@ // logger.Info("鍏蜂綋鐩爣锛�",tar.Location) //} for _, tar := range structure.StaticMap[am.AreaId].Targets { - singleResult,arg := SingleStatic(tar,am,lable,90) + singleResult,arg := SingleStatic(tar,am,lable,95) if singleResult { flag = "true" tars = append(tars,arg) - logger.Info("闈欐鐨勭洰鏍囷細",arg.Id,arg.Location,arg.Score) + //logger.Info("闈欐鐨勭洰鏍囷細",arg.Id,arg.Location,arg.Score) } } // 鎶婃弧瓒虫潯浠剁殑鐩爣鏀捐繘areaMap涓� am.AlarmObj = tars // 鏇存柊鏁版嵁,鎶婃柊鏉ョ殑鏁版嵁鍐欏叆缂撳瓨 - objs := []*structure.Obj{} for _, tar := range am.FilterData { flag1 := false for _, OBJ := range structure.StaticMap[am.AreaId].Targets { @@ -159,13 +160,12 @@ flag1 = true } } - if !flag1 { // 闆嗗悎涓病鏈夌殑鎵嶆彃鍏� - obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, m}} - objs = append(objs, obj) + if !flag1 { // 闆嗗悎涓病鏈夌殑鎵嶆彃鍏� + obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN, InitN:initN,AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, m}} + structure.StaticMap[am.AreaId].Targets = append(structure.StaticMap[am.AreaId].Targets, obj) } } - structure.StaticMap[am.AreaId] = &structure.CameraArea{objs} - return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort} + return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort,am.FilterData} } } @@ -185,7 +185,7 @@ // 鍒ゆ柇涓�涓洰鏍囨槸鍚﹂潤姝簡鎸囧畾鏃堕棿 func SingleStatic(person *structure.Obj, am *structure.AreaMap,lable *structure.Others, argValue float64) (bool,*structure.Arg){ - logger.Info("鍗曚釜鐩爣鐨勫垽鏂細") + //logger.Info("鍗曚釜鐩爣鐨勫垽鏂細") flag := false var o *structure.Arg = nil for _, obj := range am.FilterData { @@ -218,23 +218,26 @@ rw.Lock() if result { // 缁撴灉涓虹湡 - for k, tar := range structure.StaticMap[areaId].Targets { + for _, tar := range structure.StaticMap[areaId].Targets { if tar.Id == person.Id { if tar.N == 0 && tar.AlarmFlag { - logger.Debug("-------------------------绗﹀悎鎸佺画鏃堕棿瑙勫垯浣嗗苟涓嶆槸棣栨锛屼笉鎶ヨ") + //logger.Debug("-------------------------绗﹀悎鎸佺画鏃堕棿瑙勫垯浣嗗苟涓嶆槸棣栨锛屼笉鎶ヨ") flagTime = "11" + o.TimeLable = flagTime + o.CacheData = tar.CacheSdkData } if tar.N == 0 && !tar.AlarmFlag { // 杩欑粍瑙勫垯鐨勫畾鏃跺櫒瑕佸叏閮ㄧ瓑浜�0 鏆備笖璁や负涓�缁勮鍒欏彧鏈変竴涓畾鏃跺櫒 logger.Debug("鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺��-------------棣栨绗﹀悎鎸佺画鏃堕棿瑙勫垯骞舵姤璀�") flagTime = "10" tar.AlarmFlag = true + o.TimeLable = flagTime o.CacheData = tar.CacheSdkData } if tar.N != 0 { flagTime = "00" // 鏈夊畾鏃跺櫒浣嗕笉涓�0鎶婂凡鎵撶殑鏍囩鍒犻櫎 // args.RuleResult = nil - logger.Debug("------------------------缁撴灉涓虹湡浣嗚鏁板櫒涓嶅埌0锛屼笉鎶ヨ,姝ゆ椂鐨勮鏁板櫒", k, "鐨勫�间负锛�", tar.N) + //logger.Debug("------------------------缁撴灉涓虹湡浣嗚鏁板櫒涓嶅埌0锛屼笉鎶ヨ,姝ゆ椂鐨勮鏁板櫒", k, "鐨勫�间负锛�", tar.N) } } } @@ -243,7 +246,7 @@ if tar.Id == person.Id { if tar.AlarmFlag { if tar.BufferFlag == 0 { - logger.Debug("------------------------------鏉�姝昏鏁板櫒锛屾姤璀︽甯х姸鎬佹敼鍙樼殑鏁版嵁锛屾鏃剁殑璁℃暟鍣ㄧ殑鍊间负", tar.N) + //logger.Debug("------------------------------鏉�姝昏鏁板櫒锛屾姤璀︽甯х姸鎬佹敼鍙樼殑鏁版嵁锛屾鏃剁殑璁℃暟鍣ㄧ殑鍊间负", tar.N) flagTime = "12" structure.StaticMap[areaId].Targets = append(structure.StaticMap[areaId].Targets[:index],structure.StaticMap[areaId].Targets[index+1:]...) } else { @@ -253,7 +256,7 @@ } } } else { - logger.Debug("-----------缁撴灉涓哄亣涓斾笉鍒�0锛屾潃姝诲畾鏃跺櫒") + //logger.Debug("-----------缁撴灉涓哄亣涓斾笉鍒�0锛屾潃姝诲畾鏃跺櫒") structure.StaticMap[areaId].Targets = append(structure.StaticMap[areaId].Targets[:index],structure.StaticMap[areaId].Targets[index+1:]...) } } -- Gitblit v1.8.0