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); }