From a3a788801fcd2efb16d58e91f393bad8d7730b96 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期三, 26 六月 2019 18:35:19 +0800 Subject: [PATCH] 加上人脸,过完规则的标签区分人脸和yolo --- insertdata/insertDataToEs.go | 184 +++++++++++++++++++++++++-------------------- 1 files changed, 103 insertions(+), 81 deletions(-) diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go index 310f7b4..5cc012e 100644 --- a/insertdata/insertDataToEs.go +++ b/insertdata/insertDataToEs.go @@ -2,18 +2,19 @@ import ( "errors" - "fmt" "encoding/json" + "log" "net" "time" "basic.com/pubsub/protomsg.git" "basic.com/dbapi.git" - "github.com/golang/protobuf/proto" "ruleprocess/ruleserver" + "ruleprocess/util" + "github.com/golang/protobuf/proto" "github.com/satori/go.uuid" ) - +var weedfsUrl = "http://192.168.1.182:6333/submit" // 浜鸿劯鐨勬暟鎹粨鏋� type PerVideoPicture struct { Id string `json:"id"` @@ -86,89 +87,97 @@ type AlarmRule struct { GroupId string `json:"groupId"` - AlarmLevel int32 `json:"alarmLevel"` + AlarmLevel int32 `json:"alarmLevel"` RuleText string `json:"ruleText"` } - +// 寰�ES鎻掓暟鎹� func InsertToEs(msg ruleserver.ResultMsg) { - fmt.Println("寰�ES鎻掓暟鎹�") - - for _, sdkinfo := range msg.Tasklab.Sdkinfos { - if sdkinfo.Sdktype == "FaceDetect" { - if len(sdkinfo.Sdkdata) > 1 { - - faceParam := protomsg.ParamFacePos{} - err1 := proto.Unmarshal(sdkinfo.Sdkdata, &faceParam) - if err1 != nil { - fmt.Println("瑙f瀽FACE sdk鏈夎", err1) - continue - } - for _, face := range faceParam.Faces { - pervideo := PerVideoPicture{ - uuid.NewV4().String(), - msg.Cid, - msg.Caddr, - time.Now().Format("2006-01-02 15:04:05"), - "", - msg.Tasklab.Taskid, - msg.Tasklab.Taskname, - sdkinfo.SdkName, - "", - "", - face.Result.Gender, - face.Result.Age, - "", - face.Result.Race, - face.Result.Smile, - face.Result.Beauty, - "涓嶆槸姣忎釜浜鸿劯绠楁硶閮芥湁", - "---", - "", - "", - "", - "", - "", - "", - "", - "", - 0, - Base{ - "鏄瘡涓汉鑴哥畻娉曢兘鏈夊悧", - "", - 0, - "", - "", - "", - "", - "", - "", - "", - "", - }, - } - requstbody, err := json.Marshal(pervideo) - - if err != nil { - fmt.Println("json parse error ", err) - return - - } - err = EsReq("POST", "http://192.168.1.182:9200/videopersons/perVideoPicture", requstbody) - if err != nil { - fmt.Println("es can not execute right.") - } - } - } else { - continue + log.Println("寰�ES鎻掓暟鎹�") + // 鐩存帴浠庤鍒欑殑鏍囩鏁版嵁閲屾嬁绗﹀悎瑙勫垯鐨勪汉鑴哥粨鏋� + for _, result := range msg.RuleResult { + if !result.IsYolo { + for _,face1 := range result.Faces{ + println(face1) } } + } + for _, sdkinfo := range msg.Tasklab.Sdkinfos { + //if sdkinfo.Sdktype == "FaceDetect" { + // if len(sdkinfo.Sdkdata) > 1 { + // + // faceParam := protomsg.ParamFacePos{} + // err1 := proto.Unmarshal(sdkinfo.Sdkdata, &faceParam) + // if err1 != nil { + // log.Println("瑙f瀽FACE sdk鏈夎", err1) + // continue + // } + // for _, face := range faceParam.Faces { + // pervideo := PerVideoPicture{ + // uuid.NewV4().String(), + // msg.Cid, + // msg.Caddr, + // time.Now().Format("2006-01-02 15:04:05"), + // "", + // msg.Tasklab.Taskid, + // msg.Tasklab.Taskname, + // sdkinfo.SdkName, + // "", + // "", + // face.Result.Gender, + // face.Result.Age, + // "", + // face.Result.Race, + // face.Result.Smile, + // face.Result.Beauty, + // "涓嶆槸姣忎釜浜鸿劯绠楁硶閮芥湁", + // "---", + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // 0, + // Base{ // 鍙湁浜鸿劯姣斿鏈夎繖涓俊鎭紝浜鸿劯妫�娴嬪苟娌℃湁 + // "鏄瘡涓汉鑴哥畻娉曢兘鏈夊悧", + // "", + // 0, + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // }, + // } + // requstbody, err := json.Marshal(pervideo) + // + // if err != nil { + // log.Println("json parse error ", err) + // return + // + // } + // err = EsReq("POST", "http://192.168.1.182:9200/videopersons/perVideoPicture", requstbody) + // if err != nil { + // log.Println("es can not execute right.") + // } + // } + // + // } else { + // continue + // } + //} if sdkinfo.Sdktype == "Yolo" { if len(sdkinfo.Sdkdata) > 1 { yoloObj := protomsg.ParamYoloObj{} err1 := proto.Unmarshal(sdkinfo.Sdkdata, &yoloObj) if err1 != nil { - fmt.Println("瑙f瀽YOLO sdk鏈夎", err1) + log.Println("瑙f瀽YOLO sdk鏈夎", err1) //continue } alarmRules := []AlarmRule{} @@ -176,21 +185,34 @@ alarmRules = append(alarmRules,AlarmRule{result.RuleGroupId,result.AlarmLevel,result.RuleText}) } isAlarm := "" + resp := make(map[string]interface{}) + resp["fileUrl"] = "" if len(alarmRules) > 0 { isAlarm = "1" + // 瑙e帇缂╁苟涓婁紶鍥剧墖 + bdata, err := util.UnCompress(msg.Data) + if err != nil { + panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒") + } + i := protomsg.Image{} + err = proto.Unmarshal(bdata, &i) + resp,err = util.PostFormBufferData(weedfsUrl,i,uuid.NewV4().String()) + log.Println("宸叉姤璀﹀苟涓婁紶鏀瑰抚鍥剧墖鍒版湇鍔″櫒") }else { isAlarm = "0" + // 涓嶆槸鎶ヨ鏁版嵁涓嶅瓨 continue } + log.Println("鍥剧墖涓婁紶杩斿洖鍊硷細",resp) // 鏌ヨ鏈満淇℃伅 flag,localConfig := dbapi.SysSetApi{}.GetServerInfo() if !flag { - fmt.Println("鏌ヨ鏈満淇℃伅澶辫触锛�") + log.Println("鏌ヨ鏈満淇℃伅澶辫触锛�") } // 鏌ヨcameraName camera,err := dbapi.CameraApi{}.GetCameraById(msg.Cid) - if err == nil { - fmt.Println("鏌ヨ鎽勫儚鏈轰俊鎭け璐�") + if err != nil { + log.Println("鏌ヨ鎽勫儚鏈轰俊鎭け璐�") } serverIp,err := GetLocalIP() peraction := Personaction{ @@ -207,7 +229,7 @@ localConfig.ServerName, serverIp, "", - "", + resp["fileUrl"].(string), time.Now().Format("2006-01-02 15:04:05"), "", isAlarm, @@ -218,13 +240,13 @@ requstbody, err := json.Marshal(peraction) if err != nil { - fmt.Println("json parse error ", err) + log.Println("json parse error ", err) return } err = EsReq("POST", "http://192.168.1.182:9200/personaction/perVideoAction", requstbody) if err != nil { - fmt.Println("es can not execute right.") + log.Println("es can not execute right.") } } else { continue -- Gitblit v1.8.0