/// <summary> /// 根据pkid获取用户优惠券接口 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <OperationResult <GetCouponByIDResponse> > GetCouponByIDAsync(GetCouponByIDRequest request, CancellationToken cancellationToken) { PromotionCodeEntity entity = await _PromotionCodeRepository.GetCouponByIDAsync(request.pkid, cancellationToken).ConfigureAwait(false); if (entity == null) { return(OperationResult.FromError <GetCouponByIDResponse>("-1", "未获取到信息")); } GetCouponByIDResponse result = ObjectMapper.ConvertTo <PromotionCodeEntity, GetCouponByIDResponse>(entity); result.ReduceCost = (Math.Abs(result.Discount - result.ReduceCost) < 1) ? result.ReduceCost : result.Discount; result.LeastCost = (Math.Abs(result.MinMoney ?? 0 - result.LeastCost) < 1) ? result.LeastCost : (result.MinMoney ?? 0); if (result.GetRuleID > 0) { var getRuleModel = await _CouponGetRuleRepository.GetByPKIDAsync(result.GetRuleID, cancellationToken).ConfigureAwait(false); result.GetRuleGUID = getRuleModel.GetRuleGUID; result.Quantity = getRuleModel.Quantity ?? 0; result.GetQuantity = getRuleModel.GetQuantity; result.GetRuleName = getRuleModel.PromtionName; } if (result.RuleId > 0) { var useRuleModel = await _CouponUseRuleRepository.GetByPKIDAsync(result.RuleId, cancellationToken).ConfigureAwait(false); result.PromotionType = useRuleModel.PromotionType; result.RuleName = useRuleModel.Name; result.RuleDescription = useRuleModel.RuleDescription; result.OrderPayMethod = useRuleModel.OrderPayMethod; result.EnabledGroupBuy = useRuleModel.EnabledGroupBuy ? 1 : 0; result.InstallType = useRuleModel.InstallType.ToString(); } return(OperationResult.FromResult(result)); }
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); }