sunty
2024-05-09 6f10f72b074455ba473f82a20b76fa20452a4114
EsApi.go
@@ -84,9 +84,11 @@
   if startTime.After(endTime) {
      // 跨越日期的情况
      //fmt.Println("跨日期",timeStamp, timeStamp.After(startTime), timeStamp.Before(endTime))
      return timeStamp.After(startTime) || timeStamp.Before(endTime)
   } else {
      // 不跨越日期的情况
      //fmt.Println("不跨日期",timeStamp, timeStamp.After(startTime), timeStamp.Before(endTime))
      return timeStamp.After(startTime) && timeStamp.Before(endTime)
   }
}
@@ -198,20 +200,43 @@
      hits := topHits["hits"].(map[string]interface{})
      hitsResult := hits["hits"].([]interface{})
      dataId := make([]string, 0)
      picUrl := ""
      if hitsResult[0].(map[string]interface{})["_source"].(map[string]interface{})["baseInfo"] != nil {
         baseInfo := hitsResult[0].(map[string]interface{})["_source"].(map[string]interface{})["baseInfo"]
         if v, ok := baseInfo.([]interface{}); ok {
            picUrl = v[0].(map[string]interface{})["targetPicUrl"].(string)
         } else if v, ok := baseInfo.(map[string]interface{}); ok {
            picUrl = v["targetPicUrl"].(string)
         }
      } else {
         if hitsResult[0].(map[string]interface{})["_source"].(map[string]interface{})["targetInfo"] != nil {
            picUrl = hitsResult[0].(map[string]interface{})["_source"].(map[string]interface{})["targetInfo"].([]interface{})[0].(map[string]interface{})["picSmUrl"].(string)
         }
      }
      //if hitsResult[0].(map[string]interface{})["baseInfo"] != nil {
      //   fmt.Println("picUrl1: ", picUrl)
      //   picUrl = hitsResult[0].(map[string]interface{})["baseInfo"].([]interface{})[0].(map[string]interface{})["targetPicUrl"].(string)
      //} else {
      //   if hitsResult[0].(map[string]interface{})["targetInfo"] != nil {
      //      fmt.Println("picUrl2: ", picUrl)
      //      picUrl = hitsResult[0].(map[string]interface{})["targetInfo"].([]interface{})[0].(map[string]interface{})["picSmUrl"].(string)
      //   }
      //}
      tmpInfo["picUrl"] = picUrl
      for sIndex, sourceInfo := range hitsResult {
         rSourceInfo := sourceInfo.(map[string]interface{})
         source := rSourceInfo["_source"].(map[string]interface{})
         captureTime := source["picDate"].(string)
         dDate := strings.Split(captureTime, " ")[0]
         dTime := strings.Split(captureTime[:19], " ")[1]
         //fmt.Println(captureTime, dDate, dTime)
         id := source["id"].(string)
         //fmt.Println("sindex: ", sIndex, "documentNumber", tmpInfo["documentNumber"], "id: ", id, "captureTime: ", captureTime)
         if !isTimeInRange(dTime, aHFormat.startTime, aHFormat.endTime) {
            if sDate != "" && len(dataId) >= frequency {
               activeId = append(activeId, dataId...)
               dataId = resetDataId(dataId, id, dDate, dTime, &sDate, &sTime)
            }
            //if sDate != "" && len(dataId) >= frequency {
            //   activeId = append(activeId, dataId...)
            //   dataId = resetDataId(dataId, id, dDate, dTime, &sDate, &sTime)
            //}
            continue
         }
         if sDate == "" {
@@ -344,7 +369,9 @@
                      "top_hits": {
                          "_source": [
                        "id",
                              "picDate"
                              "picDate",
                        "baseInfo.targetPicUrl",
                        "targetInfo.picSmUrl"
                     ],
                           "size": 100000,
                           "sort": [
@@ -506,7 +533,7 @@
   return result
}
func findAnalyzeCoordinatedMovementsInfos(infos []acmInfo, beforeTime int, afterTime int, frequency int,
func findAnalyzeCoordinatedMovementsInfos(infos []acmInfo, docNumber string, beforeTime int, afterTime int, frequency int,
   indexName string, serverIp string, serverPort string) (map[string]interface{}, error) {
   //baseAddResultIds := make([]addResultIds, 0)
   targetAddResultIds := make([]addResultIds, 0)
@@ -541,7 +568,14 @@
                                       "cameraId": "` + cInfo.cameraId + `"
                                   }
                               }
                           ]
                           ],
                        "must_not": [
                                  {
                                   "term": {
                                          "documentNumber": "` + docNumber + `"
                                   }
                                }
                        ]
                       }
                   },
                   "aggs": {
@@ -602,19 +636,32 @@
         }
      }
   }
   rdbaseIds := removeDuplicates(baseIds)
   rdtargetIds := removeDuplicates(targetIds)
   baseInfos, err := GetInfosByIds(rdbaseIds, indexName, serverIp, serverPort)
   if err != nil{
   if err != nil {
      return nil, err
   }
   targetInfos, err := GetInfosByIds(rdtargetIds, indexName, serverIp, serverPort)
   if err != nil{
   if err != nil {
      return nil, err
   }
   docNumberMap := make(map[string][]interface{})
   for _, tinfo := range targetInfos {
      docNumber := tinfo["documentNumber"].(string)
      docNumberMap[docNumber] = append(docNumberMap[docNumber], tinfo)
   }
   targetRecordInfos := make([]map[string]interface{}, 0)
   for docNumber, infos := range docNumberMap {
      ifs := make(map[string]interface{})
      ifs["documentNumber"] = docNumber
      ifs["recordInfos"] = infos
      targetRecordInfos = append(targetRecordInfos, ifs)
   }
   result := make(map[string]interface{})
   result["baseRecordInfo"] = baseInfos
   result["targetRecordInfo"] = targetInfos
   result["targetRecordInfo"] = targetRecordInfos
   return result, nil
}
@@ -701,7 +748,7 @@
      return nil, err
   }
   //fmt.Println(docResult)
   result, err := findAnalyzeCoordinatedMovementsInfos(docResult, beforeTime, afterTime, frequency, indexName, serverIp, serverPort)
   result, err := findAnalyzeCoordinatedMovementsInfos(docResult, docNumber, beforeTime, afterTime, frequency, indexName, serverIp, serverPort)
   if err != nil {
      return nil, err
   }
@@ -2412,7 +2459,7 @@
            "terms":{
               "documentNumber":["` + docNumbers + `"]
            }
         }
         }
         ]
      }
   }
@@ -2431,6 +2478,11 @@
   return deleteRes, nil
}
//func GetCaptureDaysByDocumentNumber(docNumber string, comId string, indexName string, serverIp string, serverPort string){
//   url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search"
//   queryDSL := ``
//}
// 按日期范围,服务器Id删除数据
func DeleteAnalyServerData(serverIp string, serverPort string, indexName string, startTime string, endTime string, analyServerId string) (total int, err error) {
   url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_delete_by_query"