/// <summary> /// 获取优惠券 任务列表 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <List <PromotionTaskModel> > GetPromotionTaskListAsync(GetPromotionTaskListRequest request, CancellationToken cancellationToken) { var entities = await promotionTaskRepository.GetPromotionTaskListAsync(request, cancellationToken).ConfigureAwait(false); var result = ObjectMapper.ConvertTo <PromotionTaskEntity, PromotionTaskModel>(entities).ToList(); return(result); }
public async ValueTask <List <PromotionTaskModel> > GetPromotionTaskListCacheAsync(GetPromotionTaskListRequest request, CancellationToken cancellationToken) { List <PromotionTaskModel> data = new List <PromotionTaskModel>(); using (var client = cacheHelper.CreateCacheClient(GlobalConstant.RedisClient)) { var result = await client.GetOrSetAsync( GlobalConstant.RedisKeyForPromotionTaskList, async() => (await GetPromotionTaskListAsync(request, cancellationToken).ConfigureAwait(false)), GlobalConstant.RedisTTLForPromotionTaskList).ConfigureAwait(false); if (result.Success) { data = result.Value; } else { data = await GetPromotionTaskListAsync(request, cancellationToken).ConfigureAwait(false); } } return(data); }
/// <summary> /// 获取优惠券 任务列表 - 缓存 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <List <PromotionTaskModel> > GetPromotionTaskListMemoryCacheAsync(GetPromotionTaskListRequest request, CancellationToken cancellationToken) { var result = await tuhuMemoryCache.GetOrSetWithLockAsync(GlobalConstant.RedisKeyForPromotionTaskList, async() => await GetPromotionTaskListCacheAsync(request, cancellationToken).ConfigureAwait(false), TimeSpan.FromMinutes(5)).ConfigureAwait(false); return(result); }