panlei
2019-06-25 34b957a021cba44dfbae128a555cdc4dbc82079c
ruleserver/ruleToformula.go
@@ -183,9 +183,10 @@
         intersectionper <= PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale) {
         // 这步要备齐表达式里所需要的所有参数
         a.targetNum++
         arg := Arg{score: obj.Score, proportion: PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), size: float64(obj.Rects.Width * obj.Rects.Height)}
         a.args = append(a.args, arg)
         a.filterData = append(a.filterData, arg)
         arg1 := Arg{score: obj.Score, proportion: PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), size: float64(obj.Rects.Width * obj.Rects.Height)}
         log.Println("放进去的arg:-------",arg1)
         a.args = append(a.args, arg1)
         a.filterData = append(a.filterData, arg1)
      }
   }
   a.time = time.Unix(time.Now().Unix(), 0).String()[11:16]
@@ -418,12 +419,14 @@
         }
         // 先清空过滤后的数据,再往里塞本次过滤后的数据
         am.filterData = am.filterData[0:0]
         log.Println("看一下当前小规则:",*rule)
         for _, arg := range args {
            var formula string
            if rule.SdkArgAlias == "score" {
               formula = strconv.FormatFloat(arg.score, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 得到字符串公式
            } else if rule.SdkArgAlias == "proportion" {
               formula = strconv.FormatFloat(arg.proportion, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 得到字符串公式
               fmt.Println("占比的字符串公式:--------",formula)
            } else {
               formula = strconv.FormatFloat(arg.size, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 得到字符串公式
            }
@@ -507,6 +510,7 @@
            return "false"
         }
      } else if rule.SdkId == "FaceCompare"{
         // 只需要过滤阈值,过滤完后数组长度大于0即为报警,但如何对每一张都报警呢
      }