| | |
| | | person.PersonType = i.PersonType |
| | | document_number_map[i.DocumentNumber] = person |
| | | } |
| | | logger.Debugf("document_number_list %s last result %s", m.Task.Name, document_number_list) |
| | | records, err := queryEsLocation(db.GetEsClient(), m, document_number_list) |
| | | if err != nil { |
| | | return err |
| | | } |
| | | logger.Debugf("records %s last result %s", m.Task.Name, records) |
| | | domains, err := domainToLocation(records) |
| | | if err != nil { |
| | | return err |
| | |
| | | filters = append(filters, map[string]interface{}{ |
| | | "range": map[string]interface{}{ |
| | | "picDate": map[string]interface{}{ |
| | | "gte": start.Format(time.RFC3339), |
| | | "lte": end.Format(time.RFC3339), |
| | | "gte": start.Format("2006-01-02 15:04:05"), |
| | | "lte": end.Format("2006-01-02 15:04:05"), |
| | | }, |
| | | }, |
| | | }) |
| | |
| | | if orgBuckets, ok := aggs["orgs"].(map[string]interface{})["buckets"].([]interface{}); ok { |
| | | for _, orgBucket := range orgBuckets { |
| | | orgId := orgBucket.(map[string]interface{})["key"].(string) |
| | | |
| | | logger.Debugf("orgId--------------------------------------- %s", orgId) |
| | | // 解析按communityId的聚合结果 |
| | | if communityBuckets, ok := orgBucket.(map[string]interface{})["community"].(map[string]interface{})["buckets"].([]interface{}); ok { |
| | | for _, communityBucket := range communityBuckets { |
| | | communityId := communityBucket.(map[string]interface{})["key"].(string) |
| | | |
| | | logger.Debugf("communityId--------------------------------------- %s", communityId) |
| | | // 解析按building的聚合结果 |
| | | if locationBuckets, ok := communityBucket.(map[string]interface{})["location"].(map[string]interface{})["buckets"].([]interface{}); ok { |
| | | for _, locationBucket := range locationBuckets { |
| | | building := locationBucket.(map[string]interface{})["key"].(string) |
| | | |
| | | logger.Debugf("building--------------------------------------- %s", building) |
| | | // 解析按floor的聚合结果 |
| | | if floorBuckets, ok := locationBucket.(map[string]interface{})["floor"].(map[string]interface{})["buckets"].([]interface{}); ok { |
| | | for _, floorBucket := range floorBuckets { |
| | |
| | | persons = append(persons, docNumBucket.(map[string]interface{})["key"].(string)) |
| | | } |
| | | } |
| | | |
| | | logger.Debugf("floor--------------------------------------- %s-- %s --", floor, appearCount) |
| | | record := &LocationRecord{ |
| | | //PicDate: timestamp, |
| | | DocumentNumbers: persons, |