panlei
2019-09-27 4146578720878b47a3d9d9d2833f1893ae80a032
ruleserver/readyDataForRule.go
@@ -2,21 +2,18 @@
import (
   "basic.com/dbapi.git"
   bigCache "basic.com/pubsub/cache.git"
   "basic.com/pubsub/protomsg.git"
   "encoding/json"
   "errors"
   "fmt"
   "github.com/go-yaml/yaml"
   "github.com/golang/protobuf/proto"
   "io/ioutil"
   "math"
   "nanomsg.org/go-mangos"
   "nanomsg.org/go-mangos/protocol/req"
   "nanomsg.org/go-mangos/transport/tcp"
   "net"
   "ruleprocess/cache"
   "ruleprocess/logger"
   "basic.com/valib/logger.git"
   "strconv"
   "time"
)
@@ -33,24 +30,8 @@
}
func Init() {
   data, err := ioutil.ReadFile("./config/conf.yml")
   if err != nil {
      fmt.Println("读取配置文件出错--", err)
      logger.Error("读取配置文件出错--", err)
   }
   c := conf{}
   //把yaml形式的字符串解析成struct类型
   yaml.Unmarshal(data, &c)
   logger.Debug("配置文件的值为:", c)
   serverIp = c.ServerIp
   serverPort = c.ServerPort
   dbTablePersons = c.DbTablePersons
   localConfig, err1 := cache.GetServerInfo()
   if err1 != nil {
      logger.Error("查询本机信息失败!")
   }
   logger.Debug("本机信息和server信息:", localConfig, serverIp, serverPort)
   bigCache.Init(dbTablePersons, serverIp, serverPort, localConfig.ServerId)
   //logger.Debug("本机信息和server信息:", localConfig, serverIp, serverPort)
   //bigCache.Init(dbTablePersons, serverIp, serverPort, localConfig.ServerId)
   go Push1()
}
@@ -96,7 +77,7 @@
func GetPolygons(cameraId string) []protomsg.CameraPolygon {
   var cameraPolygons []protomsg.CameraPolygon
   cameraPolygons = cache.GetPolygonsByCameraId(cameraId)
   //logger.Debug("------=======查看下全部区域:",cameraPolygons)
   logger.Debug("------=======查看下全部区域:",cameraPolygons)
   return cameraPolygons
}
@@ -238,7 +219,7 @@
         if groupRule.Rules[j].SdkArgAlias == "compareBase" && groupRule.Rules[j].SdkArgValue == "" { // 配的参数是比对全部底库
            compareFlag = 1
         }
         if groupRule.Rules[j].SdkArgAlias == "threshold" {
         if groupRule.Rules[j].SdkArgAlias == "cmpThreshold" {
            v2, err := strconv.ParseFloat(groupRule.Rules[j].SdkArgValue, 32)
            if err != nil {
               logger.Error("string转float32失败!")
@@ -265,14 +246,14 @@
                     //logger.Info("--------------看看compareFlag的值和tableId和areaMap.args的长度:",compareFlag,tableIds,len(areaMap.args))
                     for _, arg := range areaMap.args {
                        arg.Liker = arg.Liker[0:0]
                        logger.Info("清空之后看看之前打的人脸标签变了没:")
                        if args.RuleResult["face"] != nil && len(args.RuleResult["face"].([]FaceResult)) > 0 {
                           for _, faceResult := range args.RuleResult["face"].([]FaceResult) {
                              for _,arg := range faceResult.Args {
                                 logger.Info("人员分值是:",arg.Score,"liker的数量为",arg.Liker)
                              }
                           }
                        }
                        //logger.Info("清空之后看看之前打的人脸标签变了没:")
                        //if args.RuleResult["face"] != nil && len(args.RuleResult["face"].([]FaceResult)) > 0 {
                        //   for _, faceResult := range args.RuleResult["face"].([]FaceResult) {
                        //      for _,arg := range faceResult.Args {
                        //         logger.Info("人员分值是:",arg.Score,"liker的数量为",arg.Liker)
                        //      }
                        //   }
                        //}
                        if compareFlag == 1 {
                           arg.fillLiker(nil, threshold)
                        }
@@ -297,7 +278,7 @@
func (a *AreaMap) CountAreaObjs(arg *SdkData) {
   a.targetNum = 0
   threshold := 0.5       // 相似度
   threshold := 80.0       // 相似度
   intersectionper := 0.2 // 占比
   size := 0.0            // 尺寸
@@ -403,6 +384,7 @@
      // case <-ctx.Done():
      //    return
      case data := <- sender:
         logger.Info("比对进程入参:",data.TableIds,data.CompareThreshold)
         bytes,err1 := proto.Marshal(data)
         logger.Info("数据长度为:",len(bytes))
         if err1 != nil {