|
@@ -36,7 +36,7 @@ namespace TEAMModelBI.Controllers.BIBlob
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
- /// 查询一天的分析防火墙分析
|
|
|
+ /// 查询一天的分析防火墙分析 已对接
|
|
|
/// </summary>
|
|
|
/// <param name="jsonElement"></param>
|
|
|
/// <returns></returns>
|
|
@@ -80,7 +80,95 @@ namespace TEAMModelBI.Controllers.BIBlob
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return Ok(new { state = RespondCode.Ok, days = days.ToList() });
|
|
|
+ return Ok(new { state = RespondCode.Ok, days = days.ToList() });
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 查询七天的数据
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="jsonElement"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [ProducesDefaultResponseType]
|
|
|
+ [HttpPost("get-sevendayapi")]
|
|
|
+ public async Task<IActionResult> GetSevenDayApi(JsonElement jsonElement)
|
|
|
+ {
|
|
|
+
|
|
|
+ jsonElement.TryGetProperty("site", out JsonElement site);
|
|
|
+ var blobCilent = _azureStorage.GetBlobContainerClient(containerName: "0-public");
|
|
|
+ if ($"{site}".Equals(BIConst.Global))
|
|
|
+ blobCilent = _azureStorage.GetBlobContainerClient(containerName: "0-public", BIConst.Global);
|
|
|
+
|
|
|
+ List<RecApiCnt> savenDayApis = new();
|
|
|
+ List<string> day7 = TimeHelper.GetNearDay(DateTimeOffset.UtcNow, 7);
|
|
|
+ foreach (var item in day7)
|
|
|
+ {
|
|
|
+ await foreach (BlobItem blobItem in blobCilent.GetBlobsAsync(BlobTraits.None, BlobStates.None, $"visitCnt/{item}"))
|
|
|
+ {
|
|
|
+ BlobClient tempClient = blobCilent.GetBlobClient(blobItem.Name);
|
|
|
+ if (await tempClient.ExistsAsync())
|
|
|
+ {
|
|
|
+ using (var meomoryStream = new MemoryStream())
|
|
|
+ {
|
|
|
+ var response = blobCilent.GetBlobClient($"{blobItem.Name}").DownloadTo(meomoryStream);
|
|
|
+ //var response = await blob.GetBlobClient($"{blobItem.Name}").DownloadToAsync(meomoryStream);
|
|
|
+ //var temps = meomoryStream.ToString();
|
|
|
+ //var temp1 = Encoding.UTF8.GetString(meomoryStream.ToArray());
|
|
|
+ //var temp = Encoding.UTF8.GetString(meomoryStream.ToArray()).ToObject<RecCnt>();
|
|
|
+
|
|
|
+ RecCnt recCnt = Encoding.UTF8.GetString(meomoryStream.ToArray()).ToString().ToObject<RecCnt>();
|
|
|
+ savenDayApis.AddRange(recCnt.apiCnt);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return Ok(new { state = RespondCode.Ok, savenDayApis });
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 查询三十天的数据
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="jsonElement"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [ProducesDefaultResponseType]
|
|
|
+ [HttpPost("get-thirtydayapi")]
|
|
|
+ public async Task<IActionResult> GetThirtyDayApi(JsonElement jsonElement)
|
|
|
+ {
|
|
|
+
|
|
|
+ jsonElement.TryGetProperty("site", out JsonElement site);
|
|
|
+ var blobCilent = _azureStorage.GetBlobContainerClient(containerName: "0-public");
|
|
|
+ if ($"{site}".Equals(BIConst.Global))
|
|
|
+ blobCilent = _azureStorage.GetBlobContainerClient(containerName: "0-public", BIConst.Global);
|
|
|
+
|
|
|
+ List<RecApiCnt> thirtyDayApi = new();
|
|
|
+ List<string> day30 = TimeHelper.GetNearDay(DateTimeOffset.UtcNow, 30);
|
|
|
+
|
|
|
+ foreach (var item in day30)
|
|
|
+ {
|
|
|
+ await foreach (BlobItem blobItem in blobCilent.GetBlobsAsync(BlobTraits.None, BlobStates.None, $"visitCnt/{item}"))
|
|
|
+ {
|
|
|
+ BlobClient tempClient = blobCilent.GetBlobClient(blobItem.Name);
|
|
|
+ if (await tempClient.ExistsAsync())
|
|
|
+ {
|
|
|
+ using (var meomoryStream = new MemoryStream())
|
|
|
+ {
|
|
|
+ var response = blobCilent.GetBlobClient($"{blobItem.Name}").DownloadTo(meomoryStream);
|
|
|
+ //var response = await blob.GetBlobClient($"{blobItem.Name}").DownloadToAsync(meomoryStream);
|
|
|
+ //var temps = meomoryStream.ToString();
|
|
|
+ //var temp1 = Encoding.UTF8.GetString(meomoryStream.ToArray());
|
|
|
+ //var temp = Encoding.UTF8.GetString(meomoryStream.ToArray()).ToObject<RecCnt>();
|
|
|
+
|
|
|
+ RecCnt recCnt = Encoding.UTF8.GetString(meomoryStream.ToArray()).ToString().ToObject<RecCnt>();
|
|
|
+ thirtyDayApi.AddRange(recCnt.apiCnt);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return Ok(new { state = RespondCode.Ok, thirtyDayApi });
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/// <summary>
|