From 82d1feccae00f5863dea6d0a85911cf92771f90b Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期六, 22 六月 2019 12:27:15 +0800 Subject: [PATCH] insert data --- ruleserver/ruleToformula.go | 47 ++++++++++++++++++++++++----------------------- 1 files changed, 24 insertions(+), 23 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index dd8b75f..bfd6dd4 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -88,14 +88,14 @@ // 浠庨�氶亾涓幏鍙栫殑sdk杈撳嚭鐨勫浘鍍忔暟鎹�(鐩墠涓昏鏄痽olo绠楁硶鐨勬暟鎹�) type ArgsFromSdk struct { - Photo []PhotoMap CameraId string TaskId string - KeepRight bool // 鏄惁闈犲彸琛� 绠楁硶鍒ゆ柇鐨勪笌涓婁竴甯у浘鍍忕殑姣旇緝缁撴灉 - IsStatic bool // 鏄惁闈欐 - ImageWidth int // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚瀹� 鍍忕礌 - ImageHeight int // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚楂� 鍍忕礌 - RuleResult []Result // 杩囧畬瑙勫垯鍚庢墦鐨勬爣绛� + Photo []PhotoMap // yolo绠楁硶缁撴瀯锛屼篃鍙互瀛樹汉鑴哥殑鏁版嵁锛屾瘯绔熶汉鑴镐腑鑳界敤瑙勫垯鏉ユ祴鐨勮繕鏄偅浜涘弬鏁� + KeepRight bool // 鏄惁闈犲彸琛� 绠楁硶鍒ゆ柇鐨勪笌涓婁竴甯у浘鍍忕殑姣旇緝缁撴灉 + IsStatic bool // 鏄惁闈欐 + ImageWidth int // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚瀹� 鍍忕礌 + ImageHeight int // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚楂� 鍍忕礌 + RuleResult []Result // 杩囧畬瑙勫垯鍚庢墦鐨勬爣绛� } // 灏嗕紶閫掕繃鏉ョ殑鍙傛暟杞寲涓� @@ -110,22 +110,14 @@ type Result struct { TaskId string // 浠诲姟id RuleGroupId string // 瑙勫垯缁刬d + AlarmLevel string // 鎶ヨ绛夌骇 + RuleText string // 鏂囧瓧鐗堣鍒欑粍 } // 鍖呭惈N鏉¤鍒欏厓绱犵殑涓�鏁存潯瑙勫垯 type CompleteRule struct { rule string } - -// 鎽勫儚鏈哄尯鍩� 璺熸暟鎹簱鏄犲皠鐨� -// type CameraPolygon struct { -// Id string `json:"id"` -// CameraId string `json:"camera_id"` -// Name string `json:"name"` -// Polygon string `json:"polygon"` // 鍧愭爣鐐瑰尯鍩� -// TriggerLine string `json:"trigger_line"` -// DirectionLine string `json:"direction_line"` -// } // 鏍规嵁鎽勫儚鏈篿d鎷垮埌鎽勫儚鏈烘墍鏈夊尯鍩� func GetPolygons(cameraId string) []protomsg.CameraPolygon { @@ -355,7 +347,7 @@ if flag { fmt.Println("瀹氭椂鍣ㄦ姤璀︿簡") // 杩囧畬瑙勫垯鍚庢墦涓爣绛撅紝鍛婅瘔璋冪敤鑰呮湰甯ф暟鎹拡瀵瑰摢涓换鍔″摢缁勮鍒欐姤璀︿簡 - arg.RuleResult = append(arg.RuleResult, Result{TaskId: taskId, RuleGroupId: groupRule.GroupId}) + arg.RuleResult = append(arg.RuleResult, Result{taskId, groupRule.GroupId,groupRule.AlarmLevel,groupRule.RuleText}) return true } else { return false @@ -377,9 +369,11 @@ for i := 0; i < len(ruleList); i++ { temp := ruleList[i].Rules // temp涓轰竴缁勫畬鏁磋鍒� 鍦ㄦ闇�瑕佸垽鏂鍒欐槸鍚︽槸鑱斿姩瑙勫垯 if len(temp) > 0 { - if strings.Contains(ruleList[i].GroupId, "link") { // groupId涓惈鏈塴ink鍒欎负鑱斿姩浠诲姟 + if strings.Contains(ruleList[i].GroupId, "link") { + // groupId涓惈鏈塴ink鍒欎负鑱斿姩浠诲姟 linkTask(aml, arg, ruleList[i], taskId) - } else { // 鐙珛浠诲姟鐨勫鐞� + } else { + // 鐙珛浠诲姟鐨勫鐞� singleTask(aml, arg, ruleList[i], taskId) } } @@ -388,7 +382,7 @@ } } -// 杩囨护瑙勫垯鍏堢瓫閫変汉鏁� +// 杩囨护瑙勫垯鍏堢瓫閫夊嚭绗﹀悎鏉′欢鐨勭洰鏍囨暟閲� func filterRule(rule *protomsg.Rule, am *AreaMap) { if rule.PolygonId == am.areaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓� if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔� @@ -449,7 +443,7 @@ // 缁欐暟鎹簱鐨勮鍒欒〃杈惧紡浠e弬 args: 涓�鏉″瓙瑙勫垯锛屽尯鍩熸暟鎹� func transferParameters(rule *protomsg.Rule, am *AreaMap) string { if rule.PolygonId == am.areaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓� - if rule.SdkArgAlias == "targetNum" { // 濡傛灉鍙傛暟鏄鍖哄煙鍐呯洰鏍囨暟閲� + if rule.SdkArgAlias == "targetNum" { // 濡傛灉鍙傛暟鏄鍖哄煙鍐呯洰鏍囨暟閲� 鍗硑olo //fmt.Println("寰楀嚭缁撴灉闃舵", "姣旇緝鐨勮鍒欐槸锛�", rule) if rule.Operator == "" { return strconv.Itoa(am.targetNum) // 濡傛灉鍚庨潰涓嶈窡鎿嶄綔绗﹀氨鐩存帴杩斿洖鏁伴噺 姣斿瑕佽窡涓嬩竴涓尯鍩熸瘮杈冩暟閲忕殑灏辩洿鎺ヨ繑鍥炴湰鍖哄煙鐨勬暟閲� @@ -460,18 +454,25 @@ result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋� return strconv.FormatBool(result.(bool)) // 鍔犱笂鍏充簬绠楁硶鐨勫垽鏂潯浠讹紝涓嶈兘鍙湁鍏充簬瑙勫垯鐨勶紝鏈夌殑绠楁硶鏈韩灏辨槸涓�涓鍒欙紝濡備釜浣撻潤姝紝闈犲彸琛�,鎵�浠ワ紝鎷垮埌褰撳墠瀛愯鍒欑殑sdkid鏉ュ垽鏂槸鍚︽槸閭d簺鐗规畩鐨勮鍒� - } else if rule.SdkId == "涓綋闈欐" { // 鏆傛椂鐢ㄦ眽瀛椾唬鏇垮暒锛屾櫄浜涙浛鎹㈡垚姝e紡鐨刬d + } else if rule.SdkId == "IsStatic" { // 闈欐绠楁硶 if am.isStatic { return "true" } else { return "false" } - } else if rule.SdkId == "闈犲彸琛�" { // 鏆傛椂鐢ㄦ眽瀛椾唬鏇垮暒锛屾櫄浜涙浛鎹㈡垚姝e紡鐨刬d + } else if rule.SdkId == "KeepRight" { // 闈犲彸琛岀畻娉� if am.keepRight { return "true" } else { return "false" } + } else if rule.SdkId == "FaceDetect" { // 浜鸿劯妫�娴� + if rule.Operator == "==" || rule.Operator == ">=" || rule.Operator == "<=" || rule.Operator == "<" || rule.Operator == ">" || rule.Operator == "!=" { + // 濡傛灉鏄笉瑙勭煩鐨勮繛鎺ョ缁熺粺杩斿洖false 瑙勫垯涔熷彧鑳藉垽鏂汉鑴哥殑鐩镐技搴︼紝鎵�浠ヤ笉瀛樺湪鍒殑杩炴帴绗� + return "false" + } else { + return "false" + } } } -- Gitblit v1.8.0