From 3116059c6a2f6b22bf0f3d631697d9104cc37860 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 01 七月 2019 15:45:47 +0800
Subject: [PATCH] ---注释

---
 ruleserver/ruleToformula.go |   40 ++++++++++++++++++----------------------
 1 files changed, 18 insertions(+), 22 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index c5aae7c..d2dac91 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -64,7 +64,7 @@
 	Location   Rect    // 璁颁笅姣忎釜鐩爣鐨勪綅缃弬鏁帮紝鏈�鍚庣粰缁撴灉瑁呴厤浜鸿劯鏁版嵁鐨勬椂鍊欑敤鐨勫埌
 	SdkName    string
 	ThftRes    protomsg.ThftResult
-	Liker      []LikePerson
+	Liker      []*protomsg.Baseinfo
 }
 
 type LikePerson struct {
@@ -98,7 +98,7 @@
 	IsYolo  bool    // 鏄惁鏄痽olo鏁版嵁
 	SdkName string
 	ThftRes protomsg.ThftResult
-	Liker   []LikePerson // 濡傛灉鏄汉鑴哥殑璇濆挨鍏舵槸姣斿锛屽簲瀛樹笅浠栬窡搴曞簱鐨勪汉鍛樼殑鐩镐技鎯呭喌 yolo鐨勮瘽缁檔il灏辫
+	Liker   []*protomsg.Baseinfo // 濡傛灉鏄汉鑴哥殑璇濆挨鍏舵槸姣斿锛屽簲瀛樹笅浠栬窡搴曞簱鐨勪汉鍛樼殑鐩镐技鎯呭喌 yolo鐨勮瘽缁檔il灏辫
 }
 
 // 姣忎釜绠楁硶瀵逛簬褰撳墠甯х敾闈㈣嚜宸辨彁鍙栫殑鏁版嵁
@@ -112,13 +112,13 @@
 	IsStatic    bool       // 鏄惁闈欐
 	ImageWidth  int        // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚瀹� 鍍忕礌
 	ImageHeight int        // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚楂� 鍍忕礌
-	AreaMapList []*AreaMap // 鏈瑂dk鎻愬彇鐨勬暟鎹寜鐓у尯鍩熷垝鍒嗗悗鐨勬暟鎹泦鍚�
+	AreaMapList []AreaMap // 鏈瑂dk鎻愬彇鐨勬暟鎹寜鐓у尯鍩熷垝鍒嗗悗鐨勬暟鎹泦鍚�
 }
 
 // 浠庣畻娉曟ā鍧楀効鎷挎潵鐨勫涓�甯у浘鍍忓悇涓畻娉曟彁鍙栫殑鏁版嵁闆嗗悎
 type SdkDatas struct {
 	CameraId   string
-	Sdkdata    []SdkData
+	Sdkdata    []*SdkData
 	RuleResult map[string]interface{} // 杩囧畬瑙勫垯鍚庢墦鐨勬爣绛� face: []Arg  yolo: []Result
 }
 
@@ -168,7 +168,7 @@
 		if item.CameraId == cameraId && item.Type != "line" {
 			// 闇�瑕佹牴鎹瘮渚嬫妸鍓嶅彴鐢荤殑鍖哄煙鐨勫潗鏍囪浆鍖栦负鐩稿簲鎽勫儚鏈烘媿鎽勭殑鍥惧儚鐨勫ぇ灏�   x鍧愭爣鍒嗗埆*image.width/椤甸潰鍖哄煙瀹�  y鍧愭爣鍒嗗埆*image.height/椤甸潰鍖哄煙楂�
 			// 鍓嶅彴瀹介珮鍥哄畾
-			log.Println("------------绗﹀悎鏉′欢鐨勫尯鍩燂細",item)
+			//log.Println("------------绗﹀悎鏉′欢鐨勫尯鍩燂細",item)
 			cameraPolygons = append(cameraPolygons, item)
 		}
 	}
