Example #1
0
        /// <summary>
        /// 获取用户资料(Redis内读取,不存在则读取数据库)
        /// </summary>
        /// <param name="siteId"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        protected User GetUserInfo(int siteId, int userId)
        {
            User user = UserCaching.Instance().GetUserInfo(userId);

            if (user == null)
            {
                user = this.ReadDB.ReadInfo <User>(t => t.SiteID == siteId && t.ID == userId);
                if (user != null)
                {
                    UserCaching.Instance().SaveUserInfo(user);
                }
            }
            return(user);
        }
Example #2
0
        /// <summary>
        /// 获取会员在游戏中的信息(缓存中读取)
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="gameId"></param>
        /// <returns></returns>
        public UserGame GetUserGameInfo(int userId, int gameId)
        {
            UserGame userGame = UserCaching.Instance().GetUserGameInfo(userId, gameId);

            if (userGame == null)
            {
                userGame = this.ReadDB.ReadInfo <UserGame>(t => t.GameID == gameId && t.UserID == userId);
                if (userGame != null)
                {
                    UserCaching.Instance().SaveUserGameInfo(userGame);
                }
            }
            return(userGame);
        }
Example #3
0
        /// <summary>
        /// 根据用户名获取用户ID(缓存中读取)
        /// </summary>
        /// <param name="siteId"></param>
        /// <param name="userName"></param>
        /// <returns></returns>
        public int GetUserID(int siteId, string userName)
        {
            int userId = UserCaching.Instance().GetUserID(siteId, userName);

            if (userId == 0)
            {
                userId = this.ReadDB.ReadInfo <User, int>(t => t.ID, t => t.SiteID == siteId && t.UserName == userName);
                if (userId != 0)
                {
                    UserCaching.Instance().SaveUserID(siteId, userId, userName);
                }
            }
            return(userId);
        }
Example #4
0
        /// <summary>
        /// 获取用户名 (缓存中读取)
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public string GetUserName(int userId)
        {
            string userName = UserCaching.Instance().GetUserName(userId);

            if (string.IsNullOrEmpty(userName))
            {
                User user = this.ReadDB.ReadInfo <User>(t => t.ID == userId);
                if (user != null)
                {
                    userName = user.UserName;
                    UserCaching.Instance().SaveUserID(user.SiteID, user.ID, user.UserName);
                }
            }
            return(userName);
        }
Example #5
0
        /// <summary>
        /// 根据用户名获取用户的ID
        /// </summary>
        /// <param name="siteId"></param>
        /// <param name="userName"></param>
        /// <returns></returns>
        public int GetUserID(int siteId, string userName)
        {
            if (siteId == 0 || string.IsNullOrEmpty(userName))
            {
                return(0);
            }
            int userId = UserCaching.Instance().GetUserID(siteId, userName);

            if (userId == 0)
            {
                userId = this.ReadDB.ExecuteScalar <User, int>(t => t.ID, t => t.SiteID == siteId && t.UserName == userName);
                if (userId != 0)
                {
                    UserCaching.Instance().SaveUserID(siteId, userId, userName);
                }
            }
            return(userId);
        }
Example #6
0
        /// <summary>
        /// 根据用户ID得到所在的商户ID(缓存读取)
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public int GetSiteID(int userId)
        {
            if (userId == 0)
            {
                return(0);
            }
            int siteId = UserCaching.Instance().GetSiteID(userId);

            if (siteId != 0)
            {
                siteId = this.ReadDB.ReadInfo <User, int>(t => t.SiteID, t => t.ID == userId);
                if (siteId != 0)
                {
                    UserCaching.Instance().SaveSiteID(userId, siteId);
                }
            }
            return(siteId);
        }
Example #7
0
        /// <summary>
        /// 通过游戏账户名获取用户ID(同步返回商户ID)
        /// </summary>
        /// <param name="gameId"></param>
        /// <param name="playerName"></param>
        /// <param name="siteId"></param>
        /// <returns></returns>
        public int GetGameUserID(int gameId, string playerName, out int siteId)
        {
            int userId = UserCaching.Instance().GetUserID(gameId, playerName);

            if (userId == 0)
            {
                userId = this.ReadDB.ReadInfo <UserGame, int>(t => t.UserID, t => t.GameID == gameId && t.Account == playerName);
                if (userId != 0)
                {
                    UserCaching.Instance().SaveGameUserID(gameId, playerName, userId);
                }
            }
            if (userId == 0)
            {
                siteId = 0;
            }
            else
            {
                siteId = this.GetSiteID(userId);
            }

            return(userId);
        }
Example #8
0
 /// <summary>
 /// 清除用户缓存(Redis)
 /// </summary>
 /// <param name="userId"></param>
 protected void RemoveCache(int userId)
 {
     UserCaching.Instance().RemoveCache(userId);
 }