---
panlei
2019-07-12 7f27fef93bd62eb1367a43430fee594cf33eb54e
---
2个文件已修改
11 ■■■■■ 已修改文件
insertdata/insertDataToEs.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
insertdata/insertDataToEs.go
@@ -296,7 +296,7 @@
            if err != nil {
                logger.Error("画框或上传图片服务器出错", err)
            } else {
                logger.Info("已报警并上传改帧图片到服务器")
                logger.Info("上传的图片信息:",resp)
            }
        } else {
            isAlarm = 0
ruleserver/ruleToformula.go
@@ -122,7 +122,7 @@
type SdkDatas struct {
    CameraId   string
    Sdkdata    []*SdkData
    RuleResult map[string]interface{} // 过完规则后打的标签 face: []Arg  yolo: []Result
    RuleResult map[string]interface{} // 过完规则后打的标签 face: []Arg  yolo: []Result cacheData: SdkDatas
}
// 将传递过来的参数转化为
@@ -470,6 +470,7 @@
                    }
                }
            }
            //TimerAlarm(args,groupRule.GroupId)
            if flag {
                // 最后成功报警才把符合条件的人脸数据塞进结果标签里
                // 配了人脸的算法才把人脸的数据甩出来打标签
@@ -500,6 +501,7 @@
                        }
                    }
                }
                logger.Debug("------locations的内容:",locations)
                if sdkNames != "" {
                    args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText, locations,polygonId})
                    logger.Info("-------------------yolo结果标签长度", len(args.RuleResult["yolo"].([]Result)))
@@ -516,14 +518,15 @@
        return false
    }
}
func TimerAlarm(groupId string) (int) {
    var flagTime int = 0
func TimerAlarm(args SdkDatas,groupId string) (int) {
    var flagTime int = 0  // 为0的意思是
    for k, timeEle := range TimeEleList {
        if strings.Contains(k, groupId) {
            if timeEle.N == 0 && !timeEle.AlarmFlag { // 这组规则的定时器要全部等于0   暂且认为一组规则只有一个定时器
                logger.Info("———————————-------------首次符合持续时间规则并报警")
                flagTime = 1
                timeEle.AlarmFlag = true
                args.RuleResult["cacheData"] = timeEle.CacheSdkData
            }
            if timeEle.N == 0 && timeEle.AlarmFlag {
                logger.Info("-------------------------符合持续时间规则但并不是首次,不报警")