public async ValueTask <CouponGetRuleModel> GetByPKIDAsync(int PKID, CancellationToken cancellationToken) { CouponGetRuleEntity entity = await _ICouponGetRuleRepository.GetByPKIDAsync(PKID, cancellationToken).ConfigureAwait(false); CouponGetRuleModel model = ObjectMapper.ConvertTo <CouponGetRuleEntity, CouponGetRuleModel>(entity); return(model); }
/// <summary> /// 根据guid获取优惠券领取规则 【加缓存】 /// </summary> /// <param name="GetRuleGUID"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <CouponGetRuleModel> GetCouponGetRuleCahceByGuidAsync(Guid GetRuleGUID, CancellationToken cancellationToken) { CouponGetRuleEntity entity = new CouponGetRuleEntity(); using (var client = _ICacheHelper.CreateCacheClient(GlobalConstant.RedisClient)) { var result = await client.GetOrSetAsync(string.Format(GlobalConstant.RedisKeyForGetRule, GetRuleGUID), async() => await _ICouponGetRuleRepository.GetCouponGetRuleByGuidAsync(GetRuleGUID, cancellationToken).ConfigureAwait(false), GlobalConstant.RedisTTLForGetRule).ConfigureAwait(false); if (result.Success) { entity = result.Value; } else { entity = await _ICouponGetRuleRepository.GetCouponGetRuleByGuidAsync(GetRuleGUID, cancellationToken).ConfigureAwait(false); } } CouponGetRuleModel model = ObjectMapper.ConvertTo <CouponGetRuleEntity, CouponGetRuleModel>(entity); return(model); }