|
@@ -9,13 +9,17 @@ using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Text.Json;
|
|
|
+using System.Text.RegularExpressions;
|
|
|
using System.Threading.Tasks;
|
|
|
+using TEAMModelBI.Tool;
|
|
|
+using TEAMModelBI.Tool.CosmosBank;
|
|
|
using TEAMModelOS.SDK.Context.BI;
|
|
|
+using TEAMModelOS.SDK.Context.Constant;
|
|
|
using TEAMModelOS.SDK.DI;
|
|
|
using TEAMModelOS.SDK.Extension;
|
|
|
using TEAMModelOS.SDK.Models.Cosmos.BI;
|
|
|
|
|
|
-namespace TEAMModelBI.Controllers.BIHome
|
|
|
+namespace TEAMModelBI.Controllers.BIBlob
|
|
|
{
|
|
|
[Route("analyse")]
|
|
|
[ApiController]
|
|
@@ -30,6 +34,55 @@ namespace TEAMModelBI.Controllers.BIHome
|
|
|
_azureStorage = azureStorage;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 查询一天的分析防火墙分析
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="jsonElement"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [ProducesDefaultResponseType]
|
|
|
+ [HttpPost("get-dayapi")]
|
|
|
+ public async Task<IActionResult> GetDayApi(JsonElement jsonElement)
|
|
|
+ {
|
|
|
+ jsonElement.TryGetProperty("dateTime", out JsonElement dateTime);
|
|
|
+ jsonElement.TryGetProperty("site", out JsonElement site);
|
|
|
+
|
|
|
+ DateTimeOffset dtOff = DateTimeOffset.UtcNow;
|
|
|
+
|
|
|
+ var blobCilent = _azureStorage.GetBlobContainerClient(containerName: "0-public");
|
|
|
+ if ($"{site}".Equals(BIConst.Global))
|
|
|
+ blobCilent = _azureStorage.GetBlobContainerClient(containerName: "0-public", BIConst.Global);
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty($"{dateTime}"))
|
|
|
+ dtOff = TimeHelper.GetDateTime(dateTime.GetInt64());
|
|
|
+
|
|
|
+ string day = dtOff.ToString("yyyyMMdd");
|
|
|
+ Dictionary<string, RecCnt> days = new();
|
|
|
+
|
|
|
+ await foreach (BlobItem blobItem in blobCilent.GetBlobsAsync(BlobTraits.None, BlobStates.None, $"visitCnt/{day}"))
|
|
|
+ {
|
|
|
+ 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>();
|
|
|
+
|
|
|
+ string name = stringSuffix.MidStrEx(blobItem.Name, "/", ".");
|
|
|
+ days.Add(name, recCnt);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return Ok(new { state = RespondCode.Ok, days = days.ToList() });
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 本地Json
|
|
|
/// </summary>
|