Browse Source

访客统计

懒得勤快 6 years ago
parent
commit
10e124a7c1
1 changed files with 4 additions and 51 deletions
  1. 4 51
      src/Masuit.MyBlogs.WebApp/Models/Hangfire/HangfireBackJob.cs

+ 4 - 51
src/Masuit.MyBlogs.WebApp/Models/Hangfire/HangfireBackJob.cs

@@ -11,12 +11,12 @@ using Models.DTO;
 using Models.Entity;
 using Models.Enum;
 using Models.ViewModel;
+using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Threading;
-using Masuit.Tools.Mapping;
 
 namespace Masuit.MyBlogs.WebApp.Models.Hangfire
 {
@@ -240,15 +240,6 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
             int monthpv = list.Count(i => i.ViewTime >= monthStart);
             int monthuv = list.DistinctBy(i => i.IP).Count(i => i.ViewTime >= monthStart);
 
-            ////YTD统计
-            //var yearStart = new DateTime(DateTime.Now.Year, 1, 1);
-            //int yearpv = list.Count(i => i.ViewTime >= yearStart);
-            //int yearuv = list.DistinctBy(i => i.IP).Count(i => i.ViewTime >= yearStart);
-
-            ////完全统计
-            //int totalpv = list.Count();
-            //int totaluv = list.DistinctBy(i => i.IP).Count();
-
             var allClient = new List<object>();
             var uniClient = new List<object>();
             var allRegion = new List<object>();
@@ -360,7 +351,7 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
                     TimeStamp = g.Key.GetTotalMilliseconds(),
                     pv = g.Count(),
                     uv = count,
-                    iv = count - dic[g.Key]
+                    iv = count - (dic.ContainsKey(g.Key) ? dic[g.Key] : 0)
                 };
             }).ToList(); //汇总统计
 
@@ -399,24 +390,6 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
                 g.iv
             }).ToList();  //每日新增独立访客
 
-            ////访问时长统计
-            //InterviewAnalysisDto maxSpanViewer = list.OrderByDescending(i => i.OnlineSpanSeconds).Select(i => new InterviewAnalysisDto
-            //{
-            //    ViewTime = i.ViewTime,
-            //    IP = i.IP,
-            //    BrowserType = i.BrowserType,
-            //    Province = i.Province,
-            //    OnlineSpanSeconds = i.OnlineSpanSeconds
-            //}).FirstOrDefault(); //历史最久访客
-            //InterviewAnalysisDto maxSpanViewerToday = list.Where(i => i.ViewTime >= DateTime.Today).OrderByDescending(i => i.OnlineSpanSeconds).Select(i => new InterviewAnalysisDto
-            //{
-            //    ViewTime = i.ViewTime,
-            //    IP = i.IP,
-            //    BrowserType = i.BrowserType,
-            //    Province = i.Province,
-            //    OnlineSpanSeconds = i.OnlineSpanSeconds
-            //}).FirstOrDefault(); //今日最久访客
-
             double average = 0;
             double average2 = 0;
             if (list.Any(i => i.OnlineSpanSeconds > 0 && i.ViewTime >= DateTime.Today))
@@ -441,11 +414,7 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
                 Pv = pv,
                 Todaypv = todaypv,
                 Todayuv = todayuv,
-                //Totalpv = totalpv,
-                //Totaluv = totaluv,
                 Uv = uv,
-                //Yearpv = yearpv,
-                //Yearuv = yearuv,
                 BounceRate = $"{dap?.Dap}/{dap?.All}({dap?.Result:P})",
                 BounceRateAggregate = dapAgg.Select(a => new object[]
                 {
@@ -455,27 +424,11 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
                 BounceRateToday = $"{todayDap?.Dap}/{todayDap?.All}({todayDap?.Rate:P})",
                 OnlineSpanAggregate = new
                 {
-                    //maxSpanViewerToday = new
-                    //{
-                    //    maxSpanViewerToday?.IP,
-                    //    maxSpanViewerToday?.BrowserType,
-                    //    maxSpanViewerToday?.Province,
-                    //    maxSpanViewerToday?.ViewTime,
-                    //    OnlineSpanSeconds = TimeSpan2String(TimeSpan.FromSeconds(maxSpanViewerToday?.OnlineSpanSeconds ?? 0))
-                    //},
                     averSpanToday,
-                    //maxSpanViewer = new
-                    //{
-                    //    maxSpanViewer?.IP,
-                    //    maxSpanViewer?.BrowserType,
-                    //    maxSpanViewer?.Province,
-                    //    maxSpanViewer?.ViewTime,
-                    //    OnlineSpanSeconds = TimeSpan2String(TimeSpan.FromSeconds(maxSpanViewer?.OnlineSpanSeconds ?? 0))
-                    //},
                     averSpan,
                 }
             };
-            var unique = all.Copy();
+            var unique = JsonConvert.DeserializeObject<AnalysisModel>(all.ToJsonString());
             unique.Browser = uniBrowser;
             unique.Client = uniClient;
             unique.Region = uniRegion;
@@ -484,7 +437,7 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
 
         private static string TimeSpan2String(TimeSpan span)
         {
-            string averSpan = String.Empty;
+            string averSpan = string.Empty;
             if (span.Hours > 0)
             {
                 averSpan += span.Hours + "小时";