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); }
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("礼包领取失败,请稍后再试!"); } }