/// <summary> /// 根据图集参数查询图片列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task<ServiceResult<IEnumerable<ImageDto>>> QueryImagesAsync(QueryImagesInput input) { return await _galleryCacheService.QueryImagesAsync(input, async () => { var result = new ServiceResult<IEnumerable<ImageDto>>(); var albums = await _albumRepository.FindAsync(input.Id); if (albums.IsNull()) { result.IsFailed(ResponseText.WHAT_NOT_EXIST.FormatWith("Id", input.Id)); return result; } if (albums.Password != (input.Password ?? "")) { result.IsFailed(ResponseText.PASSWORD_WRONG); return result; } var images = _imageRepository.Where(x => x.AlbumId == albums.Id) .OrderByDescending(x => x.CreateTime) .ToList(); var list = ObjectMapper.Map<IEnumerable<Image>, IEnumerable<ImageDto>>(images); result.IsSuccess(list); return result; }); }
/// <summary> /// 根据图集参数查询图片列表 /// </summary> /// <param name="input"></param> /// <param name="factory"></param> /// <returns></returns> public async Task <ServiceResult <IEnumerable <ImageDto> > > QueryImagesAsync(QueryImagesInput input, Func <Task <ServiceResult <IEnumerable <ImageDto> > > > factory) { return(await Cache.GetOrAddAsync(KEY_QueryImages.FormatWith((input.Id + input.Password).EncodeMd5String()), factory, CacheStrategy.ONE_DAY)); }
public async Task <ServiceResult <IEnumerable <ImageDto> > > QueryImagesAsync([FromQuery] QueryImagesInput input) { return(await _galleryService.QueryImagesAsync(input)); }