public async Task <QueryResult <FileInfo> > Search(FileInfoQueryCondition queryCondition) { var result = await this.Cache.Search(queryCondition); //if (result != null) //{ // if(result.Items!=null && result.Items.Any(x=> x.Expire > 0 && this.IsExpire(x))) //处理过期的文件 // { // result.Items = result.Items.Where(x => x.Expire == 0 || !this.IsExpire(x)).ToList(); // }; //} return(result); }
public async Task <QueryResult <FileInfo> > Search(FileInfoQueryCondition queryCondition) { // 过期逻辑放到这 if (string.IsNullOrEmpty(queryCondition.Category)) { return(new QueryResult <FileInfo>()); } var sortKey = this.GetSortedSetKey(queryCondition.Category); Order order = queryCondition.Sort == SortMode.Descending ? StackExchange.Redis.Order.Descending : StackExchange.Redis.Order.Ascending; if (!queryCondition.IsTimeAvailable) { var total = await this.Database.SortedSetLengthAsync(sortKey); var ids = await this.Database.SortedSetRangeByPagingAsync(sortKey, queryCondition.PageIndex, queryCondition.PageSize, order); return(new QueryResult <FileInfo> { TotalCount = (int)total, Items = await this.LoadFileInfos(ids) }); } else { var start = queryCondition.StartTime.ToTimeStamp(); var end = queryCondition.EndTime.ToTimeStamp(); var total = await this.Database.SortedSetLengthAsync(sortKey, start, end); var ids = this.Database.SortedSetRangeByScorePaging(sortKey, start, end, queryCondition.PageIndex, queryCondition.PageSize, Exclude.None, order ); return(new QueryResult <FileInfo> { TotalCount = (int)total, Items = await this.LoadFileInfos(ids) }); } }
public async Task <IHttpActionResult> Search([FromBody] FileInfoQueryCondition queryCondition) { var result = await this._fileUploadService.Search(queryCondition); return(this.JsonResult(result.ToJsonResultData())); }
public Task <QueryResult <FileInfo> > Search(FileInfoQueryCondition queryCondition) { throw new NotImplementedException(); }