/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <summary> /// 清除用户缓存(Redis) /// </summary> /// <param name="userId"></param> protected void RemoveCache(int userId) { UserCaching.Instance().RemoveCache(userId); }