From 334e50dcefc34b1625c8fa65a3774cdc6c795f94 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期六, 08 二月 2025 19:30:57 +0800
Subject: [PATCH] 测试 场景分析 bug
---
models/locationAnalysis.go | 120 ++++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 73 insertions(+), 47 deletions(-)
diff --git a/models/locationAnalysis.go b/models/locationAnalysis.go
index b420691..347927f 100644
--- a/models/locationAnalysis.go
+++ b/models/locationAnalysis.go
@@ -356,7 +356,7 @@
},
})
}
- logger.Debugf("filters--------------------------------------- %s", filters)
+ //logger.Debugf("filters--------------------------------------- %s", filters)
query := map[string]interface{}{
"query": map[string]interface{}{
"bool": map[string]interface{}{
@@ -456,55 +456,81 @@
logger.Debugf("ressss--------------------------------------- %s", result)
// 瑙f瀽鑱氬悎缁撴灉
var records []*LocationRecord
- if aggs, ok := result["aggregations"].(map[string]interface{}); ok {
- 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)
- // 瑙f瀽鎸塩ommunityId鐨勮仛鍚堢粨鏋�
- 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)
- // 瑙f瀽鎸塨uilding鐨勮仛鍚堢粨鏋�
- 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)
- // 瑙f瀽鎸塮loor鐨勮仛鍚堢粨鏋�
- if floorBuckets, ok := locationBucket.(map[string]interface{})["floor"].(map[string]interface{})["buckets"].([]interface{}); ok {
- for _, floorBucket := range floorBuckets {
- floor := floorBucket.(map[string]interface{})["key"].(string)
- appearCount := floorBucket.(map[string]interface{})["filter_floor"].(int)
- // 鏋勫缓 LocationRecord 缁撴瀯浣�
- var persons []string
- if docNumBuckets, ok := floorBucket.(map[string]interface{})["document_numbers"].(map[string]interface{})["buckets"].([]interface{}); ok {
- for _, docNumBucket := range docNumBuckets {
- persons = append(persons, docNumBucket.(map[string]interface{})["key"].(string))
- }
- }
+ //dat, ok := result["hits"].(map[string]interface{})
- logger.Debugf("floor--------------------------------------- %s-- %s --", floor, appearCount)
- record := &LocationRecord{
- //PicDate: timestamp,
- DocumentNumbers: persons,
- CommunityId: communityId,
- Building: building,
- Floor: floor,
- OrgId: orgId,
- AppearCount: appearCount,
- }
+ dat := result["hits"].(map[string]interface{})
- records = append(records, record)
- }
- }
- }
- }
- }
- }
- }
- }
+ var data = make(map[string]interface{}, 2)
+
+ tmp, b := dat["total"].(map[string]interface{})
+ if b != true {
+ data["total"] = dat["total"].(float64)
+ } else {
+ data["total"] = tmp["value"].(float64)
}
+ sources := []interface{}{}
+ for _, value := range dat["hits"].([]interface{}) {
+ sourceData := value.(map[string]interface{})
+ source := sourceData["_source"].(map[string]interface{})
+ source["_id"] = sourceData["_id"]
+ /*sdkType := source["sdkType"]
+ if sdkType != nil {
+ sdk, _ := strconv.Atoi(sdkType.(string))
+ source["sdkType"] = sdkTypeToValue(sdk)
+ }*/
+ sources = append(sources, source)
+ }
+ data["datalist"] = sources
+ logger.Debugf("ressss--------------data------------------------- %s", data)
+ //if aggs, ok := result["aggregations"].(map[string]interface{}); ok {
+ // 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)
+ // // 瑙f瀽鎸塩ommunityId鐨勮仛鍚堢粨鏋�
+ // 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)
+ // // 瑙f瀽鎸塨uilding鐨勮仛鍚堢粨鏋�
+ // 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)
+ // // 瑙f瀽鎸塮loor鐨勮仛鍚堢粨鏋�
+ // if floorBuckets, ok := locationBucket.(map[string]interface{})["floor"].(map[string]interface{})["buckets"].([]interface{}); ok {
+ // for _, floorBucket := range floorBuckets {
+ // floor := floorBucket.(map[string]interface{})["key"].(string)
+ // appearCount := floorBucket.(map[string]interface{})["filter_floor"].(int)
+ // // 鏋勫缓 LocationRecord 缁撴瀯浣�
+ // var persons []string
+ // if docNumBuckets, ok := floorBucket.(map[string]interface{})["document_numbers"].(map[string]interface{})["buckets"].([]interface{}); ok {
+ // for _, docNumBucket := range docNumBuckets {
+ // persons = append(persons, docNumBucket.(map[string]interface{})["key"].(string))
+ // }
+ // }
+ //
+ // logger.Debugf("floor--------------------------------------- %s-- %s --", floor, appearCount)
+ // record := &LocationRecord{
+ // //PicDate: timestamp,
+ // DocumentNumbers: persons,
+ // CommunityId: communityId,
+ // Building: building,
+ // Floor: floor,
+ // OrgId: orgId,
+ // AppearCount: appearCount,
+ // }
+ //
+ // records = append(records, record)
+ // }
+ // }
+ // }
+ // }
+ // }
+ // }
+ // }
+ // }
+ //}
return records, nil
}
--
Gitblit v1.8.0