/// <summary> /// 获取短信记录(分页) /// </summary> /// <param name="param"></param> /// <returns></returns> public PagedResults <MonitorLog> GetQuery(MonitorLogsParam param) { Expression <Func <MonitorLog, bool> > queryExp = p => true; if (!string.IsNullOrWhiteSpace(param.Path)) { queryExp = queryExp.And(p => p.Path.Contains(param.Path)); } if (!string.IsNullOrWhiteSpace(param.IP)) { queryExp = queryExp.And(p => p.IP.Contains(param.IP)); } if (param.ExecuteStartTime != default(DateTime)) { queryExp = queryExp.And(p => p.ExecuteStartTime >= param.ExecuteStartTime); } if (param.ExecuteEndTime != default(DateTime)) { if (param.ExecuteEndTime == param.ExecuteStartTime) { param.ExecuteEndTime = param.ExecuteEndTime.AddDays(1).AddMilliseconds(-1); } queryExp = queryExp.And(p => p.ExecuteStartTime <= param.ExecuteEndTime); } //输入参数 if (!string.IsNullOrEmpty(param.RequestParams)) { queryExp = queryExp.And(p => p.ActionParams.Contains(param.RequestParams)); } //输出参数 if (!string.IsNullOrEmpty(param.ResponseParams)) { queryExp = queryExp.And(p => p.Response.Contains(param.ResponseParams)); } //输出Code if (!string.IsNullOrEmpty(param.ResponseCode)) { //Regex reg = new Regex(".*code[:\"'\\s]+([^\"']*)[\"'].*"); //queryExp = queryExp.And(p => reg.Replace(p.Response, "$1")== param.ResponseCode); string code = string.Format("\"code\":\"{0}\"", param.ResponseCode); queryExp = queryExp.And(p => p.Response.Contains(code)); } if (string.IsNullOrEmpty(param.SortName)) { param.SortName = "ExecuteStartTime"; } param.SortList = new Dictionary <string, bool> { { param.SortName, param.IsSortOrderDesc } }; return(QueryPagedResults(queryExp, param)); }
public ExcutedResult GetMonitorLogsDataInfo([FromBody] SeachMonitorLogsModel model) { try { MonitorLogsParam param = new MonitorLogsParam(); if (!String.IsNullOrEmpty(model.UserMobile)) { param.UserMobile = model.UserMobile; } if (!String.IsNullOrEmpty(model.ExecuteStartTime)) { param.ExecuteStartTime = DateTime.Parse(model.ExecuteStartTime); } else { param.ExecuteStartTime = DateTime.MinValue; } if (!String.IsNullOrEmpty(model.ExecuteEndTime)) { param.ExecuteEndTime = DateTime.Parse(model.ExecuteEndTime); } else { param.ExecuteEndTime = DateTime.MaxValue; } if (!String.IsNullOrEmpty(model.IP)) { param.IP = model.IP; } if (!String.IsNullOrEmpty(model.Path)) { param.Path = model.Path; } if (!String.IsNullOrEmpty(model.RequestParams)) { param.RequestParams = model.RequestParams; } if (!String.IsNullOrEmpty(model.ResponseParams)) { param.ResponseParams = model.ResponseParams; } if (!String.IsNullOrEmpty(model.ResponseCode)) { param.ResponseCode = model.ResponseCode; } param.PageIndex = model.PageIndex; param.PageSize = model.PageSize; if (!String.IsNullOrEmpty(model.SortName)) { param.SortName = model.SortName; } param.IsSortOrderDesc = true; var result = _monitorLogRepository.GetQuery(param); return(ExcutedResult.SuccessResult(result)); } catch (BusinessException businessException) { return(ExcutedResult.FailedResult(businessException.ErrorCode, businessException.Message)); } }