Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        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));
            }
        }