From 2ef897766c8222b7d907ebed8a951e9a72f7877b Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期六, 29 六月 2019 19:04:50 +0800
Subject: [PATCH] 指针传递改为值传递

---
 ruleserver/ruleToformula.go |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index e100a3e..2a6ea9b 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -112,7 +112,7 @@
 	IsStatic    bool       // 鏄惁闈欐
 	ImageWidth  int        // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚瀹� 鍍忕礌
 	ImageHeight int        // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚楂� 鍍忕礌
-	AreaMapList []*AreaMap // 鏈瑂dk鎻愬彇鐨勬暟鎹寜鐓у尯鍩熷垝鍒嗗悗鐨勬暟鎹泦鍚�
+	AreaMapList []AreaMap // 鏈瑂dk鎻愬彇鐨勬暟鎹寜鐓у尯鍩熷垝鍒嗗悗鐨勬暟鎹泦鍚�
 }
 
 // 浠庣畻娉曟ā鍧楀効鎷挎潵鐨勫涓�甯у浘鍍忓悇涓畻娉曟彁鍙栫殑鏁版嵁闆嗗悎
@@ -177,24 +177,26 @@
 }
 
 // 鎶妔dk浠庢暟鎹抚涓婃彁鍙栫殑鎸夌収鍖哄煙鍒嗙被褰掔疆
-func SdkDataFormat(cameraId string, arg *SdkData, cameraPolygons []protomsg.CameraPolygon) {
+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}
+		areaMap := AreaMap{cameraId: cameraId, areaId: polygon.Id, areaJson: polygon.Polygon, triggerLine: polygon.TriggerLine, directionLine: polygon.DirectionLine}
 		// 涓烘瘡涓憚鍍忔満鍖哄煙濉厖鏁版嵁
 		areaMap.CountAreaObjs(arg)
+		log.Println("-------areaMap鐨勫唴瀹�",areaMap)
 		arg.AreaMapList = append(arg.AreaMapList, areaMap)
+		log.Println("-------AreaMapList鐨勫唴瀹�",arg.AreaMapList)
 	}
 }
 
 // 瀵瑰崟甯у浘鍍忕殑鍒ゆ柇 鏄垗寮冿紙鎴栬�呰瀵逛簬鏌愪簺闇�姹傚彲浠ユ斁ES鏁版嵁搴撲竴浠斤級杩樻槸杩斿洖
-func Judge(args *SdkDatas) {
+func Judge(args SdkDatas) {
 	if len(args.Sdkdata) > 0 {
 		// 鎷垮埌鏈憚鍍忔満鐨勫尯鍩�
 		cameraPolygons := GetPolygons(args.CameraId)
 		// 鎶婃墍鏈夌殑sdk鎻愬彇鐨勬暟鎹兘鎸夋墍灞炴憚鍍忔満鐨勫尯鍩熷綊缃�
 		for _, arg := range args.Sdkdata {
-			SdkDataFormat(args.CameraId, &arg, cameraPolygons)
+			SdkDataFormat(args.CameraId, arg, cameraPolygons)
 		}
 		// 璺戞湰鎽勫儚鏈虹殑鎵�鏈夎鍒欑粍 涓�缁勪竴缁勮窇
 		taskRuleList := GetRuleGroup(args.CameraId) // 鏈憚鍍忔満涓嬫墍鏈変换鍔$粍
@@ -224,17 +226,16 @@
 		}
 	}
 }
-func RunRule(args *SdkDatas, groupRule *protomsg.GroupRule, taskId string) bool {
+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 +248,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 +257,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 +269,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 +281,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)
 			}
 		}
 	}
@@ -347,7 +348,7 @@
 }
 
 // 璁$畻鍖哄煙鍐呯殑鐩爣鏁伴噺浠ュ強灏嗙浉浼煎害銆佸崰姣斻�佸昂瀵哥瓑鎵撳寘
-func (a *AreaMap) CountAreaObjs(arg *SdkData) {
+func (a *AreaMap) CountAreaObjs(arg SdkData) {
 
 	a.targetNum = 0
 	threshold := 0.0       // 鐩镐技搴�
@@ -416,7 +417,7 @@
 }
 
 // 鑱斿姩浠诲姟鐨勫鐞�
-func linkTask(args *SdkDatas, groupRule *protomsg.GroupRule, taskId string) {
+func linkTask(args SdkDatas, groupRule *protomsg.GroupRule, taskId string) {
 	// new涓�涓畾鏃跺櫒锛屽鏋滀互姝roupId涓烘爣蹇楃殑瀹氭椂鍣ㄤ笉瀛樺湪鐨勮瘽
 	var flag bool = true
 	var timeEle = TimeElement{N: 3, InitN: 3, GroupId: groupRule.GroupId}

--
Gitblit v1.8.0