Ejemplo n.º 1
0
        /// <summary>
        ///一键登录
        /// </summary>
        /// <returns></returns>
        public JsonResult <Result <dynamic> > GetQuickLogin(string openId = "", string nickName = "", string headImage = "", long?spreadId = null)
        {
            var    wxuserinfo = ApiHelper.GetAppletUserInfo(Request);
            string unionid    = string.Empty;

            if (wxuserinfo != null)
            {
                unionid = wxuserinfo.unionId;
            }
            string unionopenid = "";

            if (!string.IsNullOrEmpty(openId))
            {
                headImage = System.Web.HttpUtility.UrlDecode(headImage);
                nickName  = System.Web.HttpUtility.UrlDecode(nickName);
                string username = DateTime.Now.ToString("yyMMddHHmmssffffff");
                var    member   = ServiceProvider.Instance <IMemberService> .Create.QuickRegister(username, string.Empty, nickName, SmallProgServiceProvider, openId, (int)PlatformType.WeiXinSmallProg, unionid, unionopenid : unionopenid, headImage : headImage, spreadId : spreadId);

                if (member != null)
                {
                    //TODO:ZJT  在用户注册的时候,检查此用户是否存在OpenId是否存在红包,存在则添加到用户预存款里
                    BonusApplication.DepositToRegister(member.Id);
                    //用户注册的时候,检查是否开启注册领取优惠券活动,存在自动添加到用户预存款里
                    if (member.IsNewAccount)
                    {
                        CouponApplication.RegisterSendCoupon(member.Id, member.UserName);
                    }
                }
                return(GetMember(member, openId));
            }
            return(Json(ErrorResult <dynamic>(string.Empty)));
        }
Ejemplo n.º 2
0
        public JsonResult Skip(string oauthId, string openId, string nickName, string unionid = null, string unionopenid = null)
        {
            string username   = DateTime.Now.ToString("yyMMddHHmmssffffff");
            var    memberInfo = _iMemberService.QuickRegister(username, string.Empty, nickName, oauthId, openId, (int)PlatformType.PC, unionid, unionopenid: unionopenid);

            if (memberInfo != null)
            {
                //TODO:ZJT  在用户注册的时候,检查此用户是否存在OpenId是否存在红包,存在则添加到用户预存款里
                BonusApplication.DepositToRegister(memberInfo.Id);
                //用户注册的时候,检查是否开启注册领取优惠券活动,存在自动添加到用户预存款里
                if (memberInfo.IsNewAccount)
                {
                    CouponApplication.RegisterSendCoupon(memberInfo.Id, memberInfo.UserName);
                }
            }
            base.SetUserLoginCookie(memberInfo.Id);
            Application.MemberApplication.UpdateLastLoginDate(memberInfo.Id);

            return(Json(new { success = true }));
        }
Ejemplo n.º 3
0
        public WeiActivityWinModel AddWinInfo(WeiActivityModel activityModel)
        {
            activityWinModel = new WeiActivityWinModel();
            Random r   = new Random();
            int    num = r.Next(1, 101);//获取随机数做为中奖信息

            activityWinModel.activityId = activityModel.Id;
            activityWinModel.addDate    = DateTime.Now;
            activityWinModel.userId     = curUserId;

            activityWinModel.isWin     = false;
            activityWinModel.awardId   = 0;
            activityWinModel.awardName = "未中奖";
            activityWinModel.awardType = WeiActivityAwardType.Integral;
            // var activityModel=WeiActivityWinApplication.GetWinModel()
            foreach (var item in activityModel.awards)
            {
                //获取的随机数在该奖等区域类
                if (num <= GetCount(activityModel.Id, item.Id))
                {
                    if (item.awardType == WeiActivityAwardType.Integral)
                    {
                        activityWinModel.awardName = item.integral.ToString();
                        activityWinModel.awardId   = item.Id;
                        activityWinModel.awardType = item.awardType;
                        activityWinModel.isWin     = true;
                        return(activityWinModel);
                    }
                    else if (item.awardType == WeiActivityAwardType.Bonus)
                    {
                        Entities.BonusInfo bonusInfo = _iBonusService.Get(item.bonusId);
                        string             Surplus   = _iBonusService.GetBonusSurplus(item.bonusId);
                        if (bonusInfo.IsInvalid)//红包已经失效 返回 未中奖
                        {
                            break;
                        }
                        if (Convert.ToInt32(Surplus) <= 0)//当前红包已经领取完 设置未中奖
                        {
                            break;
                        }

                        //获取红包名称

                        activityWinModel.awardName = BonusApplication.GetFirstReceivePriceByBonus(bonusInfo.Id) + "元红包";
                        activityWinModel.awardId   = item.Id;
                        activityWinModel.awardType = item.awardType;
                        activityWinModel.bonusId   = bonusInfo.Id;
                        activityWinModel.isWin     = true;
                        return(activityWinModel);
                    }
                    else if (item.awardType == WeiActivityAwardType.Coupon)
                    {
                        CouponModel couponModel = CouponApplication.Get(item.couponId);
                        int         perMax      = WeiActivityApplication.GetCouPonMax(activityWinModel.userId, activityWinModel.activityId, item.Id);

                        if (couponModel == null)
                        {
                            break;
                        }
                        if (couponModel.Num <= 0)//无库存 返回 未中奖
                        {
                            break;
                        }
                        if (couponModel.EndTime < DateTime.Now)//优惠券失效
                        {
                            break;
                        }
                        if (couponModel.perMax != 0 && perMax >= couponModel.perMax)
                        {
                            break;
                        }

                        //获取优惠券名称
                        string awardName = couponModel.CouponName;
                        if (couponModel.ShopName != "")
                        {
                            awardName = awardName + "(" + couponModel.ShopName + ")";
                        }
                        if (couponModel.OrderAmount != "")
                        {
                            activityWinModel.amount = "(" + couponModel.OrderAmount + ")";
                        }
                        activityWinModel.awardName = awardName;
                        activityWinModel.awardId   = item.Id;
                        activityWinModel.awardType = item.awardType;
                        activityWinModel.couponId  = couponModel.Id;
                        activityWinModel.isWin     = true;
                        return(activityWinModel);
                    }
                }
            }
            return(activityWinModel);
        }