/// <summary> /// 发放兑换码 /// </summary> /// <returns></returns> private async Task <bool> CreateRedemptionCode() { var result = false; var generateCodeResult = new Service.GroupBuying.Models.ResultModel.ResultModel <RedemptionResult>() { IsSuccess = false }; if (string.IsNullOrEmpty(_task.RedemptionCode)) { generateCodeResult = await Proxy.GroupBuyingServiceProxy.GenerateUSRedemptionCode(new GenerateUSRedemptionCodeRequest() { ConfigId = _redemptionCodeConfig, UserId = _task.UserId, Quantity = _redemptionCodeCount }); if (generateCodeResult.IsSuccess) { await _gfDal.UpdateGFBankRedemptionCodeTaskRedemptionCode(_task.PKID, generateCodeResult.Data.RedemptionCode); } } else { var redemptionResult = await Proxy.GroupBuyingServiceProxy.GetRedemptionCodeDetail(_task.RedemptionCode); if (redemptionResult != null) { generateCodeResult.Data = redemptionResult; generateCodeResult.IsSuccess = true; } } if (generateCodeResult.IsSuccess && generateCodeResult.Data?.RedeemMrCodeItem != null) { if (string.Equals(generateCodeResult.Data.Status, "2Redeemed")) { return(true); } var reedemRedemptionRequest = new ReedemRedemptionRequest() { RedemptionCode = generateCodeResult.Data.RedemptionCode, UserId = _task.UserId, RedeemMrCodeItem = generateCodeResult.Data.RedeemMrCodeItem.Select(s => new RedemptionRequestItem() { PKID = s.PKID, IsChoosed = true }) }; var redeemResult = await Proxy.GroupBuyingServiceProxy.RedeemRedemptionCodeByChoice(reedemRedemptionRequest); if (redeemResult.Success) { result = true; } } return(result); }
/// <summary> /// 兑换兑换码 /// </summary> /// <param name="request"></param> /// <returns></returns> public static async Task <RedeemRedemptionCodeResult> RedeemRedemptionCodeByChoice(ReedemRedemptionRequest request) { var result = new RedeemRedemptionCodeResult() { Success = false }; try { using (var client = new RedemptionCodeClient()) { var serviceResult = await client.RedeemRedemptionCodeByChoiceAsync(request); serviceResult.ThrowIfException(true); result = serviceResult.Result; } } catch (Exception ex) { Logger.Error("GroupBuying兑换通用兑换码接口异常", ex); } return(result); }