zhaoqingang
2025-02-08 d6e6969b042e801321798be568bd6c19e6356bc8
models/nightAnalysis.go
@@ -7,9 +7,11 @@
   "errors"
   "fmt"
   "github.com/elastic/go-elasticsearch/v6"
   "model-engine/pkg/set"
   //"log"
   "model-engine/config"
   "model-engine/pkg/set"
   //"model-engine/pkg/set"
   "strconv"
   "strings"
   "time"
@@ -222,11 +224,11 @@
      person.PersonType = i.PersonType
      document_number_map[i.DocumentNumber] = person
   }
   records, err := queryEsLocation(db.GetEsClient(), m, document_number_list)
   records, err := queryEsNight(db.GetEsClient(), m, document_number_list)
   if err != nil {
      return err
   }
   domains, err := domainToLocation(records)
   domains, err := domainToNight(records)
   if err != nil {
      return err
   }
@@ -276,7 +278,7 @@
   return fmt.Sprintf("%s人员进出%d次", event, AppearCount)
}
func queryEsNight(esClient *elasticsearch.Client, locationModel *LocationModel, documentNumbers []string) ([]*LocationRecord, error) {
func queryEsNight(esClient *elasticsearch.Client, locationModel *nightModel, documentNumbers []string) ([]*nightRecord, error) {
   var buf bytes.Buffer
   nowTime := time.Now()
   startTime := nowTime.Add(-time.Duration(locationModel.Duration) * 24 * time.Hour)
@@ -443,7 +445,7 @@
   }
   // 解析聚合结果
   var records []*LocationRecord
   var records []*nightRecord
   if aggs, ok := result["aggregations"].(map[string]interface{}); ok {
      if orgBuckets, ok := aggs["orgs"].(map[string]interface{})["buckets"].([]interface{}); ok {
         for _, orgBucket := range orgBuckets {
@@ -471,7 +473,7 @@
                                    persons = append(persons, docNumBucket.(map[string]interface{})["key"].(string))
                                 }
                              }
                              record := &LocationRecord{
                              record := &nightRecord{
                                 //PicDate:        timestamp,
                                 DocumentNumbers: persons,
                                 CommunityId:     communityId,
@@ -495,17 +497,17 @@
   return records, nil
}
//func domainToLocation(records []*LocationRecord) (map[string]*db.DomainUnit, error) {
//   if len(records) == 0 {
//      return nil, nil
//   }
//   domainIds := set.NewStringSet()
//   for _, record := range records {
//      domainIds.Add(record.CommunityId)
//   }
//   domains, err := service.GetUnitsMapByIds(domainIds.Elements())
//   if err != nil {
//      return nil, err
//   }
//   return domains, nil
//}
func domainToNight(records []*nightRecord) (map[string]*db.DomainUnit, error) {
   if len(records) == 0 {
      return nil, nil
   }
   domainIds := set.NewStringSet()
   for _, record := range records {
      domainIds.Add(record.CommunityId)
   }
   domains, err := service.GetUnitsMapByIds(domainIds.Elements())
   if err != nil {
      return nil, err
   }
   return domains, nil
}