zhaoqingang
2025-02-10 bc37c44c45d08c2cb42822e08adf429f4bcffb51
models/locationAnalysis.go
@@ -219,10 +219,11 @@
   //logger.Debugf("task %s last result %d", m.Task.Name, len(lastFilter))
   document_number_list = []string{}
   for _, i := range keyFilter {
      //logger.Debugf("keyFilter %s ------------- %s", i.Id, i.PersonType)
      document_number_list = append(document_number_list, i.Id)
      person := document_number_map[i.DocumentNumber]
      person := document_number_map[i.Id]
      person.PersonType = i.PersonType
      document_number_map[i.DocumentNumber] = person
      document_number_map[i.Id] = person
   }
   //logger.Debugf("document_number_map %s last result %s", m.Task.Name, document_number_map)
   records, err := queryEsLocation(db.GetEsClient(), m, document_number_list)
@@ -266,7 +267,7 @@
      results = append(results, result)
   }
   logger.Debugf("task %s last filter result %d", m.Task.Name, len(results))
   return service.SaveTaskResults(results)
   return service.SaveLocationTaskResults(results)
}
func (m *LocationModel) KeepAlive() error {
@@ -341,15 +342,6 @@
            },
         },
      })
      //filters = append(filters, map[string]interface{}{
      //   "range": map[string]interface{}{
      //      "picDate": map[string]interface{}{
      //         "gte": start.Format(time.DateTime),
      //         "lte": end.Format(time.DateTime),
      //      },
      //   },
      //})
   }
   filters = append(filters, map[string]interface{}{
      "bool": map[string]interface{}{
@@ -401,6 +393,12 @@
                                       },
                                    },
                                 },
                                 "pic_date": map[string]interface{}{ // 新增按 documentNumber 聚合
                                    "terms": map[string]interface{}{
                                       "field": "picDate",
                                       "size":  10000,
                                    },
                                 },
                                 "document_numbers": map[string]interface{}{ // 新增按 documentNumber 聚合
                                    "terms": map[string]interface{}{
                                       "field": "documentNumber",
@@ -445,7 +443,7 @@
   if err := json.NewDecoder(res.Body).Decode(&result); err != nil {
      return nil, fmt.Errorf("error parsing response body: %s", err)
   }
   logger.Debugf("result--------------------------------------- %s", result)
   //logger.Debugf("result--------------------------------------- %s", result)
   // 解析聚合结果
   var records []*LocationRecord
   if aggs, ok := result["aggregations"].(map[string]interface{}); ok {
@@ -477,10 +475,15 @@
                                    persons = append(persons, docNumBucket.(map[string]interface{})["key"].(string))
                                 }
                              }
                              var PicDate string
                              if docNumBuckets, ok := floorBucket.(map[string]interface{})["pic_data"].(map[string]interface{})["buckets"].([]interface{}); ok {
                                 for _, docNumBucket := range docNumBuckets {
                                    PicDate = docNumBucket.(map[string]interface{})["key"].(string)
                                 }
                              }
                              logger.Debugf("floor, persons--,appearCount------------------------------------- %s-- %s --", floor, persons, appearCount)
                              record := &LocationRecord{
                                 //PicDate:        timestamp,
                                 PicDate:         PicDate,
                                 DocumentNumbers: persons,
                                 CommunityId:     communityId,
                                 Building:        building,