예제 #1
0
        /// <summary>
        /// 查询日志
        /// </summary>
        /// <param name="model"></param>
        /// <param name="pagingDto"></param>
        /// <returns></returns>
        public PagedResultDto <SysAuditList> GetAuditLogList(RequestParam <dynamic> requestParam)
        {
            var model = requestParam.ToEntityObject <SysAuditInput>();

            DateTime?beg         = null;
            DateTime?end         = null;
            string   serviceName = model.ServiceName == null ? "" : model.ServiceName.Trim();
            string   userName    = model.UserName == null ? "" : model.UserName.Trim();
            string   methodName  = model.MethodName == null ? "" : model.MethodName.Trim();

            if (model.ExecutionTime != null && model.ExecutionTime.Any())
            {
                beg = System.TimeZoneInfo.ConvertTime(model.ExecutionTime[0], System.TimeZoneInfo.Local);
                end = System.TimeZoneInfo.ConvertTime(model.ExecutionTime[1].AddDays(1), System.TimeZoneInfo.Local);
            }
            //此处如果beg与end未设置日期,查询条件将不会添加日期区间
            var data = _sysAuditLogsRepository.GetAuditLogList().Where(w =>
                                                                       (w.UserCode.Contains(userName) || w.UserNameCn.Contains(userName) || userName == "") &&
                                                                       w.ServiceName.Contains(serviceName) &&
                                                                       w.MethodName.Contains(methodName) &&
                                                                       ((w.ExecutionTime >= beg && w.ExecutionTime <= end) || beg == null || end == null)
                                                                       );

            return(data.OrderByDescending(o => o.ExecutionTime).GetPagingData(requestParam.PagingDto));
        }