---
panlei
2019-08-02 f50d635a8bf79dd3bc594e67a3392c9db5eb2624
insertdata/insertDataToEs.go
@@ -7,7 +7,6 @@
   "fmt"
   "io/ioutil"
   "net"
   "os"
   "ruleprocess/cache"
   "ruleprocess/logger"
   "strings"
@@ -72,6 +71,7 @@
   AnalyServerName string                 `json:"analyServerName"`
   AnalyServerIp   string                 `json:"analyServerIp"`
   ClusterId       string                 `json:"clusterId"`
   LinkId         string               `json:"linkId"`
   DetectScore     float64                `json:"detectScore"`
   IsAlarm         int                    `json:"isAlarm"`
   IsAckAlarm      int                    `json:"isAckAlarm"`
@@ -97,6 +97,7 @@
   ClusterId       string      `json:"clusterId"`
   PicSmUrl        []string    `json:"picSmUrl"`
   PicDate         string      `json:"picDate"`
   LinkId         string      `json:"linkId"`
   VideoUrl        string      `json:"videoUrl"`
   IsAlarm         int         `json:"isAlarm"`
   IsAckAlarm      int         `json:"isAckAlarm"`
@@ -136,15 +137,15 @@
//   //}
//}
func InsertToEs(msg ruleserver.ResultMsg) {
   InsertFace(msg)
   //flag := ruleserver.BodyIsSame(msg.SdkMessage)
   //if !flag {
   InsertYolo(msg)
   //}
   InsertFace(msg,"")
   flag := ruleserver.BodyIsSame(msg.SdkMessage)
   if !flag {
      InsertYolo(msg,"")
   }
}
// 往es中插入人脸数据
func InsertFace(msg ruleserver.ResultMsg) {
func InsertFace(msg ruleserver.ResultMsg,linkId string) {
   if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
      logger.Info("往ES插人脸数据")
      for _, faceResult := range msg.RuleResult["face"].([]ruleserver.FaceResult) {
@@ -189,6 +190,10 @@
            race := getRaceString(face.ThftRes.Race)
            ageDescription := getDescription(face.ThftRes.Age)
            esDataId := uuid.NewV4().String()
            linksId := ""
            if linkId != "" {
               linksId = linkId
            }
            pervideo := PerVideoPicture{
               esDataId,
               msg.Cid,
@@ -214,6 +219,7 @@
               localConfig.ServerName,
               serverIp,
               "",
               linksId,
               face.Score,
               1,
               0,
@@ -290,6 +296,7 @@
      localConfig.ServerName,
      serverIp,
      "",
      "",
      0,
      1,
      0,
@@ -318,12 +325,12 @@
}
// 往es中插入yolo数据
func InsertYolo(msg ruleserver.ResultMsg) {
func InsertYolo(msg ruleserver.ResultMsg,linkId string) {
   if msg.RuleResult["yolo"] != nil && len(msg.RuleResult["yolo"].([]ruleserver.Result)) > 0 {
      // 先判断一下数据带的规则标签是否有可以插入的
      flag := false
      for _, res := range msg.RuleResult["yolo"].([]ruleserver.Result) {
         logger.Info("定时器打的数字标签:",res.Others.TimeLabel)
         //logger.Info("定时器打的数字标签:",res.Others.TimeLabel)
         if res.Others.TimeLabel == "01" || res.Others.TimeLabel == "10" {
            flag = true
         }
@@ -336,7 +343,7 @@
         for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) {
            if yoloResult.Others.TimeLabel == "01" || yoloResult.Others.TimeLabel == "10" {
               // 拼出sdkname
               logger.Info("应该进来才对的")
               //logger.Info("应该进来才对的")
               sdkNames = sdkNames + yoloResult.SdkName
               alarm := ChangeToString(yoloResult.DefenceState, yoloResult.AlarmLevel)
               alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState})
@@ -367,9 +374,10 @@
         linkFlag := false
         for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) {
            if (yoloResult.Others.TimeLabel == "01" || yoloResult.Others.TimeLabel == "10") && yoloResult.Others.LinkCache != nil && len(yoloResult.Others.LinkCache) > 1{
               linkId := uuid.NewV4().String()
               for _, msg2 := range yoloResult.Others.LinkCache {
                  logger.Warn("插入联动数据","此帧数据的id为",msg2.Cid)
                  InsertYolo(msg2)
                  InsertYolo(msg2,linkId)
                  linkFlag = true
               }
            }
@@ -377,7 +385,7 @@
         if linkFlag {
            // 联动数据中包含本帧数据,插入联动数据后就不需要插入本帧数据了
            logger.Warn("成功插入两个联动图片")
            os.Exit(1)
            //os.Exit(1)
            return
         }
         //logger.Info("--------走到这儿就不一样")
@@ -419,6 +427,10 @@
         url = append(url, strings.Split(resp["fileUrl"].(string), "/")[1])
         esDataId := uuid.NewV4().String()
         linksId := ""
         if linkId != "" {
            linksId = linkId
         }
         peraction := Personaction{
            esDataId,
            msg.Cid,
@@ -435,6 +447,7 @@
            "",
            url,
            i.Timestamp,
            linksId,
            "",
            isAlarm,
            0,
@@ -510,6 +523,7 @@
      []string{strings.Split(resp["fileUrl"].(string), "/")[1]},
      i.Timestamp,
      "",
      "",
      0,
      0,
      0,