private int Inint(ref int subCount)
        {
            subCount = 0;
            //验证当前用户当天充值
            DateTime startTime = Convert.ToDateTime(DateTime.Now.AddDays(-1).ToString("yyyy/MM/dd") + " 03:00:00");
            DateTime endTime   = Convert.ToDateTime(DateTime.Now.AddDays(1).ToString("yyyy/MM/dd") + " 03:00:00");
            ISysUserBalanceDetailService detailsService = IoC.Resolve <ISysUserBalanceDetailService>();

            var totalAmt  = 0m;
            var sumResult = detailsService.Where(c => c.TradeType == BasicModel.TradeType.用户充值 && c.OccDate >= startTime && c.OccDate <= endTime && c.UserId == CookUserInfo.Id).OrderByDescending(x => x.OccDate).FirstOrDefault();

            if (sumResult == null)
            {
                return(0);
            }
            totalAmt = sumResult.TradeAmt;

            decimal splitValue = 200;//RechargeConfig.LotteryMonery();

            if (splitValue < 0 || totalAmt < splitValue)
            {
                return(0);
            }

            AllCount = 1;// (int)(totalAmt / splitValue);
            //获取大转盘剩余次数
            ILargeRotaryService mLargeRotaryService = IoC.Resolve <ILargeRotaryService>();
            var item = mLargeRotaryService.GetNowItem(CookUserInfo.Id);

            if (item == null)
            {
                item = new BasicModel.LargeRotary()
                {
                    ALlCount = AllCount,
                    SubCount = 0,
                    Uid      = CookUserInfo.Id
                };
                //插入一条记录
                mLargeRotaryService.Create(item);
                mLargeRotaryService.Save();
            }
            else
            {
                //获取当前,修改当前值
                if (item.ALlCount != AllCount)
                {
                    item.ALlCount = AllCount;
                }
                mLargeRotaryService.Save();
            }
            subCount = AllCount - item.SubCount;
            return(AllCount);
        }
        //开始抽奖
        private string ExRotate()
        {
            string result = "-1";
            ILargeRotaryService mLargeRotaryService = IoC.Resolve <ILargeRotaryService>();
            var item      = mLargeRotaryService.GetNowItem(CookUserInfo.Id);
            int lastCount = 0;

            if (item == null ||
                item.SubCount >= item.ALlCount)
            {
                result = "-1,0,0";//已经没有抽奖的次数了
            }
            else
            {
                //插入一次
                item.SubCount += 1;
                mLargeRotaryService.Save();//保存
                lastCount = item.ALlCount - item.SubCount;
                //抽奖结果
                var iawards = Awards();
                if (iawards.Name != None.ToString())
                {
                    var monery = GetMonery(iawards.Name);
                    //存入账号

                    var details = new BasicModel.SysUserBalanceDetail()
                    {
                        RelevanceNo = CookUserInfo.Id.ToString(),
                        SerialNo    = "q" + Utils.BuilderNum(),
                        Status      = 0,
                        TradeAmt    = monery,
                        TradeType   = BasicModel.TradeType.幸运大转盘,
                        UserId      = CookUserInfo.Id
                    };

                    //奖励金额
                    ISysUserBalanceService userBalanceServices = IoC.Resolve <ISysUserBalanceService>();

                    if (userBalanceServices.UpdateUserBalance(details, monery) > 0)
                    {
                    }
                    result = "1," + iawards.Name + "," + lastCount;
                }
                else
                {
                    result = "0,0," + lastCount;//未中奖
                }
            }
            return(result + "," + lastCount);
        }
示例#3
0
        protected void btnMe_Click(object sender, EventArgs e)
        {
            if (this.Master != null)
            {
                UserAmt = (this.Master as lotterySite).GetUserBalance();
            }

            if (!Utils.HasAvtivityDateTimes())
            {
                ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('活动时间为每日07:30:00 – 次日凌晨02:00:00!');</script>");
                return;
            }
            //验证当天是否领取过礼包
            int occDay = Utils.GetActivityOccDay();
            ILargeRotaryService mLargeRotaryService = IoC.Resolve <ILargeRotaryService>();
            var fst = mLargeRotaryService.Where(x => x.ALlCount == occDay && x.Uid == CookUserInfo.Id).FirstOrDefault();

            if (fst != null)
            {
                Alert("今天已经领取过礼包了,明天再来吧!");
                return;
            }
            DateTime beginDate = Utils.GetNowBeginDate().AddDays(-1);
            DateTime endDate   = beginDate.AddDays(1);

            //获取用户当日有效投注量
            IBetDetailService detailService = IoC.Resolve <IBetDetailService>();
            var monery = detailService.GetUserBettMonery(this.CookUserInfo.Id, beginDate, endDate);

            if (monery <= 0)
            {
                Alert("没有可领取的礼包,投注未达标!");
                return;
            }
            var dm = GetMonery(monery);

            if (dm <= 0)
            {
                Alert("没有可领取的礼包,投注未达标!");
                return;
            }
            //插入账变
            //存入账号
            var details = new BasicModel.SysUserBalanceDetail()
            {
                RelevanceNo = CookUserInfo.Id.ToString(),
                SerialNo    = "q" + Utils.BuilderNum(),
                Status      = 0,
                TradeAmt    = dm,
                TradeType   = BasicModel.TradeType.投注送礼包,
                UserId      = CookUserInfo.Id
            };

            //奖励金额
            ISysUserBalanceService userBalanceServices = IoC.Resolve <ISysUserBalanceService>();

            if (userBalanceServices.UpdateUserBalance(details, dm) > 0)
            {
                string message = "领取礼包成功,领取金额为:" + dm + "<br/>";
                message += "昨日投注金额" + string.Format("{0:N2}", monery) + "<br>";
                message += "感谢你的参与,祝你游戏愉快!";
                ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert(\"" + message + "\",1,function(){refchangemonery();});</script>");

                //添加领取记录
                mLargeRotaryService.Create(new BasicModel.LargeRotary()
                {
                    Uid      = CookUserInfo.Id,
                    ALlCount = Utils.GetActivityOccDay()
                });
                mLargeRotaryService.Save();
                isautoRefbanner = false;
            }
            else
            {
                Alert("礼包领取失败,请稍后再试!");
            }
        }