Li 3 vuotta sitten
vanhempi
commit
168e3b4b91
1 muutettua tiedostoa jossa 13 lisäystä ja 8 poistoa
  1. 13 8
      TEAMModelBI/Controllers/BIHome/OnLineController.cs

+ 13 - 8
TEAMModelBI/Controllers/BIHome/OnLineController.cs

@@ -103,10 +103,15 @@ namespace TEAMModelBI.Controllers.BIHome
         /// </summary>
         /// <returns></returns>
         [HttpPost("get-trend")]
-        public async Task<IActionResult> GetTrend() 
+        public async Task<IActionResult> GetTrend(JsonElement jsonElement) 
         {
+            jsonElement.TryGetProperty("hour", out JsonElement hour);
             var table = _azureStorage.GetCloudTableClient().GetTableReference("IESLogin");
-            DateTimeOffset dateTime = DateTimeOffset.UtcNow;
+            DateTimeOffset dateTime =  DateTimeOffset.UtcNow;
+            if (!string.IsNullOrEmpty($"{hour}")) 
+            {
+                DateTimeOffset.UtcNow.AddHours(hour.GetInt32());
+            }
             var (daySt, dayEt) = TimeHelper.GetStartOrEnd(dateTime);  //今天开始时间    13位
             var (strDaySt, strDayEt) = TimeHelper.GetUnixToDate(daySt, dayEt, "yyyyMMddHH");
             var dateDay = dateTime.ToString("yyyyMMdd"); //获取当天的日期
@@ -124,7 +129,7 @@ namespace TEAMModelBI.Controllers.BIHome
                 {
                     int val = ((int)item.Score);
                     int key = ((int)item.Element);
-                    var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, key, 00, 00)).ToUnixTimeMilliseconds();
+                    var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, hour.GetInt32() + key, 0, 0)).ToUnixTimeMilliseconds();
                     //var hour = int.Parse(DateTime.SpecifyKind(Convert.ToDateTime($"{dateTime.Year}/{dateTime.Month}/{ dateTime.Day} {key}:00:00"), DateTimeKind.Utc).ToLocalTime().ToString("HH"));
                     tchDays.Add(utcTo, val);
                     if (allDays.ContainsKey(utcTo))
@@ -143,7 +148,7 @@ namespace TEAMModelBI.Controllers.BIHome
                     foreach (var item in hourLoginsTch)
                     {
                         await _azureRedis.GetRedisClient(8).SortedSetIncrementAsync($"Login:IES:teacher:{dateDay}", $"{item.Hour}", item.Teacher);//存一天24小时
-                        var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, item.Hour, 00, 00)).ToUnixTimeMilliseconds();
+                        var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, hour.GetInt32() + item.Hour, 0, 0)).ToUnixTimeMilliseconds();
                         //var hour = int.Parse(DateTime.SpecifyKind(Convert.ToDateTime($"{dateTime.Year}/{dateTime.Month}/{ dateTime.Day} {item.Hour}:00:00"), DateTimeKind.Utc).ToLocalTime().ToString("HH"));
                         tchDays.Add(utcTo, item.Teacher);
                         if (allDays.ContainsKey(utcTo))
@@ -161,7 +166,7 @@ namespace TEAMModelBI.Controllers.BIHome
                 {
                     int val = (int)item.Score;
                     int key = (int)item.Element;
-                    var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, key, 00, 00)).ToUnixTimeMilliseconds();
+                    var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, hour.GetInt32() + key, 0, 0)).ToUnixTimeMilliseconds();
                     //var hour = int.Parse(DateTime.SpecifyKind(Convert.ToDateTime($"{dateTime.Year}/{dateTime.Month}/{ dateTime.Day} {key}:00:00"), DateTimeKind.Utc).ToLocalTime().ToString("HH"));
                     stuDays.Add(utcTo, val);
                     if (allDays.ContainsKey(utcTo))
@@ -181,7 +186,7 @@ namespace TEAMModelBI.Controllers.BIHome
                     foreach (var item in hourLoginsStu)
                     {
                         await _azureRedis.GetRedisClient(8).SortedSetIncrementAsync($"Login:IES:student:{dateDay}", $"{item.Hour}", item.Student);//存一天24小时
-                        var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, item.Hour, 00, 00)).ToUnixTimeMilliseconds();
+                        var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, hour.GetInt32() + item.Hour, 0, 0)).ToUnixTimeMilliseconds();
                         //var hour = int.Parse(DateTime.SpecifyKind(Convert.ToDateTime($"{dateTime.Year}/{dateTime.Month}/{ dateTime.Day} {item.Hour}:00:00"), DateTimeKind.Utc).ToLocalTime().ToString("HH"));
                         stuDays.Add(utcTo, item.Student);
                         if (allDays.ContainsKey(utcTo))
@@ -199,7 +204,7 @@ namespace TEAMModelBI.Controllers.BIHome
                 {
                     int val = (int)item.Score;
                     int key = (int)item.Element;
-                    var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, key, 00, 00)).ToUnixTimeMilliseconds();
+                    var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, hour.GetInt32() + key, 00, 00)).ToUnixTimeMilliseconds();
                     //var hour = int.Parse(DateTime.SpecifyKind(Convert.ToDateTime($"{dateTime.Year}/{dateTime.Month}/{ dateTime.Day} {key}:00:00"), DateTimeKind.Utc).ToLocalTime().ToString("HH"));
                     tmdDays.Add(utcTo, val);
                     if (allDays.ContainsKey(utcTo))
@@ -219,7 +224,7 @@ namespace TEAMModelBI.Controllers.BIHome
                     foreach (var item in hourLoginsTmd)
                     {
                         await _azureRedis.GetRedisClient(8).SortedSetIncrementAsync($"Login:IES:tmduser:{dateDay}", $"{item.Hour}", item.TmdUser);//存一天24小时
-                        var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, item.Hour, 00, 00)).ToUnixTimeMilliseconds();
+                        var utcTo = new DateTimeOffset(new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, hour.GetInt32() + item.Hour, 00, 00)).ToUnixTimeMilliseconds();
                         //var hour = int.Parse(DateTime.SpecifyKind(Convert.ToDateTime($"{dateTime.Year}/{dateTime.Month}/{ dateTime.Day} {item.Hour}:00:00"), DateTimeKind.Utc).ToLocalTime().ToString("HH"));
                         tmdDays.Add(utcTo, item.TmdUser);
                         if (allDays.ContainsKey(utcTo))