예제 #1
0
        public JsonResult YiLunCreateOrder(int gameId, int count, int gameResult)
        {
            int userId = CurrentUser.Id;
            var game   = _db.Games.Find(gameId);

            if (CurrentUser == null)
            {
                return(Json(new { success = false, msg = "未登录" }));
            }
            var data = _db.GameOrders.Where(o => o.UserId == userId && o.GameId == gameId).ToList();

            if (data.Any())
            {
                return(Json(new { success = false, msg = "您已参加过该场比赛竞猜活动,不能重复参加" }));
            }
            var gameOrder = new GameOrders
            {
                GameCount       = count,
                GameId          = gameId,
                UserId          = userId,
                Number          = Utils.GetOrderNumber(),
                GameOrderStatus = (GameOrderStatus)gameResult,
                CreateTime      = DateTime.Now
            };

            _db.GameOrders.Add(gameOrder);
            _db.SaveChanges();
            return(Json(new { success = true }));
        }
예제 #2
0
        public JsonResult CreateOrder(int gameId, int count, int gameResult)
        {
            int fee = 20 * count;

            if (CurrentUser == null)
            {
                return(Json(new { success = false, msg = "未登录" }));
            }
            if (CurrentUser.Account.Vouchers < fee)
            {
                return(Json(new { success = false, msg = "余额不足,微信联系客服mytokenera进行充值" }));
            }
            int userId    = CurrentUser.Id;
            var game      = _db.Games.Find(gameId);
            var gameOrder = new GameOrders
            {
                GameCount       = count,
                GameId          = gameId,
                UserId          = userId,
                Number          = Utils.GetOrderNumber(),
                GameOrderStatus = (GameOrderStatus)gameResult,
                CreateTime      = DateTime.Now
            };

            _db.GameOrders.Add(gameOrder);
            _db.SaveChanges();

            string resultStr = "";

            if (gameOrder.GameOrderStatus == GameOrderStatus.Win)
            {
                resultStr = "主胜";
            }
            else if (gameOrder.GameOrderStatus == GameOrderStatus.Ping)
            {
                resultStr = "平";
            }
            else if (gameOrder.GameOrderStatus == GameOrderStatus.Lose)
            {
                resultStr = "客胜";
            }
            AccountVouchersLog log = new AccountVouchersLog()
            {
                Account     = CurrentUser.Account,
                AccountId   = CurrentUser.Account.Id,
                Before      = CurrentUser.Account.Vouchers,
                After       = CurrentUser.Account.Vouchers - fee,
                CreateTime  = DateTime.Now,
                Description = $"竞猜【{game.ZhuChang}】VS【{game.KeChang}】,{resultStr}{count}注,消耗{fee}积分",
                Vouchers    = fee,
                Number      = gameOrder.Number,
                DetailId    = gameId,
                Type        = AccountVouchersLogType.Pay,
            };

            _db.AccountVouchersLog.Add(log);
            CurrentUser.Account.Vouchers -= fee;
            _db.SaveChanges();
            return(Json(new { success = true }));
        }
예제 #3
0
        public ActionResult InputTestOrders()
        {
            Random r = new Random();

            foreach (var item in _db.Games)
            {
                for (int i = 0; i < 19; i++)
                {
                    var randomUserId = r.Next(1, 50);
                    var count        = 1;
                    var gameResult   = r.Next(0, 3);
                    var user         = _db.Users.Where(u => u.Id == randomUserId).FirstOrDefault();
                    int fee          = 20 * count;

                    int    userId  = user.Id;
                    var    game    = _db.Games.Find(item.Id);
                    int    day     = r.Next(14, 20);
                    int    hour    = r.Next(0, 24);
                    int    minute  = r.Next(0, 60);
                    int    second  = r.Next(0, 60);
                    string tempStr =
                        $"{DateTime.Now:yyyy}-{DateTime.Now:MM}-{day} {hour}:{minute}:{second}";
                    DateTime rTime     = Convert.ToDateTime(tempStr);
                    var      gameOrder = new GameOrders
                    {
                        GameCount       = count,
                        GameId          = item.Id,
                        UserId          = userId,
                        Number          = Utils.GetOrderNumber(),
                        GameOrderStatus = (GameOrderStatus)gameResult,
                        CreateTime      = rTime
                    };
                    _db.GameOrders.Add(gameOrder);

                    string resultStr = "";
                    if (gameOrder.GameOrderStatus == GameOrderStatus.Win)
                    {
                        resultStr = "主胜";
                    }
                    else if (gameOrder.GameOrderStatus == GameOrderStatus.Ping)
                    {
                        resultStr = "平";
                    }
                    else if (gameOrder.GameOrderStatus == GameOrderStatus.Lose)
                    {
                        resultStr = "客胜";
                    }
                    AccountVouchersLog log = new AccountVouchersLog()
                    {
                        Account     = user.Account,
                        AccountId   = user.Account.Id,
                        Before      = user.Account.Vouchers,
                        After       = user.Account.Vouchers - fee,
                        CreateTime  = DateTime.Now,
                        Description = $"竞猜【{game.ZhuChang}】VS【{game.KeChang}】,{resultStr}{count}注,消耗{fee}积分",
                        Vouchers    = fee,
                        Number      = gameOrder.Number,
                        DetailId    = item.Id,
                        Type        = AccountVouchersLogType.Pay,
                    };
                    _db.AccountVouchersLog.Add(log);
                    user.Account.Vouchers -= fee;
                }
            }
            _db.SaveChanges();
            return(Content($"{DateTime.Now}生成订单成功"));
        }