/// <summary>
        /// 发放优惠积分,
        /// </summary>
        /// <param name="pkid"></param>
        /// <returns></returns>
        public async Task <OperationResult <BigBrandRewardPoolModel> > CreatePageage(int pkid)
        {
            var page = new BigBrandRewardPoolModel();

            foreach (var item in this.entity.ItemPools)
            {
                if (item.PartItem?.Where(_ => _.PKID == pkid)?.Count() > 0)
                {
                    page = item.PartItem?.Where(_ => _.PKID == pkid)?.FirstOrDefault();
                }
            }
            if (this.entity.BigBrandType == 2)
            {
                //积分抽奖
                using (var client = new Tuhu.Service.Member.UserIntegralClient())
                {
                    ///规则guid
                    var integralRuleId = new Guid("9A40D2E0-3085-40F1-9CCF-A5AC2A0ABAD2");
                    Service.Member.Models.UserIntegralDetailModel integralDetailModel =
                        new Service.Member.Models.UserIntegralDetailModel();
                    integralDetailModel.TransactionIntegral = this.entity.NeedIntegral.Value;
                    integralDetailModel.TransactionChannel  = "H5";
                    integralDetailModel.Versions            = "1.0.0";
                    integralDetailModel.TransactionRemark   = "大翻盘积分抽奖";
                    integralDetailModel.IntegralRuleID      = integralRuleId;

                    var invokeResult =
                        await client.UserIntegralChangeByUserIDAsync(this.UserId, integralDetailModel, null, 0); //先扣积分

                    invokeResult.ThrowIfException(true);
                    if (invokeResult.Success)
                    {
                        var response = (await CreatePackageInfo(page));
                        return(response.Success
                            ? OperationResult.FromResult(page)
                            : OperationResult.FromError <BigBrandRewardPoolModel>(response.ErrorCode,
                                                                                  response.ErrorMessage));
                    }

                    else
                    {
                        return(null);
                    }
                }
            }
            else
            {
                var response = (await CreatePackageInfo(page));
                return(response.Success
                    ? OperationResult.FromResult(page)
                    : OperationResult.FromError <BigBrandRewardPoolModel>(response.ErrorCode,
                                                                          response.ErrorMessage));
            }
        }
        private async Task <OperationResult <bool> > CreatePackageInfo(BigBrandRewardPoolModel page)
        {
            List <BigBrandRealLogModel> realList = new List <BigBrandRealLogModel>();
            Guid tip = Guid.NewGuid();

            if (page.PartItem == null)
            {
                throw new Exception("奖励礼包为空");
            }

            foreach (var info in page.PartItem)
            {
                if (page.RewardType == 1)
                {
                    //发放优惠券
                    if (this.UserId != Guid.Empty)
                    {
                        using (var client = new Tuhu.Service.Member.PromotionClient())
                        {
                            var result = await client.CreatePromotionNewAsync(new CreatePromotionModel()
                            {
                                Author         = this.UserId.ToString(),
                                GetRuleGUID    = Guid.Parse(info.CouponGuid),
                                UserID         = this.UserId,
                                Channel        = this.Channel + "大翻盘",
                                DeviceID       = this.DeviceId,
                                Operation      = "大翻盘抽奖",
                                Referer        = this.Refer,
                                IssueChannle   = "幸运大翻牌",
                                IssueChannleId = this.entity.HashKeyValue,
                                Issuer         = string.IsNullOrWhiteSpace(this.entity.UpdateUserName) == true ? this.entity.CreateUserName : this.entity.UpdateUserName
                            });

                            result.ThrowIfException(true);
                            if (result.Result.IsSuccess)
                            {
                                page.PromotionCodePKIDs += result.Result?.PromotionId.ToString() + ",";
                            }
                            else
                            {
                                return(OperationResult.FromError <bool>(result.Result.ErrorCode.ToString(), result.Result.ErrorMessage));
                            }
                        }
                    }
                    else if (!string.IsNullOrEmpty(this.UnionId))  //如果用户id为空,根据unionid发券
                    {
                        using (var client = new Tuhu.Service.Member.ThirdPartyPromotionClient())
                        {
                            var result = await client.InsertUserCardInfoAsync(new UserCardInfo()
                            {
                                Channel        = this.Channel + "大翻盘",
                                CreatedTime    = DateTime.Now,
                                DeviceID       = this.DeviceId,
                                EventTime      = DateTime.Now,
                                GetRuleId      = Guid.Parse(info.CouponGuid),
                                IssueChannle   = "幸运大翻盘",
                                UnionId        = this.UnionId,
                                OpenId         = this.OpenId,
                                IssueChannleId = this.entity.HashKeyValue,
                                Issuer         = string.IsNullOrWhiteSpace(this.entity.UpdateUserName) == true
                                    ? this.entity.CreateUserName
                                    : this.entity.UpdateUserName,
                                UpdatedTime = DateTime.Now
                            });

                            if (!result.Success)
                            {
                                return(OperationResult.FromError <bool>(result.ErrorCode.ToString(), result.ErrorMessage));
                            }
                        }
                    }
                }
                else if (page.RewardType == 2)
                {
                    //积分抽奖
                    using (var client = new Tuhu.Service.Member.UserIntegralClient())
                    {
                        ///规则guid
                        var integralRuleId = new Guid("04E70162-9588-4329-BCED-E149E22D7DCE");
                        Service.Member.Models.UserIntegralDetailModel integralDetailModel = new Service.Member.Models.UserIntegralDetailModel();
                        integralDetailModel.TransactionIntegral = info.Integral.Value;
                        integralDetailModel.TransactionChannel  = "H5";
                        integralDetailModel.Versions            = "1.0.0";
                        integralDetailModel.TransactionRemark   = "大翻盘积分抽奖";
                        integralDetailModel.IntegralRuleID      = integralRuleId;
                        var result = await client.UserIntegralChangeByUserIDAsync(this.UserId, integralDetailModel, null, 0);

                        result.ThrowIfException(true);
                    }
                }
                else if (page.RewardType == 4)
                {
                    this.RealTip = tip;
                    BigBrandRealLogModel real = new BigBrandRealLogModel()
                    {
                        CreateDateTime   = DateTime.Now,
                        FKBigBrandID     = this.entity.PKID,
                        FKBigBrandPoolID = page.PKID,
                        Prize            = info.RealProductName,
                        Tip                = tip,
                        UserId             = this.UserId,
                        LastUpdateDateTime = DateTime.Now
                    };
                    realList.Add(real);
                }
                else if (page.RewardType == 5)//抽中的是微信红包,给用户发微信红包
                {
                    //using (var client = new Pay.PayClient())
                    //{
                    //    var sendResponse = await client.Wx_SendRedBagAsync(new Pay.Models.WxSendRedBagRequest()
                    //    {
                    //        OpenId = this.OpenId,
                    //        Channel = this.Channel + "大翻盘",
                    //        ActName = "大翻盘抽奖",
                    //        Remark = this.entity.HashKeyValue,
                    //        Wishing = "新年大吉",
                    //        Money = (info.WxRedBagAmount ?? 0) * 100
                    //    });
                    //    sendResponse.ThrowIfException(true);
                    //}
                    //发红包改为发消息队列,从消息队列里慢慢发
                    TuhuNotification.SendNotification("notification.WxSendRedBag", new Pay.Models.WxSendRedBagRequest()
                    {
                        OpenId  = this.OpenId,
                        Channel = this.Channel + "大翻盘",
                        ActName = "大翻盘抽奖",
                        Remark  = this.entity.HashKeyValue,
                        Wishing = "新年大吉",
                        Money   = (info.WxRedBagAmount ?? 0) * 100
                    });
                }
                else
                {
                    //空奖
                }
            }

            if (page.RewardType == 4)
            {
                //实物奖励
                DalBigBrand.AddBigBrandRealLog(realList);
            }
            if (this.entity.BigBrandType == 1)
            {
                this.TimeCount -= 1;
            }
            if (this.entity.BigBrandType == 3)
            {
                this.TimeCount -= 1;
                await ActivityManager.UpdateLuckyWheelUserlotteryCountAsync(this.UserId, Guid.Empty,
                                                                            this.entity.HashKeyValue);
            }
            return(OperationResult.FromResult(true));
        }