public int CountTotalRows(string region, string userName, DateTime start, DateTime end, int status) { MonitorDataRepository mr = new MonitorDataRepository(); int result = mr.GetRowCount(region, userName, start, end, status); return result; }
public List<GroupByRegionModel> GroupByRegion(string region, DateTime start, DateTime end, int pageIndex = 0, int pageSize = 20) { List<GroupByRegionModel> result = new List<GroupByRegionModel>(); if (region != null) region = region.Trim(); MonitorDataRepository mr = new MonitorDataRepository(); var dbResult = mr.GroupByRegion(region, start, end); if (dbResult != null && dbResult.Count > 0) { GroupByRegionModel tmp = new GroupByRegionModel(); foreach (var item in dbResult) { if (item.Region != tmp.Region) { tmp = new GroupByRegionModel(); tmp.Region = item.Region; result.Add(tmp); } if (item.Status == 1) { tmp.StatusNormalCount = item.Count; } else if (item.Status == 2) { tmp.StatusUnknownCount = item.Count; } else if (item.Status == 3) { tmp.StatusExceptionCount = item.Count; } } } result = result.OrderByDescending(r => r.Total).ToList(); result = result.Skip(pageSize * pageIndex).Take(pageSize).ToList(); return result; }
public List<ClientIPModel> Query(string selectedRegion, string userName, DateTime start, DateTime end, int pageIndex = 1, int pageSize = 20, int status = -1) { List<ClientIPModel> result = new List<ClientIPModel>(); MonitorDataRepository mr = new MonitorDataRepository(); var dbResult = mr.GetMonitorDatas(selectedRegion, userName, start, end, pageIndex, pageSize, status); foreach (var t in dbResult) { ClientIPModel clientIP = new ClientIPModel { ID = t.ID, ClientIP = t.ClientPublicIP, ClientPrivateIP = t.ClientPrivateIP, ClientProvince = t.ClientProvince, ClientCity = t.ClientCity, ClientDistinct = t.ClientDistinct, ClientAddress = t.ClientDetailAddr, ClientRecordor = t.ClientRecordor, ExpectedISP = t.ExpectedOperator, ExpectedISPProvince = t.ExpectedOperatorProvince, ExpectedISPCity = t.ExpectedOperatorCity, RealISP = t.RealOperator, RealISPProvince = t.RealOperatorProvince, RealISPCity = t.RealOperatorCity, CreatedDate = t.CreatedDate, UserName = t.UserName, Status = (IPMonitorStatus)t.Status }; result.Add(clientIP); } return result; }
public MonitorDataResponse MoniterServerSubmitToCenterrServer([FromBody]MonitorDataRequest monitorData) { if (monitorData == null) { throw new BadRequestException(); } // 查询客户端IP所属的运营商 IPRepository ipRep = new IPRepository(); var ipEntity = ipRep.RetriveIP(monitorData.ClientPublicIP); string realOperator = ipEntity == null ? null : ipEntity.IPBelongTo; string realOperatorProvince = null; string realOperatorCity = null; if (ipEntity != null) { realOperatorProvince = ipEntity.Province; realOperatorCity = ipEntity.City; } bool isSameProvice = false; if(String.IsNullOrWhiteSpace(realOperatorProvince) && String.IsNullOrWhiteSpace(monitorData.ExpectedOperatorProvice)) { isSameProvice = true; } else if(monitorData.ExpectedOperatorProvice.Equals(realOperatorProvince)) { isSameProvice = true; } var status = IPMonitorStatus.Pending; if (!String.IsNullOrEmpty(realOperator)) { realOperator = realOperator.Trim(); } if (String.IsNullOrEmpty(realOperator)) { if (ipEntity != null) { realOperator = ipEntity.IPBelongTo = ipEntity.Country; } status = IPMonitorStatus.Unknown; } else if (isSameProvice && isISPMatched(monitorData.ExpectedOperator,realOperator)) { status = IPMonitorStatus.Normal; } else { status = IPMonitorStatus.Exception; } ClientIP clientIP = new ClientIP { ClientProvince = monitorData.ClientProvince, ClientCity = monitorData.ClientCity, ClientDistinct = monitorData.ClientDistinct, ClientDetailAddr = monitorData.ClientDetailAddress, ClientRecordor = monitorData.ClientRecordor, ClientPublicIP = monitorData.ClientPublicIP, ClientPrivateIP = monitorData.ClientPrivateIP, SubmitFromServerIP = Context.ClientIP, Status = (int)status, ExpectedOperatorProvince = monitorData.ExpectedOperatorProvice, ExpectedOperatorCity = monitorData.ExpectedOperatorCity, ExpectedOperator = monitorData.ExpectedOperator, RealOperator = realOperator, RealOperatorProvince = realOperatorProvince, RealOperatorCity = realOperatorCity, UserName = Context.LoginName }; MonitorDataRepository mdr = new MonitorDataRepository(); clientIP = mdr.Add(clientIP); MonitorDataResponse response = new MonitorDataResponse(); response.UID = clientIP.ID; response.RealOperator = realOperator; response.RealOperatorProvince = realOperatorProvince; response.RealOperatorCity = realOperatorCity; return response; }