From 92e50484e248364bc115ce104ba6fdca9fef7b5f Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期三, 10 七月 2019 16:23:10 +0800 Subject: [PATCH] --- --- ruleserver/ruleToformula.go | 75 ++++++------------------------------- 1 files changed, 13 insertions(+), 62 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 8be94d4..458f4c9 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -163,22 +163,9 @@ // 鏍规嵁鎽勫儚鏈篿d鎷垮埌鎽勫儚鏈烘墍鏈夊尯鍩� func GetPolygons(cameraId string) []protomsg.CameraPolygon { - //var api dbapi.CameraApi - //data := api.FindAllPolygons() - ////logger.Info("鏌ュ埌鐨勬墍鏈夊尯鍩燂細", data) - //// 鏍规嵁id浠巑ap涓嬁鍒板尯鍩� var cameraPolygons []protomsg.CameraPolygon - //for _, item := range data { - // if item.CameraId == cameraId && item.Type != "line" { - // // 闇�瑕佹牴鎹瘮渚嬫妸鍓嶅彴鐢荤殑鍖哄煙鐨勫潗鏍囪浆鍖栦负鐩稿簲鎽勫儚鏈烘媿鎽勭殑鍥惧儚鐨勫ぇ灏� x鍧愭爣鍒嗗埆*image.width/椤甸潰鍖哄煙瀹� y鍧愭爣鍒嗗埆*image.height/椤甸潰鍖哄煙楂� - // // 鍓嶅彴瀹介珮鍥哄畾 - // //logger.Println("------------绗﹀悎鏉′欢鐨勫尯鍩燂細",item) - // cameraPolygons = append(cameraPolygons, item) - // } - //} cameraPolygons = cache.GetPolygonsByCameraId(cameraId) - //logger.Println("鏍规嵁鎽勫儚鏈篿d鏌ュ埌鐨勫尯鍩�", cameraPolygons, "--鍖哄煙鏁伴噺涓猴細", len(cameraPolygons)) return cameraPolygons } @@ -197,7 +184,7 @@ } } -// 瀵瑰崟甯у浘鍍忕殑鍒ゆ柇 鏄垗寮冿紙鎴栬�呰瀵逛簬鏌愪簺闇�姹傚彲浠ユ斁ES鏁版嵁搴撲竴浠斤級杩樻槸杩斿洖 +// 瀵瑰崟甯у浘鍍忕殑鍒ゆ柇 thisSdkDatas 褰撳墠浼犲叆鐨勮繖甯ф暟鎹紝cacheSdkData 瀹氭椂鍣ㄩ噷缂撳瓨鐨勪竴甯ф暟鎹� 娌℃湁灏辫繑鍥瀗il (thisSdkDatas SdkDatas, cacheSdkDatas SdkDatas) func Judge(args *SdkDatas) { if len(args.Sdkdata) > 0 { // 鎷垮埌鏈憚鍍忔満鐨勫尯鍩� @@ -256,11 +243,14 @@ logger.Info("娌℃湁閰嶇疆瀵规瘮搴曞簱鍙傛暟") return } + logger.Info("============================================杩涘叆compare") for j := 0; j < len(groupRule.Rules); j++ { - // 鍙湁鏄汉鑴稿姣斿苟涓旈厤缃殑鍙傛暟鏄姣斿簳搴撴墠璧帮紙鑻ラ厤鐨勫姣旈槇鍊煎垯涓嶈蛋锛� if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" { + logger.Info("============================================閬嶅巻鍒颁汉鑴告瘮瀵硅鍒�") for _, sdkData := range args.Sdkdata { + logger.Info("==========================================IpcId",sdkData.IpcId) if sdkData.IpcId == "812b674b-2375-4589-919a-5c1c3278a97e" { // 鎼滅储鍒颁汉鑴告娴嬬殑sdkdata 鐜板湪鍏充簬浜鸿劯鐨勫彧鏈変粬涓�涓猻dk锛屽叏鎵句粬 + logger.Info("============================================绗竴鍏�") for _, areaMap := range sdkData.AreaMapList { // 鎷垮尯鍩熶腑姣忎釜浜鸿劯鐗瑰緛鍊煎幓瀵规瘮锛屽~鍏呭叾liker if groupRule.Rules[j].PolygonId == areaMap.areaId { @@ -273,6 +263,7 @@ logger.Error("getBaseInfo瑙e帇閿欒", err1) } for key, val := range m { + logger.Info("_______________________________________瀵规瘮搴撶殑杩斿洖鍊�",key,val) baseinfo, err1 := esutil.Dbpersoninfosbyid(key) if err1 != nil { logger.Error("鏌ヨ搴曞簱浜哄憳淇℃伅鍑洪敊", err1) @@ -404,7 +395,7 @@ ipcId := sdk.IpcId if ipcId == sdkData.IpcId { for _, areaMap := range sdkData.AreaMapList { - duration(groupRule.Rules[j], &areaMap) + duration(groupRule.Rules[j], &areaMap, args) } } } @@ -538,12 +529,6 @@ areaPoints := Json2points(a.areaJson) widthScale := float64(arg.ImageWidth / 960) heigthScale := float64(arg.ImageHeight / 540) - // for _, sdkInfo := range arg.SdkMessage.Tasklab.Sdkinfos { - // if sdkInfo.Sdktype == "yolo" { - // //sdkInfo.Sdkdata. - // } - - // } for _, obj := range arg.Photo { //logger.Info("------------------鐪嬬湅sdkData:", arg.SdkName, "鐨凱hoto鏁版嵁----------------", obj, "----椤轰究鐪嬬湅鍗犳瘮-----锛�", PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale)) if threshold <= obj.Score && size <= float64(obj.Rects.Width*obj.Rects.Height) && intersectionper <= PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale) { @@ -581,17 +566,6 @@ // 浠ユ憚鍍忔満id鏌ュ嚭璺熷叾鐩稿叧鐨勬墍鏈変换鍔′笅鐨勬墍鏈夎鍒欑粍 func GetRuleGroup(cameraId string) []*protomsg.TaskGroupArgs { - // 鏌ヨ鏁版嵁搴� - // 绗竴姝ユ煡鍑鸿窡杩欎釜鎽勫儚鏈虹浉鍏崇殑group_id(澶ц鍒�) - //var api dbapi.CameraTaskArgsApi - // - ////logger.Info("鎵�鏈夎鍒�:", all) - //var taskArgs []*protomsg.TaskGroupArgs - //for _, camArg := range all { - // if camArg.CameraId == cameraId { - // taskArgs = camArg.TaskArgs - // } - //} all := cache.GetCameraTaskRulesByCameraId(cameraId) return all } @@ -661,9 +635,9 @@ if result.(bool) { logger.Info("___________________________________________________________________鑱斿姩浠诲姟鎶ヨ") args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, "", groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText, []Rect{}}) - logger.Info("-------------------yolo缁撴灉鏍囩", args.RuleResult["yolo"].([]Result)) + logger.Info("-------------------yolo缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["yolo"].([]Result))) if args.RuleResult["face"] != nil { - logger.Info("-------------------face缁撴灉鏍囩", args.RuleResult["face"].([]Arg)) + logger.Info("-------------------face缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["face"].([]Arg))) } //os.Exit(0) } @@ -675,7 +649,7 @@ logger.Info("杩欏抚鍥惧儚鍦ㄤ换鍔′笅鐨勪竴鏁存潯瑙勫垯涓嬶紙鑱斿姩浠诲姟涓嬪氨鏄窡鏈憚鍍忔満鍍忕浉鍏崇殑灏忚鍒欙級鐨勫垽鏂粨鏋滀负false") // 鎵�浠ヤ篃瑕佸幓缁撴灉鏁扮粍閲屾斁鍊兼垨鏇存柊 for _, va := range timeEle.RuleResults { - if args.CameraId != "" && va.CameraId == args.CameraId { // arg.CameraId 闅忎究鎵句竴涓暟鎹� + if args.CameraId != "" && va.CameraId == args.CameraId { va.Result = strconv.FormatBool(isOk) } } @@ -739,7 +713,7 @@ } // 鍏堟竻绌鸿繃婊ゅ悗鐨勬暟鎹紝鍐嶅線閲屽鏈杩囨护鍚庣殑鏁版嵁 am.filterData = am.filterData[0:0] - logger.Info("-----------------------浜鸿劯杩囨护鐨刟rgs锛�", args) + //logger.Info("-----------------------浜鸿劯杩囨护鐨刟rgs锛�", args) for _, arg := range args { var formula string if rule.SdkArgAlias == "score" { @@ -824,7 +798,7 @@ } // 閮借繃婊ゅ畬鏉′欢涔嬪悗鐪嬬湅鏄惁瑕佸垱寤轰竴涓畾鏃跺櫒鍏冪礌 鍒涘缓瀹氭椂鍣ㄧ殑鏉′欢锛氭槸鍚︽湁闈犲彸琛岋紝涓綋闈欐绛夎嚜甯﹀畾鏃跺櫒鍚箟鐨勭畻娉曚互鍙婃槸鍚︽湁鎸佺画鏃堕棿 -func duration(rule *protomsg.Rule, am *AreaMap) { +func duration(rule *protomsg.Rule, am *AreaMap, args *SdkDatas) { if rule.PolygonId == am.areaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓� 閰嶇疆鐨勭畻娉曡瀵圭殑涓� if rule.SdkArgAlias == "duration" { // // 鍏堢湅鐪嬪畾鏃跺櫒鍏冪礌闃熷垪涓槸鍚︽湁杩欎釜鎽勫儚鏈鸿繖涓尯鍩熺殑瀹氭椂鍣�,濡傛灉鏈夊氨涓嶈兘鍐嶆鍒涘缓浜� @@ -838,7 +812,7 @@ if flag { timeLength, _ := strconv.Atoi(rule.SdkArgValue) - timeEle := TimeElement{N: timeLength, InitN: timeLength} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌 + timeEle := TimeElement{N: timeLength, InitN: timeLength, AlarmFlag: false, CacheSdkData: *args} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌 //TimeEleList = make(map[string]timeElement) TimeEleList[am.taskId+" "+am.sdkId+" "+am.areaId] = &timeEle // 瀹氭椂鍣ㄥ厓绱犱互鎽勫儚鏈篿d鎷兼帴鍖哄煙id涓洪敭 logger.Info("鍒涘缓浜嗚鏁板櫒骞朵笖璁℃暟鍣ㄩ泦鍚堜负锛�", TimeEleList) @@ -846,21 +820,6 @@ } } } - -//// 鍐椾綑鎷兼帴涓�涓洰鏍囨暟閲忓ぇ浜�0 -//func splice1(am *AreaMap) string { -// var num int = 0 -// for _, data := range am.filterData { -// if data.isYolo { -// num++ -// } -// } -// logger.Println("鐪嬬湅鍖哄煙鍐呯鍚堟潯浠剁殑鐩爣鏁伴噺锛�----------", num) -// formula := strconv.Itoa(num) + " " + ">" + "0" -// expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡 -// result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋� -// return strconv.FormatBool(result.(bool)) -//} // 缁欐暟鎹簱鐨勮鍒欒〃杈惧紡浠e弬 args: 涓�鏉″瓙瑙勫垯锛屽尯鍩熸暟鎹� func transferParameters(rule *protomsg.Rule, am *AreaMap) LittleRuleResult { @@ -977,14 +936,6 @@ // 鍙栧嚭鏌愪釜鏃堕棿瑙勫垯鐨勭鍑犲ぉ鐨勮鍒欐闆嗗悎 func GetTimeById(id string, index int) []TimeRange { - //var cameraTimeRule protomsg.CameraTimerule - //var api dbapi.CameraApi - //_, rules := api.FindAllTimeRules() - //for _, rule := range rules { - // if rule.Id == id { - // cameraTimeRule = rule - // } - //} _, cameraTimeRule := cache.GetTimeRuleById(id) var timeRangeList []day err := json.Unmarshal([]byte(cameraTimeRule.TimeRule), &timeRangeList) -- Gitblit v1.8.0