public async Task <IList <LoginLogEntity> > Query(LoginLogQueryModel model)
        {
            var paging = model.Paging();
            var query  = Db.Find();

            query.WhereNotNull(model.AccountId, m => m.AccountId == model.AccountId.Value);
            query.WhereNotNull(model.Platform, m => m.Platform == model.Platform.Value);
            query.WhereNotNull(model.LoginMode, m => m.LoginMode == model.LoginMode.Value);
            query.WhereNotNull(model.StartDate, m => m.LoginTime >= model.StartDate.Value.Date);
            query.WhereNotNull(model.EndDate, m => m.LoginTime < model.EndDate.Value.Date.AddDays(1));

            if (!paging.OrderBy.Any())
            {
                query.OrderByDescending(m => m.Id);
            }

            //导出全部
            if (model.IsExport && model.Export.Mode == ExportMode.All)
            {
                model.ExportCount = await query.CountAsync();

                if (model.IsOutOfExportCountLimit)
                {
                    return(new List <LoginLogEntity>());
                }
                return(await query.ToListAsync());
            }

            var list = await query.PaginationAsync(paging);

            model.TotalCount = paging.TotalCount;
            return(list);
        }
示例#2
0
        public async Task <QueryResultModel <LoginLogEntity> > Query(LoginLogQueryModel model)
        {
            var paging = model.Paging();
            var query  = dbSet.AsQueryable();

            if (!model.LoginName.IsNull())
            {
                query = query.Where(a => a.LoginName.Equals(model.LoginName));
            }
            if (!model.LoginIp.IsNull())
            {
                query = query.Where(a => a.LoginIp.Equals(model.LoginIp));
            }

            if (model.time_min != null)
            {
                query = query.Where(a => model.time_min < a.LoginTime);
            }
            if (model.time_max != null)
            {
                query = query.Where(a => model.time_max > a.LoginTime);
            }

            if (!paging.OrderBy.Any())
            {
                query = query.OrderByDescending(m => m.Id);
            }
            return(await query.PaginationGetResult(paging));
        }
        public async Task <IResultModel <QueryResultModel <LoginLogEntity> > > Query(LoginLogQueryModel model)
        {
            var result = new ResultModel <QueryResultModel <LoginLogEntity> >();

            var data = await _repository.Query(model);

            return(result.Success(data));
        }
示例#4
0
        public async Task <IResultModel> QueryLogin(LoginLogQueryModel model)
        {
            var result = new QueryResultModel <LoginLogEntity>
            {
                Rows  = await _loginLogRepository.Query(model),
                Total = model.TotalCount
            };

            return(ResultModel.Success(result));
        }
示例#5
0
        public async Task <IActionResult> LoginExport(LoginLogQueryModel model)
        {
            var result = await _service.ExportLogin(model);

            if (result.Successful)
            {
                return(ExportExcel(result.Data.Path, result.Data.FileName));
            }

            return(Ok(result));
        }
示例#6
0
        public async Task <IResultModel <ExcelExportResultModel> > ExportLogin(LoginLogQueryModel model)
        {
            var result = new ResultModel <ExcelExportResultModel>();
            var list   = await _loginLogRepository.Query(model);

            if (model.IsOutOfExportCountLimit)
            {
                return(result.Failed($"导出数据不能超过{model.ExportCountLimit}条"));
            }

            return(result.Success(_excelHandler.Export(model.Export, list)));
        }
        public ActionResult GetLogList(LoginLogQueryModel model)
        {
            var result = new StandardJsonResult <ResultModel>();

            result.Try(() =>
            {
                LoginStatus _status;
                if (model.Status == null)
                {
                    _status = LoginStatus.GetAll;
                }
                else
                {
                    _status = (LoginStatus)model.Status;
                }
                if (model.rows < 1)
                {
                    model.rows = 10;
                }
                if (model.page < 1)
                {
                    model.page = 1;
                }
                result.Value      = new ResultModel();
                result.Value.rows = new List <LoginLogShowModel>();
                int amount;
                List <UserLoginLogDto> tempList;
                try
                {
                    tempList = _logService.SearchUserLoginLog(model.BeginTime, model.EndTime, model.UserName ?? "", model.EnterpriseName ?? "", _status, model.page, model.rows, out amount);
                }
                catch (Exception e)
                {
                    //tempList = new List<UserLoginLogDto>();
                    //result.Fail("Service发生异常:" + e.Message ?? "" + ".");
                    throw e;
                }
                result.Value.total = amount;

                foreach (var dto in tempList)
                {
                    var r = (LoginLogShowModel)dto;
                    result.Value.rows.Add(r);
                }
                //result.Value.rows.OrderBy(l => l.Time).Reverse();
            });


            return(result);
        }
示例#8
0
        public async Task <IList <LoginLogEntity> > Query(LoginLogQueryModel model)
        {
            var conditions = await _filter.GetConditions <LoginLogEntity, LoginLogQueryModel>(model);

            var query = _dbContext.Db.Queryable <LoginLogEntity>()
                        .Where(conditions)
                        .OrderBy(model.OrderFileds);

            RefAsync <int> totalCount = 0;
            var            data       = await query.ToPageListAsync(model.PageIndex, model.PageSize, totalCount);

            model.TotalCount = totalCount;

            return(data);
        }
示例#9
0
        public PagingResultModel <LoginLogDetailResultModel> GetLoginLogDetail(LoginLogQueryModel queryModel)
        {
            var logs = from detail in _logDetailRepository.Get(false)
                       .AndIfHaveValue(queryModel.Account, l => l.OperatorAccount.Contains(queryModel.Account))
                       orderby detail.OperateAt descending
                       select new LoginLogDetailResultModel
            {
                OperatorAccount = detail.OperatorAccount,
                OperateAt       = detail.OperateAt,
                IpAddress       = detail.IpAddress,
                IsSuccess       = detail.IsSuccess
            };

            return(new PagingResultModel <LoginLogDetailResultModel>
            {
                Count = logs.Count(),
                Data = logs.Skip((queryModel.Page - 1) * queryModel.Size).Take(queryModel.Size).ToList()
            });
        }
示例#10
0
        public IActionResult GetLoginLog([FromQuery] LoginLogQueryModel queryModel)
        {
            var resultModel = _loginLogService.GetLoginLogDetail(queryModel);

            return(Ok(resultModel));
        }
示例#11
0
        //[DisableAuditing]
        public async Task <QueryResultModel <LoginLogEntity> > Query(LoginLogQueryModel model)
        {
            var result = await _service.Query(model);

            return(result.Data);
        }
 public Task <IResultModel> Query([FromQuery] LoginLogQueryModel model)
 {
     return(_service.Query(model));
 }