panlei
2019-11-30 54c923158d991c0db54307cef60a96ed0b7ac410
insertdata/insertDataToEs.go
@@ -1,7 +1,7 @@
package insertdata
import (
   "basic.com/valib/logger.git"
   logger "github.com/alecthomas/log4go"
   "encoding/base64"
   "encoding/json"
   "errors"
@@ -97,7 +97,8 @@
type Target struct {
   TargetId       string  `json:"targetId"`
   TargetScore    float64 `json:"targetScore"`
   FaceFeature    string  `json:"feature"`
   TargetType     string  `json:"targetType"`
   Feature        string  `json:"feature"`
   PicSmUrl       string  `json:"picSmUrl"`
   TargetLocation Points  `json:"targetLocation"`
}
@@ -153,6 +154,7 @@
            faces = PutFace(faces, results.([]structure.Result))
            //logger.Info("整理后的数据:",faces)
            if faces != nil {
               logger.Warn("face不为nil")
               var imgMaxUrl []string = []string{}
               var picTime string = ""
               for _, face := range faces {
@@ -163,6 +165,7 @@
                     panic("解压缩图片时出现错误")
                  }
                  alarmRules := []AlarmRule{}
                  //logger.Info("循环每一个目标")
                  for _, faceResult := range face.rules {
                     alarm := ChangeToString(faceResult.DefenceState, faceResult.AlarmLevel)
                     alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText, faceResult.DefenceState, ""})
@@ -170,7 +173,7 @@
                  i := protomsg.Image{}
                  err = proto.Unmarshal(bdata, &i)
                  // 先传小图,再传大图,防止脸上有线
                  bytes := util.SubImg(i, int(face.Location.X), int(face.Location.Y), int(face.Location.X+face.Location.Width), int(face.Location.Y+face.Location.Height))
                  bytes := util.SubImg(i, int(face.Location.X), int(face.Location.Y), int(face.Location.X+face.Location.Width), int(face.Location.Y+face.Location.Height),face.Type)
                  resp, err := util.PostFormBufferData1(weedfsUrl, bytes, uuid.NewV4().String())
                  if err != nil {
                     logger.Error("上传小图出错")
@@ -187,7 +190,8 @@
                  var target = new(Target)
                  target.TargetId = face.Id
                  target.TargetScore = face.Score
                  target.FaceFeature = base64.StdEncoding.EncodeToString(face.Feature)
                  target.TargetType = face.Type
                  target.Feature = base64.StdEncoding.EncodeToString(face.Feature)
                  target.PicSmUrl = resp["fileUrl"].(string)
                  target.TargetLocation = Points{TopLeft: Point{face.Location.X, face.Location.Y}, BottomRight: Point{face.Location.X + face.Location.Width, face.Location.Y + face.Location.Height}}
                  var targetInfos []Target
@@ -200,6 +204,7 @@
                  case "plate":
                     sdkname = "车牌识别"
                  }
                  //logger.Info("人脸目标target:",targetInfos)
                  pervideo := PerVideoPicture{
                     face.Uuid,
                     msg.Cid,
@@ -239,7 +244,7 @@
                  if err1 != nil {
                     logger.Error("上传ES出错!---", err1)
                  } else {
                     logger.Info("插入es返回的信息:", sdkname,"---",resp1)
                     logger.Info("插入es返回的信息:", sdkname, "---", resp1)
                     // 发出录像信号
                     ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: face.Uuid, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, VideoUrl: msg.Push.VideoUrl, ImgId: i.Id, SdkIds: []string{"-1"}, Type: 1})
                  }
@@ -319,7 +324,7 @@
                  linkInfo = "联动任务"
               }
               alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState, linkInfo})
               logger.Info("打印任务名称:", )
               //logger.Info("打印任务名称:", )
               // 上传缓存数据的图片拿到url
               if yoloResult.Others.CacheData != nil {
                  //InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
@@ -358,6 +363,7 @@
                     var target1 = new(Target)
                     target1.TargetId = target.Id
                     target1.TargetScore = target.Score
                     target1.TargetType = "action"
                     target1.TargetLocation = Points{TopLeft: Point{target.Location.X, target.Location.Y}, BottomRight: Point{target.Location.X + target.Location.Width, target.Location.Y + target.Location.Height}}
                     targetInfos = append(targetInfos, *target1)
                  }
@@ -558,6 +564,7 @@
                  var target1 = new(Target)
                  target1.TargetId = target.Id
                  target1.TargetScore = target.Score
                  target1.TargetType = "action"
                  target1.TargetLocation = Points{TopLeft: Point{target.Location.X, target.Location.Y}, BottomRight: Point{target.Location.X + target.Location.Width, target.Location.Y + target.Location.Height}}
                  targetInfos = append(targetInfos, *target1)
               }
@@ -749,11 +756,11 @@
   case "plate":
      // 车牌运动方向,0 unknown, 1 left, 2 right, 3 up, 4 down
      logger.Info("车辆车牌信息:",obj.Car.NColor,obj.Car.NCarColor,obj.Car.NCarLogo,obj.Car.NCarType,obj.Car.NDirection)
      lable = obj.Car.License + "/" + cache.GetDic("nColor"+strconv.Itoa(int(obj.Car.NColor))) + "车牌" + "/" +
         cache.GetDic("nCarColor"+strconv.Itoa(int(obj.Car.NCarColor))) + "车辆" + "/" + "品牌:"+cache.GetDic("nCarLogo"+strconv.Itoa(int(obj.Car.NCarLogo))) + "/" + "型号:"+cache.GetDic("nCarType"+strconv.Itoa(int(obj.Car.NCarType)))
      lableAttach = "运动方向:"+cache.GetDic("nDirection"+strconv.Itoa(int(obj.Car.NDirection))) + "/" + "车牌置信度:" + strconv.Itoa(int(obj.Car.NConfidence)) + "/" +
         "车牌亮度:" + strconv.Itoa(int(obj.Car.NBright)) + "/" + "车的亮度:" + strconv.Itoa(int(obj.Car.NCarBright)) + "/" + "识别时间:" + strconv.Itoa(int(obj.Car.NTime))
      lable = obj.Car.License + "/" + cache.GetDic("nVehicleColor1"+strconv.Itoa(int(obj.Car.NVehicleColor1))) + "车辆" + "/" +
         cache.GetDic("nColor"+strconv.Itoa(int(obj.Car.NColor))) + "车牌"
      lableAttach = "车牌置信度:" + strconv.Itoa(int(obj.Car.NConfidence)) + "/" + "车的亮度:" + strconv.Itoa(int(obj.Car.NVehicleBright)) +"/"+ "车牌类型"+cache.GetDic("nType"+strconv.Itoa(int(obj.Car.NType)))+
         "车身辅颜色:"+cache.GetDic("nVehicleColor2"+strconv.Itoa(int(obj.Car.NVehicleColor2)))+"/"+"是否识别到车牌:"+cache.GetDic("nVehicleColor1"+strconv.Itoa(int(obj.Car.NVehicleColor1)))+"/"+
         "车辆置信度"+strconv.Itoa(int(obj.Score))+"/"+"品牌:" +obj.Car.VehicleType1
   }
   return lable, lableAttach
}