From 0cacae93b146ea559cbc5980ddeb53893e5fab41 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期二, 30 七月 2019 19:56:43 +0800 Subject: [PATCH] 联动任务缓存数据 --- ruleserver/ruleToformula.go | 36 +++++++++++++++++++++++------------- 1 files changed, 23 insertions(+), 13 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index e6c7e37..95e7e00 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -2,6 +2,7 @@ import ( "fmt" + "os" "ruleprocess/cache" "ruleprocess/logger" "sort" @@ -71,7 +72,7 @@ CameraId string TaskId string Sdkdata []*SdkData - RuleResult map[string]interface{} // 杩囧畬瑙勫垯鍚庢墦鐨勬爣绛� face: []Arg, yolo: []Result, cacheData: SdkDatas, timeLabel: 0,1,2,3,4,5 + RuleResult map[string]interface{} // 杩囧畬瑙勫垯鍚庢墦鐨勬爣绛� face: []FaceResult, yolo: []Result, cacheData: []ResultMsg, timeLabel: 0,1,2,3,4,5 } type ResultMsg struct { @@ -375,7 +376,7 @@ // new涓�涓畾鏃跺櫒锛屽鏋滀互姝roupId涓烘爣蹇楃殑瀹氭椂鍣ㄤ笉瀛樺湪鐨勮瘽 logger.Info("------------------------------------------褰撳墠鏄仈鍔ㄤ换鍔★紝瑙勫垯鏄細", groupRule.GroupText) var flag bool = true - var timeEle = TimeElement{N: 3, InitN: 3, GroupId: groupRule.GroupId} + var timeEle = TimeElement{N: 2, InitN: 2, GroupId: groupRule.GroupId} for k, timeEle1 := range TimeEleList { if k == groupRule.GroupId { flag = false // 宸茬粡鏈変簡杩欎釜瀹氭椂鍣ㄥ氨缃负false 涓嶅啀鏂板 @@ -383,7 +384,7 @@ } } if flag { // 濡傛灉杩樻病鏈夎繖涓畾鏃跺櫒鍏冪礌灏辨柊澧炰竴涓� - timeEle := TimeElement{N: 3, InitN: 3, GroupId: groupRule.GroupId} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌 + //timeEle := TimeElement{N: 2, InitN: 2, GroupId: groupRule.GroupId} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌 //TimeEleList = make(map[string]timeElement) TimeEleList[groupRule.GroupId] = &timeEle // 瀹氭椂鍣ㄥ厓绱犱互瑙勫垯缁刬d涓洪敭 logger.Info("---------------------------------------------鑱斿姩浠诲姟鍒涘缓浜嗚鏁板櫒骞朵笖璁℃暟鍣ㄩ泦鍚堜负锛�", TimeEleList) @@ -396,7 +397,7 @@ } } if flag1 { - TimeEleList[groupRule.GroupId].RuleResults = append(TimeEleList[groupRule.GroupId].RuleResults, &RuleResult{groupRule.Rules[j].CameraId, groupRule.Rules[j].Sort, "", groupRule.Rules[j].RuleWithPre}) + TimeEleList[groupRule.GroupId].RuleResults = append(TimeEleList[groupRule.GroupId].RuleResults, &RuleResult{groupRule.Rules[j].CameraId, groupRule.Rules[j].Sort, "", groupRule.Rules[j].RuleWithPre,&ResultMsg{message,args.RuleResult}}) } } } @@ -421,6 +422,7 @@ } } if isPerfect { + logger.Debug("鏁扮粍瀹屾弧浜嗭紝鑱斿姩浠诲姟鍙互鎴愬姛鎶ヨ浜嗭紒") // 灏嗘暟缁勬寜sort鎺掑簭 sort.Sort(SubList(timeEle.RuleResults)) // 鎺掑簭鍚庡彇鍚勮嚜鐨勭粨鏋滃拰杩炴帴绗︽嫾鍑鸿鍒欒〃杈惧紡寰楀嚭缁撴灉 @@ -434,12 +436,13 @@ result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋� if result.(bool) { logger.Info("___________________________________________________________________鑱斿姩浠诲姟鎶ヨ") - args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, "", groupRule.GroupId, groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, ""}) - //logger.Info("-------------------yolo缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["yolo"].([]Result))) - if args.RuleResult["face"] != nil { - //logger.Info("-------------------face缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["face"].([]FaceResult))) + // 鎶婃暟缁勯噷缂撳瓨鐨勬暟鎹彇鍑烘潵涓�璧锋姤璀� + args.RuleResult["linkCache"] = []*ResultMsg{} + for _, ruleRes := range TimeEleList[groupRule.GroupId].RuleResults { + args.RuleResult["linkCache"] = append(args.RuleResult["linkCache"].([]*ResultMsg),ruleRes.CacheData) } - //os.Exit(0) + logger.Debug("鑱斿姩浠诲姟缂撳瓨浜嗗嚑涓暟鎹�",len(args.RuleResult["linkCache"].([]*ResultMsg))) + os.Exit(1) } } } else { @@ -447,13 +450,20 @@ } } else { // 娌℃湁鎶ヨ锛� //logger.Info("杩欏抚鍥惧儚鍦ㄤ换鍔′笅鐨勪竴鏁存潯瑙勫垯涓嬶紙鑱斿姩浠诲姟涓嬪氨鏄窡鏈憚鍍忔満鍍忕浉鍏崇殑灏忚鍒欙級鐨勫垽鏂粨鏋滀负false") - // 鎵�浠ヤ篃瑕佸幓缁撴灉鏁扮粍閲屾斁鍊兼垨鏇存柊 - for _, va := range timeEle.RuleResults { - if args.CameraId != "" && va.CameraId == args.CameraId { - va.Result = strconv.FormatBool(isOk) + // 鎵�浠ヤ篃瑕佸幓缁撴灉鏁扮粍閲屾斁鍊兼垨鏇存柊 07/30澶囨敞锛� 涓嶅簲鏀惧�硷紝搴斿垹闄ゅ畾鏃跺櫒锛岀瓑涓簍rue鏃跺啀搴﹀紑鍚� + //for _, va := range timeEle.RuleResults { + // if args.CameraId != "" && va.CameraId == args.CameraId { + // va.Result = strconv.FormatBool(isOk) + // } + //} + for k,_ := range TimeEleList { + if k == groupRule.GroupId { + delete(TimeEleList,k) + logger.Debug("鍥犱负瀹氭椂鍣ㄧ殑涓�甯ф暟鎹粨鏋滀负false锛屽共鎺夊畾鏃跺櫒") } } // 鍥犱负鏈抚鏁版嵁涓嶇鍚堣鍒欙紝鎵�浠ヤ篃涓嶇敤缁熻缁撴灉鏁扮粍閲岀殑涓滆タ + } } -- Gitblit v1.8.0