public void WriteTrafficRecords(HttpContext context) { context.Response.ContentType = "text/plain"; int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; int num5 = 0; string text; DateTime date; if (context.Request.HttpMethod.ToLower() == "post") { num = context.Request["PageType"].ToInt(0); num2 = context.Request["SourceId"].ToInt(0); num5 = context.Request["StoreId"].ToInt(0); if (num >= 0 && num2 > 0 && num2 <= 99 && (num2 <= 3 || num2 >= 99) && num <= 99 && (num <= 3 || num >= 99)) { text = ""; Guid guid; DateTime now; if (num2 == 3) { string text2 = context.Request["SessionId"]; if (!string.IsNullOrWhiteSpace(text2)) { MemberInfo memberInfo = MemberProcessor.FindMemberBySessionId(text2); if (memberInfo == null) { guid = Guid.NewGuid(); text = guid.ToString().Replace("-", ""); HttpCookie httpCookie = new HttpCookie("t_sessionId"); httpCookie.HttpOnly = true; httpCookie.Value = text; HttpCookie httpCookie2 = httpCookie; now = DateTime.Now; httpCookie2.Expires = now.AddYears(1); HttpContext.Current.Response.Cookies.Add(httpCookie); context.Response.Write("error"); return; } text = memberInfo.UserId.ToString(); } else { try { int userId = HiContext.Current.UserId; if (userId > 0) { text = userId.ToString(); } } catch (Exception) { } } if (string.IsNullOrWhiteSpace(text)) { if (context.Request.Cookies.Get("t_sessionId") != null) { text = context.Request.Cookies.Get("t_sessionId").Value; } if (string.IsNullOrWhiteSpace(text)) { guid = Guid.NewGuid(); text = guid.ToString().Replace("-", ""); HttpCookie httpCookie3 = new HttpCookie("t_sessionId"); httpCookie3.HttpOnly = true; httpCookie3.Value = text; HttpCookie httpCookie4 = httpCookie3; now = DateTime.Now; httpCookie4.Expires = now.AddYears(1); HttpContext.Current.Response.Cookies.Add(httpCookie3); context.Response.Write("2"); return; } } } else if (HiContext.Current.UserId == 0) { if (context.Request.Cookies.Get("t_sessionId") != null) { text = context.Request.Cookies.Get("t_sessionId").Value; } if (string.IsNullOrWhiteSpace(text)) { guid = Guid.NewGuid(); text = guid.ToString().Replace("-", ""); HttpCookie httpCookie5 = new HttpCookie("t_sessionId"); httpCookie5.HttpOnly = true; httpCookie5.Value = text; HttpCookie httpCookie6 = httpCookie5; now = DateTime.Now; httpCookie6.Expires = now.AddYears(1); HttpContext.Current.Response.Cookies.Add(httpCookie5); context.Response.Write("2"); return; } } else { text = HiContext.Current.UserId.ToString(); } now = DateTime.Now; date = now.Date; int year = date.Year; int month = date.Month; int day = date.Day; if (3 == num) { num3 = context.Request["ProductId"].ToInt(0); num4 = context.Request["ActivityType"].ToInt(0); if (num4 > 0 && num4 <= 5 && (num4 != 4 || (num2 != 1 && num2 != 99)) && num3 > 0) { goto IL_04a0; } return; } goto IL_04a0; } return; } goto IL_0539; IL_0539: context.Response.Write("0"); return; IL_04a0: AccessRecordModel accessRecordModel = new AccessRecordModel(); accessRecordModel.AccessDate = date; accessRecordModel.IpAddress = text; accessRecordModel.PageType = num; accessRecordModel.SourceId = num2; accessRecordModel.ProductId = num3; accessRecordModel.ActivityType = num4; accessRecordModel.StoreId = num5; List <AccessRecordModel> list = (List <AccessRecordModel>)HiCache.Get("DataCache-AccessRecords"); if (list == null) { list = new List <AccessRecordModel>(); list.Add(accessRecordModel); HiCache.Insert("DataCache-AccessRecords", list, 3600); } else { list.Add(accessRecordModel); } goto IL_0539; }
private static void ManageProductAccess(DateTime dtNow, List <ProductDailyAccessStatisticsInfo> ProductStatisticlst, AccessRecordModel AccessRecord, IList <SourceIpRecordsInfo> IpLst, List <SourceIpRecordsInfo> NewIpLst) { ProductDailyAccessStatisticsInfo productDailyAccessStatisticsInfo = ProductStatisticlst.FirstOrDefault((ProductDailyAccessStatisticsInfo c) => c.ProductId == AccessRecord.ProductId && c.ActivityType == AccessRecord.ActivityType); bool flag = true; bool flag2 = true; if (IpLst.Count((SourceIpRecordsInfo c) => c.SourceIP == AccessRecord.IpAddress && c.ProductId == AccessRecord.ProductId && c.PageType == 3) == 0 && NewIpLst.Count((SourceIpRecordsInfo c) => c.SourceIP == AccessRecord.IpAddress && c.ProductId == AccessRecord.ProductId && c.PageType == 3) == 0) { SourceIpRecordsInfo sourceIpRecordsInfo = new SourceIpRecordsInfo(); sourceIpRecordsInfo.ProductId = AccessRecord.ProductId; sourceIpRecordsInfo.RecordDate = dtNow.Date; sourceIpRecordsInfo.SourceIP = AccessRecord.IpAddress; sourceIpRecordsInfo.PageType = 3; NewIpLst.Add(sourceIpRecordsInfo); flag2 = false; } if (productDailyAccessStatisticsInfo == null) { productDailyAccessStatisticsInfo = new ProductDailyAccessStatisticsInfo(); productDailyAccessStatisticsInfo.Day = dtNow.Day; productDailyAccessStatisticsInfo.Month = dtNow.Month; productDailyAccessStatisticsInfo.PaymentNum = 0; productDailyAccessStatisticsInfo.ProductId = AccessRecord.ProductId; productDailyAccessStatisticsInfo.PV = 1; productDailyAccessStatisticsInfo.SaleAmount = decimal.Zero; productDailyAccessStatisticsInfo.SaleQuantity = 0; productDailyAccessStatisticsInfo.StatisticalDate = dtNow.Date; if (flag2) { productDailyAccessStatisticsInfo.UV = 0; } else { productDailyAccessStatisticsInfo.UV = 1; } productDailyAccessStatisticsInfo.Year = dtNow.Year; productDailyAccessStatisticsInfo.ActivityType = AccessRecord.ActivityType; ProductStatisticlst.Add(productDailyAccessStatisticsInfo); } else { productDailyAccessStatisticsInfo.PV++; if (!flag) { productDailyAccessStatisticsInfo.UV++; } } }
private static void ManageDailyAcesssRecords(DateTime dtNow, IList <SourceIpRecordsInfo> IpLst, IList <DailyAccessStatisticsInfo> DailyLst, List <SourceIpRecordsInfo> NewIpLst, AccessRecordModel AccessRecord, List <ProductDailyAccessStatisticsInfo> ProductStatisticlst) { TrafficJob.ManageAllPage(dtNow, IpLst, DailyLst, NewIpLst, AccessRecord); bool flag = TrafficJob.IsExiteSourceIp(IpLst, NewIpLst, AccessRecord.IpAddress, AccessRecord.PageType); if (AccessRecord.ProductId > 0 && AccessRecord.PageType == 3) { DailyAccessStatisticsInfo dailyAccessStatisticsInfo = DailyLst.FirstOrDefault((DailyAccessStatisticsInfo c) => c.SourceId == AccessRecord.SourceId && c.PageType == AccessRecord.PageType && c.StoreId == AccessRecord.StoreId); if (dailyAccessStatisticsInfo != null) { dailyAccessStatisticsInfo.PV++; if (!flag) { dailyAccessStatisticsInfo.UV++; } dailyAccessStatisticsInfo.StoreId = AccessRecord.StoreId; } else { dailyAccessStatisticsInfo = new DailyAccessStatisticsInfo(); dailyAccessStatisticsInfo.Day = dtNow.Day; dailyAccessStatisticsInfo.Month = dtNow.Month; dailyAccessStatisticsInfo.PV = 1; dailyAccessStatisticsInfo.StatisticalDate = dtNow.Date; if (!flag) { dailyAccessStatisticsInfo.UV = 1; } dailyAccessStatisticsInfo.Year = dtNow.Year; dailyAccessStatisticsInfo.PageType = AccessRecord.PageType; dailyAccessStatisticsInfo.SourceId = AccessRecord.SourceId; dailyAccessStatisticsInfo.StoreId = AccessRecord.StoreId; DailyLst.Add(dailyAccessStatisticsInfo); } TrafficJob.ManageProductAccess(dtNow, ProductStatisticlst, AccessRecord, IpLst, NewIpLst); } else { if (!flag) { SourceIpRecordsInfo sourceIpRecordsInfo = new SourceIpRecordsInfo(); sourceIpRecordsInfo.ProductId = 0; sourceIpRecordsInfo.RecordDate = dtNow.Date; sourceIpRecordsInfo.SourceIP = AccessRecord.IpAddress; sourceIpRecordsInfo.PageType = AccessRecord.PageType; NewIpLst.Add(sourceIpRecordsInfo); } DailyAccessStatisticsInfo dailyAccessStatisticsInfo2 = DailyLst.FirstOrDefault((DailyAccessStatisticsInfo c) => c.SourceId == AccessRecord.SourceId && c.PageType == AccessRecord.PageType && c.StoreId == AccessRecord.StoreId); if (dailyAccessStatisticsInfo2 != null) { dailyAccessStatisticsInfo2.PV++; if (!flag) { dailyAccessStatisticsInfo2.UV++; } dailyAccessStatisticsInfo2.StoreId = AccessRecord.StoreId; } else { dailyAccessStatisticsInfo2 = new DailyAccessStatisticsInfo(); dailyAccessStatisticsInfo2.Day = dtNow.Day; dailyAccessStatisticsInfo2.Month = dtNow.Month; dailyAccessStatisticsInfo2.PV = 1; dailyAccessStatisticsInfo2.StatisticalDate = dtNow.Date; if (!flag) { dailyAccessStatisticsInfo2.UV = 1; } dailyAccessStatisticsInfo2.Year = dtNow.Year; dailyAccessStatisticsInfo2.PageType = AccessRecord.PageType; dailyAccessStatisticsInfo2.SourceId = AccessRecord.SourceId; dailyAccessStatisticsInfo2.StoreId = AccessRecord.StoreId; DailyLst.Add(dailyAccessStatisticsInfo2); } } }
private static void ManageAllPage(DateTime dtNow, IList <SourceIpRecordsInfo> IpLst, IList <DailyAccessStatisticsInfo> DailyLst, List <SourceIpRecordsInfo> NewIpLst, AccessRecordModel AccessRecord) { bool flag = false; if (!TrafficJob.IsExiteSourceIp(IpLst, NewIpLst, AccessRecord.IpAddress, 4)) { SourceIpRecordsInfo sourceIpRecordsInfo = new SourceIpRecordsInfo(); sourceIpRecordsInfo.ProductId = 0; sourceIpRecordsInfo.RecordDate = dtNow.Date; sourceIpRecordsInfo.SourceIP = AccessRecord.IpAddress; sourceIpRecordsInfo.PageType = 4; NewIpLst.Add(sourceIpRecordsInfo); } else { flag = true; } DailyAccessStatisticsInfo dailyAccessStatisticsInfo = DailyLst.FirstOrDefault((DailyAccessStatisticsInfo c) => c.PageType == 4 && c.SourceId == AccessRecord.SourceId && c.StoreId == AccessRecord.StoreId); if (dailyAccessStatisticsInfo != null) { dailyAccessStatisticsInfo.PV++; if (!flag) { dailyAccessStatisticsInfo.UV++; } } else { dailyAccessStatisticsInfo = new DailyAccessStatisticsInfo(); dailyAccessStatisticsInfo.Day = dtNow.Day; dailyAccessStatisticsInfo.Month = dtNow.Month; dailyAccessStatisticsInfo.PV = 1; dailyAccessStatisticsInfo.StatisticalDate = dtNow.Date; if (!flag) { dailyAccessStatisticsInfo.UV = 1; } dailyAccessStatisticsInfo.Year = dtNow.Year; dailyAccessStatisticsInfo.PageType = 4; dailyAccessStatisticsInfo.SourceId = AccessRecord.SourceId; dailyAccessStatisticsInfo.StoreId = AccessRecord.StoreId; DailyLst.Add(dailyAccessStatisticsInfo); } }