panlei
2019-08-06 9f7cca3789a13dd0847f5f0444d2bbc06636a431
insertdata/insertDataToEs.go
@@ -7,7 +7,6 @@
   "fmt"
   "io/ioutil"
   "net"
   "os"
   "ruleprocess/cache"
   "ruleprocess/logger"
   "strings"
@@ -165,8 +164,9 @@
func InsertFace(msg ruleserver.ResultMsg, linkId string) {
   if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
      logger.Info("往ES插人脸数据")
      faces := PutFace(msg)
      logger.Info("整理后的数据:",faces)
      faces := []*FaceAndRules{}
      faces = PutFace(faces,msg)
      //logger.Info("整理后的数据:",faces)
      if faces != nil {
         for _,face := range faces {
            // 上传大图
@@ -177,7 +177,7 @@
            }
            alarmRules := []AlarmRule{}
            logger.Warn("人脸id为:",face.Id,"人脸的规则长度为:",len(face.rules))
            os.Exit(1)
            //os.Exit(1)
            for _,faceResult := range face.rules {
               alarm := ChangeToString(faceResult.DefenceState, faceResult.AlarmLevel)
               alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText, faceResult.DefenceState})
@@ -270,33 +270,35 @@
}
// 归置人脸
func PutFace(msg ruleserver.ResultMsg) []FaceAndRules{
func PutFace(faces []*FaceAndRules,msg ruleserver.ResultMsg)[]*FaceAndRules{
   if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
      logger.Info("整理人脸数据")
      faces := []FaceAndRules{}
      for _, faceResult := range msg.RuleResult["face"].([]ruleserver.FaceResult) {
         hebingFace(faces, faceResult)
         faces = hebingFace(faces, faceResult)
      }
      return faces
   } else {
      return nil
   }
}
func hebingFace(faces []FaceAndRules, faceResult ruleserver.FaceResult) {
func hebingFace(faces []*FaceAndRules, faceResult ruleserver.FaceResult) []*FaceAndRules{
   for _, arg := range faceResult.Args {
      // 拿到每一张人脸
      flag := false
      for _, face := range faces {
         logger.Info("归置人脸时相似者的数量:",len(face.Liker))
         for _,lik := range face.Liker {
            logger.Warn("--------合并人脸时相似者:",lik.PersonId,lik.TableName)
         }
         if arg.Id == face.Id {
            flag = true
            face.rules = append(face.rules,faceResult.Result)
         }
      }
      if flag {
         faces = append(faces, FaceAndRules{arg, []ruleserver.Result{faceResult.Result}})
      if !flag {
         faces = append(faces, &FaceAndRules{arg, []ruleserver.Result{faceResult.Result}})
      }
   }
   logger.Info("整理中的数据",faces)
   return faces
}
// 往es中插入yolo数据