Beispiel #1
0
        public ActionResult SaveDetail(string strList, int bid)
        {
            JsonHelp json = new JsonHelp()
            {
                Status = "n", Msg = "保存失败"
            };

            List <ShopBigWheelDetail> LevList = new List <ShopBigWheelDetail>();

            strList = strList.Substring(0, strList.Length - 1);
            var tr = strList.Split('&');

            for (int i = 0; i < tr.Length; i++)
            {
                var data = tr[i].Split(',');
                ShopBigWheelDetail entity = DB.ShopBigWheelDetail.FindEntity(Convert.ToInt32(data[0]));
                entity.Name        = data[1];
                entity.Desc        = data[2];
                entity.Sort        = Convert.ToInt32(data[3]);
                entity.Probability = Convert.ToDecimal(data[4]);
                LevList.Add(entity);
            }
            var result = DB.ShopBigWheelDetail.Update(LevList);

            if (result > 0)
            {
                json.Status = "y";
                json.Msg    = "保存成功";
                //添加操作日志
                DB.SysLogs.setAdminLog("Edit", "修改了大转盘奖项");
            }

            return(Json(json));
        }
Beispiel #2
0
 public ActionResult BigDetail(int id)
 {
     //如果没有,则新建四个奖
     if (DB.ShopBigWheelDetail.Any(a => a.BID == id) == false)
     {
         var names = new string[] { "一等奖", "二等奖", "三等奖", "四等奖" };
         List <ShopBigWheelDetail> list = new List <ShopBigWheelDetail>();
         for (int i = 0; i < names.Length; i++)
         {
             var j1 = new ShopBigWheelDetail()
             {
                 BID         = id,
                 Name        = names[i],
                 Probability = 0.1m,
                 Sort        = i + 1
             };
             list.Add(j1);
         }
         DB.ShopBigWheelDetail.Insert(list);
     }
     ViewBag.List = DB.ShopBigWheelDetail.Where(a => a.BID == id).ToList();
     ViewBag.BID  = id;
     return(View());
 }
Beispiel #3
0
        public ActionResult ToWheel(int id)
        {
            //var memberid = User_Shop.GetMemberID();
            try
            {
                var memberid = User_Shop.GetMemberID();
                var member   = DB.Member_Info.FindEntity(memberid);
                #region 验证会员是否有抽奖机会
                // 1.比如 条件 ,每天免费抽3次
                var today = DateTime.Now.Date;
                var count = DB.ShopBigWheelLog.Count(a => a.MemberID == memberid && a.BID == id && a.CreateTime >= today);
                if (count >= 3)
                {
                    return(Error("每天免费3次抽奖机会已用完,不能再次抽奖"));
                }
                #endregion
                #region 抽奖
                var model = new ShopBigWheelLog()
                {
                    BID        = id,
                    CreateTime = DateTime.Now,
                    IP         = WebTools.GetHostAddress(),
                    MemberCode = member.Code,
                    NickName   = member.NickName,
                    MemberID   = member.MemberId,
                };
                var r = DB.ShopBigWheelLog.Insert(model);
                if (r)
                {
                    if (model != null)
                    {
                        #region 抽奖过程
                        var details = DB.ShopBigWheelDetail.Where(a => a.BID == model.BID);
                        ShopBigWheelDetail curResult = null;
                        foreach (var item in details)
                        {
                            if (item.Probability <= 0)
                            {
                                continue;
                            }
                            else if (item.Probability >= 1)
                            {
                                curResult = item;
                                break;
                            }
                            else
                            {
                                var big    = 1000;
                                var n      = item.Probability * big;     //先放大1000倍
                                var random = DB.Random.Next(0, big + 1); //1-1000之间随机一个数,如果这个数<=n ,中奖
                                if (random <= n)
                                {
                                    curResult = item;
                                    break;
                                }
                            }
                        }
                        #endregion
                        #region 奖结果赋于model

                        if (curResult == null)
                        {
                            model.ResultID = null;
                            model.Result   = "未中奖";
                            model.Desc     = "谢谢参与,再接再厉";
                        }
                        else
                        {
                            model.ResultID = curResult.ID;
                            model.Result   = curResult.Name;
                            model.Desc     = curResult.Desc;
                        }
                        var re = DB.ShopBigWheelLog.Update(model);
                        if (re)
                        {
                            switch (model.Result)
                            {
                            case "一等奖":
                                return(Success("3037,恭喜您中" + model.Result));

                            case "二等奖":
                                return(Success("2945,恭喜您中" + model.Result));

                            case "三等奖":
                                return(Success("3215,恭喜您中" + model.Result));

                            case "四等奖":
                                return(Success("3127,恭喜您中" + model.Result));

                            default:
                                break;
                            }
                        }
                        #endregion
                    }
                    //var obj = new{angle = "2994",prize = "谢谢参与,请再接再厉",prizename = "谢谢参与"};
                    return(Success("2994,谢谢参与"));
                }
                else
                {
                    return(Error("抽奖失败"));
                }
                #endregion
            }
            catch (Exception e)
            {
                return(Error(e));
            }
        }