@@ -179,8 +179,8 @@
 // 鎶妔dk浠庢暟鎹抚涓婃彁鍙栫殑鎸夌収鍖哄煙鍒嗙被褰掔疆
 func SdkDataFormat(cameraId string, arg *SdkData, cameraPolygons []protomsg.CameraPolygon) {
 	for _, polygon := range cameraPolygons {
-		log.Println("++++++鍦ㄨ繖鍎跨湅涓�涓嬪尯鍩熷晩", polygon)
-		areaMap := &AreaMap{cameraId: cameraId, areaId: polygon.Id, areaJson: polygon.Polygon, triggerLine: polygon.TriggerLine, directionLine: polygon.DirectionLine}
+		//log.Println("++++++鍦ㄨ繖鍎跨湅涓�涓嬪尯鍩熷晩", polygon)
+		areaMap := AreaMap{cameraId: cameraId, areaId: polygon.Id, areaJson: polygon.Polygon, triggerLine: polygon.TriggerLine, directionLine: polygon.DirectionLine}
 		// 涓烘瘡涓憚鍍忔満鍖哄煙濉厖鏁版嵁
 		areaMap.CountAreaObjs(arg)
 		arg.AreaMapList = append(arg.AreaMapList, areaMap)
@@ -194,7 +194,7 @@
 		cameraPolygons := GetPolygons(args.CameraId)
 		// 鎶婃墍鏈夌殑sdk鎻愬彇鐨勬暟鎹兘鎸夋墍灞炴憚鍍忔満鐨勫尯鍩熷綊缃�
 		for _, arg := range args.Sdkdata {
-			SdkDataFormat(args.CameraId, &arg, cameraPolygons)
+			SdkDataFormat(args.CameraId, arg, cameraPolygons)
 		}
 		// 璺戞湰鎽勫儚鏈虹殑鎵�鏈夎鍒欑粍 涓�缁勪竴缁勮窇
 		taskRuleList := GetRuleGroup(args.CameraId) // 鏈憚鍍忔満涓嬫墍鏈変换鍔$粍
@@ -227,14 +227,10 @@
 func RunRule(args *SdkDatas, groupRule *protomsg.GroupRule, taskId string) bool {
 	resultSplice := []*LittleRuleResult{}
 	// 鍏堣繃瀹屾潯浠惰鍒�
-	log.Println("---------------------鐪嬩笅杩欎釜缁勮鍒欙細", groupRule.Rules)
 	for j := 0; j < len(groupRule.Rules); j++ {
 		for _, sdkData := range args.Sdkdata {
-			if sdkData.SdkId == "812b674b-2375-4589-919a-5c1c3278a975" {
-				log.Println("鍏ヤ镜鐨勭畻娉曟暟鎹�", sdkData)
-			}
 			for _, areaMap := range sdkData.AreaMapList {
-				ruleResult := filterRule(groupRule.Rules[j], areaMap)
+				ruleResult := filterRule(groupRule.Rules[j], &areaMap)
 				if ruleResult.Result != "" {
 					log.Println("鏉′欢瑙勫垯缁撴灉锛�", ruleResult.Result)
 					resultSplice = append(resultSplice, &ruleResult)
@@ -247,7 +243,7 @@
 	for _, sdkData := range args.Sdkdata {
 		for _, areaMap := range sdkData.AreaMapList {
 			for j := 0; j < len(groupRule.Rules); j++ {
-				putFaceToResult(groupRule.Rules[j], areaMap, faces)
+				putFaceToResult(groupRule.Rules[j], &areaMap, faces)
 			}
 		}
 	}
@@ -256,7 +252,7 @@
 	for j := 0; j < len(groupRule.Rules); j++ {
 		for _, sdkData := range args.Sdkdata {
 			for _, areaMap := range sdkData.AreaMapList {
-				ruleResult := transferParameters(groupRule.Rules[j], areaMap)
+				ruleResult := transferParameters(groupRule.Rules[j], &areaMap)
 				if ruleResult.Result != "" {
 					log.Println("鏁伴噺瑙勫垯缁撴灉锛�", ruleResult.Result)
 					resultSplice = append(resultSplice, &ruleResult)
@@ -268,7 +264,7 @@
 	for j := 0; j < len(groupRule.Rules); j++ {
 		for _, sdkData := range args.Sdkdata {
 			for _, areaMap := range sdkData.AreaMapList {
-				ruleResult := timeRuleResult(groupRule.Rules[j], areaMap)
+				ruleResult := timeRuleResult(groupRule.Rules[j], &areaMap)
 				if ruleResult.Result != "" {
 					log.Println("鏃堕棿瑙勫垯缁撴灉锛�", ruleResult.Result)
 					resultSplice = append(resultSplice, &ruleResult)
@@ -280,7 +276,7 @@
 	for j := 0; j < len(groupRule.Rules); j++ {
 		for _, sdkData := range args.Sdkdata {
 			for _, areaMap := range sdkData.AreaMapList {
-				duration(groupRule.Rules[j], areaMap)
+				duration(groupRule.Rules[j], &areaMap)
 			}
 		}
 	}
@@ -292,6 +288,7 @@
 		completeFormula = completeFormula + va.Result
 	}
 	if completeFormula != "" {
+		log.Println("鐪嬬湅鍏紡-----------锛�", completeFormula)
 		expression, _ := govaluate.NewEvaluableExpression(completeFormula)
 		result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋�
 		if result.(bool) {
@@ -314,7 +311,7 @@
 				}
 			}
 			if flag {
-				fmt.Println("鏈抚鏁版嵁绗﹀悎瑙勫垯")
+				fmt.Println("----------------------------缁堜簬璧板畬涓囬噷闀垮緛")
 				// 濡傛灉鎴愬姛浜嗘垜搴旇鎵惧埌瑙勫垯涓秹鍙婂埌鐨剆dk锛岃褰曚笅浠栦滑鐨剆dkname
 				sdkName := ""
 				for j := 0; j < len(groupRule.Rules); j++ {
@@ -326,6 +323,7 @@
 				}
 				// 杩囧畬瑙勫垯鍚庢墦涓爣绛撅紝鍛婅瘔璋冪敤鑰呮湰甯ф暟鎹拡瀵瑰摢涓换鍔″摢缁勮鍒欐姤璀︿簡     鍚庡姞锛氬彲鑳借繕涓嶅锛岃繕闇�瑕佸尯鍒嗚Е鍙戞姤璀︾殑瀵硅薄锛屽悗闈㈠線es鏁版嵁搴撴彃鏁版嵁鏃惰鐢�
 				args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkName, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText})
+				log.Println("-------------------缁撴灉鏍囩",args.RuleResult["yolo"].([]Result))
 				return true
 			} else {
 				return false
@@ -364,13 +362,12 @@
 
 	// }
 	for _, obj := range arg.Photo {
-		log.Println("-------------------鐪嬬湅areajson-------------", a.areaJson)
 		log.Println("------------------鐪嬬湅sdkData鐨凱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) {
 			// 杩欐瑕佸榻愯〃杈惧紡閲屾墍闇�瑕佺殑鎵�鏈夊弬鏁�
 			a.targetNum++
 			arg1 := Arg{obj.Score, PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), float64(obj.Rects.Width * obj.Rects.Height), obj.IsYolo, obj.Rects, obj.SdkName, obj.ThftRes, obj.Liker}
-			log.Println("鏀捐繘鍘荤殑arg锛�-------", arg1)
+			//log.Println("鏀捐繘鍘荤殑arg锛�-------", arg1)
 			a.args = append(a.args, arg1)
 			a.filterData = append(a.filterData, arg1)
 		}
@@ -520,7 +517,7 @@
 				for _, obj := range am.filterData {
 					for index := 0; index < len(obj.Liker); {
 						// 灏嗚揪涓嶅埌闃堝�肩殑鐩镐技鑰呬粠鐩镐技鑰呮暟缁勪腑鍒犻櫎
-						if obj.Liker[index].Score < argValue {
+						if float64(obj.Liker[index].CompareScore) < argValue {
 							// Go 璇█涓垏鐗囧垹闄ゅ厓绱犵殑鏈川鏄細浠ヨ鍒犻櫎鍏冪礌涓哄垎鐣岀偣锛屽皢鍓嶅悗涓や釜閮ㄥ垎鐨勫唴瀛橀噸鏂拌繛鎺ヨ捣鏉ャ�備笉鐢ㄦ��鐤戯紝鏁扮粍鍒犻櫎鍏冪礌灏辫繖涔堝潙鐖�
 							obj.Liker = append(obj.Liker[:index], obj.Liker[index+1:]...)
 						} else {
@@ -588,7 +585,6 @@
 		}
 	} else {
 		// 澶勭悊鐨勯兘鏄痽olo鏁版嵁
-		log.Println("瑙勫垯涓殑sdkId涓猴細", rule.SdkId, "--鍖哄煙鏁版嵁闆嗗悎涓殑sdkId涓猴細", am.sdkId, "--瑙勫垯涓殑鍖哄煙Id涓猴細", rule.PolygonId, "--鍖哄煙鏁版嵁闆嗗悎涓殑鍖哄煙Id涓猴細", am.areaId, )
 		if rule.SdkId == am.sdkId && rule.PolygonId == am.areaId { // 棣栧厛杩欐潯瑙勫垯寰楁槸杩欎釜绠楁硶鐨勮鍒欙紝鍏舵瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�
 			if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔�
 				var args []Arg

--
Gitblit v1.8.0