Преглед изворни кода

添加查询七天/三四天的防火墙数据统计

Li пре 2 година
родитељ
комит
c6cba428b4

+ 90 - 2
TEAMModelBI/Controllers/BIBlob/AnalyseFileController.cs

@@ -36,7 +36,7 @@ namespace TEAMModelBI.Controllers.BIBlob
 
 
 
 
         /// <summary>
         /// <summary>
-        /// 查询一天的分析防火墙分析
+        /// 查询一天的分析防火墙分析  已对接
         /// </summary>
         /// </summary>
         /// <param name="jsonElement"></param>
         /// <param name="jsonElement"></param>
         /// <returns></returns>
         /// <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>
         /// <summary>

+ 4 - 1
TEAMModelBI/Controllers/BITest/TestController.cs

@@ -676,6 +676,9 @@ namespace TEAMModelBI.Controllers.BITest
         [HttpPost("get-date")]
         [HttpPost("get-date")]
         public async Task<IActionResult> GetDate()
         public async Task<IActionResult> GetDate()
         {
         {
+            List<string> day7 = TimeHelper.GetNearDay(DateTimeOffset.UtcNow, 7);
+            List<string> day30 = TimeHelper.GetNearDay(DateTimeOffset.UtcNow, 30);
+
             DateTimeOffset dateTime = DateTimeOffset.UtcNow.AddDays(0);
             DateTimeOffset dateTime = DateTimeOffset.UtcNow.AddDays(0);
             int year = DateTimeOffset.UtcNow.Year;
             int year = DateTimeOffset.UtcNow.Year;
             int month = DateTimeOffset.UtcNow.Month;
             int month = DateTimeOffset.UtcNow.Month;
@@ -711,7 +714,7 @@ namespace TEAMModelBI.Controllers.BITest
             //return Ok(new { strList, dateTime, year, start, end, endList, endList1, endList2 });
             //return Ok(new { strList, dateTime, year, start, end, endList, endList1, endList2 });
 
 
 
 
-            return Ok(new { datetime7, start1, end1, start2, end2, start3, end3, start4, end4 , start5, end5 , start6, end6 , start7, end7 });
+            return Ok(new { day7, day30, datetime7, start1, end1, start2, end2, start3, end3, start4, end4 , start5, end5 , start6, end6 , start7, end7 });
         }
         }
 
 
         public static List<string> monthsOfYear(string yearMonth)
         public static List<string> monthsOfYear(string yearMonth)

+ 16 - 0
TEAMModelBI/Tool/TimeHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Linq;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using TEAMModelBI.Models;
 using TEAMModelBI.Models;
 using TEAMModelOS.SDK.Models;
 using TEAMModelOS.SDK.Models;
@@ -409,6 +410,21 @@ namespace TEAMModelBI.Tool
             return (tStart, tEnd);
             return (tStart, tEnd);
         }
         }
 
 
+        /// <summary>
+        /// 获取每天的时间
+        /// </summary>
+        /// <param name="dateTime">时间</param>
+        /// <param name="dayNumber">最近几天</param>
+        /// <returns></returns>
+        public static List<string> GetNearDay(DateTimeOffset dateTime,int dayNumber)
+        {
+            List<string> days = new();
+
+            days = Enumerable.Range(1, dayNumber).Select(i => dateTime.Date.AddDays(-i).ToString("yyyyMMdd")).ToList();
+
+            return days;
+
+        }
 
 
 
 
     }
     }