| | |
| | | Location string `json:"location" gorm:"type:varchar(255)"` //发生地点 |
| | | Building string `json:"building" gorm:"type:varchar(255);"` //楼栋 |
| | | Floor string `json:"floor" gorm:"type:varchar(255);"` //楼层 |
| | | PicDate string `json:"picDate" gorm:"type:varchar(255);"` //抓拍时间 |
| | | } |
| | | |
| | | func (m *ModelTaskResults) TableName() string { |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | "frequency_filter": map[string]interface{}{ // 添加频率过滤 |
| | | "bucket_selector": map[string]interface{}{ |
| | | "buckets_path": map[string]interface{}{ |
| | | "eventCount": "_count", // 聚合事件次数 |
| | | }, |
| | | "script": map[string]interface{}{ |
| | | "source": "params.eventCount >= params.threshold", // 筛选频率达到阈值的事件 |
| | | "params": map[string]interface{}{ |
| | | "threshold": gatherModel.Threshold, |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | |
| | | if gatherEvents, ok := floorBucket.(map[string]interface{})["gather_events"].(map[string]interface{})["buckets"].([]interface{}); ok { |
| | | for _, eventBucket := range gatherEvents { |
| | | key := int64(eventBucket.(map[string]interface{})["key"].(float64)) / 1000 // 将毫秒转换为秒 |
| | | timestamp := time.Unix(key, 0).Format("2006-01-02T15:04:05") |
| | | timestamp := time.Unix(key, 0).Format("2006-01-02 15:04:05") |
| | | |
| | | // 解析人员 |
| | | if peopleBuckets, ok := eventBucket.(map[string]interface{})["people"].(map[string]interface{})["buckets"].([]interface{}); ok { |