/// <summary> /// 获取蓄电池券后价 /// </summary> /// <param name="oids"></param> /// <returns></returns> private async Task <List <Service.Member.Models.ProductGetRuleModel> > SelectProductUsefulPromotionAsync(List <Service.Member.Request.ProductModel> products) { var result = new List <Service.Member.Models.ProductGetRuleModel>(); if (products != null && products.Any()) { using (var client = new Service.Member.PromotionClient()) { var batchSize = 200; for (var i = 0; i < Math.Ceiling(products.Count * 1.0 / 200); i++) ////分批查询 每批次200个 { var clientResult = await client.SelectProductUsefulPromotionAsync( new Service.Member.Request.SelectProductUsefulPromotionRequest() { UserId = null, OrderPayMethod = 1, InstallType = 1, EnabledGroupBuy = false, ProductList = products.Skip(i *batchSize).Take(batchSize).ToList() }); if (!clientResult.Success && clientResult.Exception != null) { throw new Exception("调用Member服务SelectProductPromotionGetRuleByOids失败", clientResult.Exception); } result.AddRange(clientResult.Result); } } } return(result); }
/// <summary> /// 根据GetRuleGUIDs获取优惠券信息 /// </summary> /// <param name="getRuleIds"></param> /// <returns></returns> public static IEnumerable <Service.Member.Models.CouponRuleModel> GetCouponRules(IEnumerable <Guid> getRuleIds) { using (var client = new Service.Member.PromotionClient()) { var serviceResult = client.GetCouponRules(getRuleIds); serviceResult.ThrowIfException(true); return(serviceResult.Result); } }