From 18827e9e25797b6d24ad7ad4785f7e80fe46a409 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 18 十一月 2019 19:05:14 +0800 Subject: [PATCH] 车辆版本 --- ruleserver/ruleToformula.go | 74 +++++++++++++++++------------------- 1 files changed, 35 insertions(+), 39 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index c666960..1a64371 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -118,7 +118,6 @@ if result { // 鏈�鍚庤繃鎸佺画鏃堕棿绛夋椂闂寸淮搴︾殑鏉′欢 鎶婃椂闂磋鍒欎綅缃皟鏁村埌杩欎釜浣嶇疆鏄负浜嗙紦瀛樻暟鎹� 锛侊紒锛侊紒锛乸s: 瀵圭敾闈腑鍗曚釜鐩爣鍋氬畾鏃跺櫒鐨勪笉鐢ㄥ啀杩囩敾闈㈠畾鏃跺櫒 - cacheId := "" for j := 0; j < len(groupRule.Rules); j++ { for _, sdkData := range args.Sdkdata { sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId) @@ -129,17 +128,14 @@ if ipcId == sdkData.IpcId { for _, areaMap := range sdkData.AreaMapList { // 鍘诲紑鍚竴涓畾鏃跺櫒 - cacheid := duration(groupRule.Rules[j], groupRule.GroupId, areaMap, args, message) - if cacheid != "" { - cacheId = cacheid - } + duration(groupRule.Rules[j], groupRule.GroupId, areaMap, args, message,label) } } } } // 杩涜瀹氭椂鍣ㄧ殑澶勭悊鍜屽垽鏂� timeFlag := TimerAlarm(&label, groupRule.GroupId, result) - if timeFlag == "01" || timeFlag == "10" || timeFlag == "11" || cacheId != ""{ // 娌℃湁瀹氭椂鍣ㄦ垨鑰呮弧瓒冲畾鏃跺櫒鏉′欢 + if timeFlag == "01" || timeFlag == "10" || timeFlag == "11"{ // 娌℃湁瀹氭椂鍣ㄦ垨鑰呮弧瓒冲畾鏃跺櫒鏉′欢 // 鎵撲汉鑴告爣绛惧拰yolo鏍囩 // 鏈�鍚庢垚鍔熸姤璀︽墠鎶婄鍚堟潯浠剁殑浜鸿劯鏁版嵁濉炶繘缁撴灉鏍囩閲� // 閰嶄簡浜鸿劯鐨勭畻娉曟墠鎶婁汉鑴哥殑鏁版嵁鐢╁嚭鏉ユ墦鏍囩 @@ -190,10 +186,10 @@ // 杞﹁締鐩爣缁熻 cars := []*structure.Arg{} for _, sdkData := range args.Sdkdata { - if sdkData.IpcId == "91d923ef-6200-4549-ab1b-8e773e85d729" && sdkNames != "" { // 鎶妝olo鏁版嵁鐨勫悇涓洰鏍囩殑鍧愭爣杈撳嚭鏂逛究鍚庨潰鐢绘 + if sdkData.IpcId == "91d923ef-6200-4549-ab1b-8e773e85d729" && sdkNames != "" { // 鎶婅溅鐗屾暟鎹殑鍚勪釜鐩爣鐨勫潗鏍囪緭鍑烘柟渚垮悗闈㈢敾妗� for _, areaMap := range sdkData.AreaMapList { if areaMap.IsEffective { - cars = append(cars, putYolosToResult(areaMap)...) + cars = append(cars, putFaceToResult(areaMap, cars)...) } } } @@ -221,31 +217,31 @@ //labelTypes = append(labelTypes,2) } if len(cars) > 0 { - args.RuleResult["car"] = append(args.RuleResult["car"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, cars, polygonId, islink,label}) - logger.Info("-------------------鐩爣鎸佺画缁撴灉鏍囩", len(args.RuleResult["target"].([]structure.Result))) + args.RuleResult["plate"] = append(args.RuleResult["plate"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, cars, polygonId, islink,label}) + logger.Info("-------------------杞︾墝缁撴灉鏍囩", len(args.RuleResult["plate"].([]structure.Result))) //labelTypes = append(labelTypes,2) } // 缁欐寔缁椂闂寸殑绗竴寮犺祴浜堢紦瀛樻暟鎹紙閬嶅巻澶嶅埗锛� - if cacheId != "" { // 鏈夎繖甯ф暟鎹殑缂撳瓨 - tempMap := make(map[string]interface{}) - for k, result := range args.RuleResult { - if k == "yolo" { - tempMap[k] = []structure.Result{} - for _, res := range result.([]structure.Result) { - tempMap[k] = append(tempMap[k].([]structure.Result), res) - } - } - if k == "face" { - tempMap[k] = []structure.Result{} - for _, res := range result.([]structure.Result) { - tempMap[k] = append(tempMap[k].([]structure.Result), res) - } - } - } - rw.Lock() - TimeEleList[cacheId].CacheSdkData.RuleResult = tempMap - rw.Unlock() - } + //if cacheId != "" { // 鏈夎繖甯ф暟鎹殑缂撳瓨 + // tempMap := make(map[string]interface{}) + // for k, result := range args.RuleResult { + // if k == "yolo" { + // tempMap[k] = []structure.Result{} + // for _, res := range result.([]structure.Result) { + // tempMap[k] = append(tempMap[k].([]structure.Result), res) + // } + // } + // if k == "face" { + // tempMap[k] = []structure.Result{} + // for _, res := range result.([]structure.Result) { + // tempMap[k] = append(tempMap[k].([]structure.Result), res) + // } + // } + // } + // rw.Lock() + // TimeEleList[cacheId].CacheSdkData.RuleResult = tempMap + // rw.Unlock() + //} return true,labelTypes } else { @@ -445,11 +441,11 @@ } // 濡傛灉鏈夋寔缁椂闂存潯浠剁淮鎶ゅ紑鍚竴涓畾鏃跺櫒 -func duration(rule *protomsg.Rule, groupId string, am *structure.AreaMap, args *structure.SdkDatas, message *protomsg.SdkMessage) string{ - cacheId := "" +func duration(rule *protomsg.Rule, groupId string, am *structure.AreaMap, args *structure.SdkDatas, message *protomsg.SdkMessage, label structure.Others){ + // cacheId := "" if rule.PolygonId == am.AreaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓� 閰嶇疆鐨勭畻娉曡瀵圭殑涓� if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a977" { // 鎺掗櫎瀵圭敾闈腑鍗曚釜鐩爣鐨勭畻娉曪紝涓綋闈欐浠ュ強闈犲彸琛岃繖绉� - return "" + return } if rule.SdkArgAlias == "duration" { //logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule) @@ -464,19 +460,19 @@ } if flag { - //m := make(map[string]interface{}) - //m["yolo"] = []structure.Result{} - //m["yolo"] = append(m["yolo"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable}) + m := make(map[string]interface{}) + m["yolo"] = []structure.Result{} + m["yolo"] = append(m["yolo"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,label}) timeLength, _ := strconv.Atoi(rule.SdkArgValue) - timeEle := TimeElement{N: timeLength, InitN: timeLength, AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, nil}} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌锛堝苟缂撳瓨褰撳墠鐢婚潰甯ф暟鎹級 + timeEle := TimeElement{N: timeLength, InitN: timeLength, AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, m}} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌锛堝苟缂撳瓨褰撳墠鐢婚潰甯ф暟鎹級 //TimeEleList = make(map[string]timeElement) TimeEleList[groupId+"+"+rule.Id] = &timeEle // 瀹氭椂鍣ㄥ厓绱犱互褰撳墠鎸佺画鏃堕棿灏忚鍒檌d涓洪敭 logger.Info("鍒涘缓浜嗚鏁板櫒") - cacheId = groupId+"+"+rule.Id + //cacheId = groupId+"+"+rule.Id } rw.Unlock() } } - return cacheId + return } -- Gitblit v1.8.0