Ejemplo n.º 1
0
        public JsonResult CheckValidateCodeForForgetPwd(string userName, string email, string code)
        {
            var result = new ResponseResult();

            try
            {
                // 验证
                var isValidCode = new UserExtensionService().CheckValidateCodeForForgetPwd(userName, code);

                if (isValidCode)
                {
                    // 重置密码为 123456
                    new UserService().ChangePassword(userName, DBConst.User_Reset_Password);

                    result.Data = DBConst.User_Reset_Password;
                }
                else
                {
                    result.Success = false;
                    result.Message = MessageConst.USER_INVALID_CODE;
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = MessageConst.System_Error;
                _logger.Info(ex);
            }

            return(Json(result));
        }
Ejemplo n.º 2
0
        public JsonResult SaveBets(int pkId, List <Bet> bets)
        {
            var result = new ResponseResult();

            try
            {
                // 验证下注时间是否合法, 超过当前PK的开盘时期则非法, 提示已封盘
                var isOpening = new PKService().IsOpening(pkId);
                if (!isOpening)
                {
                    result.Success = false;
                    result.Message = MessageConst.PK_IS_NOT_OPEN;
                }
                else
                {
                    var userExtendService = new UserExtensionService();

                    // 查验余额
                    var userExtend = userExtendService.GetUserExtension(LoginUser.UserId);
                    var betAmount  = bets.Sum(b => b.Amount);
                    if (betAmount > userExtend.Amount)
                    {
                        result.Success = false;
                        result.Code    = MessageConst.USER_BALANCE_IS_NOT_ENOUGH_CODE;//余额不足
                        result.Data    = userExtend.Amount;
                        result.Message = MessageConst.USER_BALANCE_IS_NOT_ENOUGH + " 当前余额 : " + userExtend.Amount;

                        PKBag.LoginUser.UserExtension.Amount = userExtend.Amount;
                    }
                    else
                    {
                        // 下注
                        new BetService().SaveBets(pkId, LoginUser.UserId, bets, null);

                        // 更新余额
                        userExtendService.MinusAmount(LoginUser.UserId, betAmount);
                        LoginUser.UserExtension.Amount = LoginUser.UserExtension.Amount - betAmount;

                        // 回传给前台, 更新余额
                        result.Data = LoginUser.UserExtension.Amount;
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = MessageConst.System_Error;
                _logger.Info(ex);
            }

            return(Json(result));
        }
Ejemplo n.º 3
0
        public JsonResult SaveUser(int type, User user, RebateType rebateType, decimal?rechargeAmount)
        {
            var result = new ResponseResult();

            try
            {
                rechargeAmount = rechargeAmount ?? 0;

                if (rechargeAmount > 0)
                {
                    //充值为正: 验证上级余额是否够给下家充值
                    var amount = new UserExtensionService().GetUserAmount(user.ParentUserId.Value);

                    if (amount < rechargeAmount)
                    {
                        result.Success = false;
                        result.Message = string.Format("上级余额不足, 余额: {0}", amount);

                        return(Json(result));
                    }
                }
                else if (rechargeAmount < 0)
                {
                    //充值为负: 验证当前用户余额是否够扣除
                    var amount = new UserExtensionService().GetUserAmount(user.UserId);

                    if (amount < Math.Abs(rechargeAmount.Value))
                    {
                        result.Success = false;
                        result.Message = string.Format("余额不足, 余额: {0}", amount);

                        return(Json(result));
                    }
                }

                result = new UserService().SaveUser(type, user, rebateType, rechargeAmount);

                if (rechargeAmount > 0)
                {
                    //给下家充值成功: 扣除上级相应余额
                    new UserExtensionService().MinusAmount(user.ParentUserId.Value, rechargeAmount.Value);
                }
                else if (rechargeAmount < 0)
                {
                    //给下家扣除成功: 增加上级相应余额
                    new UserExtensionService().AddAmount(user.ParentUserId.Value, Math.Abs(rechargeAmount.Value));
                }

                //更新登录用户余额
                var balance = new UserExtensionService().GetBalance(PKBag.LoginUser.UserId);
                PKBag.LoginUser.UserExtension.Amount = balance;
                result.Data = balance;
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = MessageConst.System_Error;
                _logger.Info(ex);
            }

            return(Json(result));
        }
Ejemplo n.º 4
0
        public ResponseResult AddBet(BetModel model)
        {
            var result = new ResponseResult();

            try
            {
                var user = new UserService().GetUserByUserName(model.userName);

                if (user == null)
                {
                    result.Success = false;
                    result.Message = MessageConst.USER_NOT_EXIST;

                    return(result);
                }
                else
                {
                    if (CryptoUtils.Decrypt(user.Password) != model.passWd)
                    {
                        result.Success = false;
                        result.Message = MessageConst.USER_INVALID_USERNAME_OR_PASSWORD;

                        return(result);
                    }
                }

                // 验证下注时间是否合法, 超过当前PK的开盘时期则非法, 提示已封盘
                var isOpening = new PKService().IsOpening(model.issue);
                if (!isOpening)
                {
                    result.Success = false;
                    result.Message = MessageConst.PK_IS_NOT_OPEN;

                    return(result);
                }
                else
                {
                    var userExtendService = new UserExtensionService();

                    // 查验余额
                    var userExtend = userExtendService.GetUserExtension(user.UserId);

                    var betAmount = model.score;
                    if (betAmount > userExtend.Amount)
                    {
                        result.Success = false;
                        result.Code    = MessageConst.USER_BALANCE_IS_NOT_ENOUGH_CODE;//余额不足
                        result.Data    = userExtend.Amount;
                        result.Message = MessageConst.USER_BALANCE_IS_NOT_ENOUGH + " 当前余额 : " + userExtend.Amount;

                        try
                        {
                            PKBag.LoginUser.UserExtension.Amount = userExtend.Amount;
                        }
                        catch { }
                    }
                    else
                    {
                        var bets = new List <Bet> {
                            new Bet {
                                OrderNo = model.orderId,
                                PKId    = model.issue,
                                UserId  = userExtend.UserId,
                                Rank    = model.rank,
                                Num     = model.value,
                                Amount  = model.score
                            }
                        };
                        // 下注
                        new BetService().SaveBets(model.issue, userExtend.UserId, bets, false);

                        // 更新余额
                        userExtendService.MinusAmount(userExtend.UserId, betAmount);
                        try
                        {
                            PKBag.LoginUser.UserExtension.Amount = userExtend.Amount - betAmount;
                        }
                        catch { }
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Info(ex);

                result.Success = false;
                result.Message = MessageConst.System_Error;
            }

            return(result);
        }