/// <summary> /// UserAchievementCache /// </summary> public static void DoUserAchievementCache() { var achieveSet = new PersonalCacheStruct <UserAchievementCache>(); TraceLog.WriteInfo("Do UserAchievementCache table start..."); int count = 0; try { var dbProvider = DbConnectionProvider.CreateDbProvider(DbConfig.MERGE); string sql = "SELECT UserID,AchievementList FROM UserAchievementCache"; using (IDataReader reader = dbProvider.ExecuteReader(CommandType.Text, sql)) { while (reader.Read()) { UserAchievementCache achievecache = new UserAchievementCache() { UserID = reader["UserID"].ToInt() }; var bytes = reader.GetValue(1) as byte[]; achievecache.AchievementList = (CacheList <AchievementData>)ProtoBufUtils.Deserialize(bytes, typeof(CacheList <AchievementData>)); if (achieveSet.FindKey(achievecache.UserID.ToString()) == null) { //achieveSet.Add(achievecache); count++; } } //achieveSet.Update(); } } catch (Exception ex) { TraceLog.WriteError("Do UserAchievementCache table error Exception: {0} .", ex); return; } TraceLog.WriteInfo("Do UserAchievementCache table successful : {0} .", count); }
public static UserBasisCache CreateRole(int _UserId, string _Sid, int _ServerID, string _Pid, string _RetailID, string _UserName, int _profession, string _HeadID) { // Basis初始化 UserBasisCache basis = new UserBasisCache(_UserId); basis.IsRefreshing = true; basis.SessionID = _Sid; basis.ServerID = _ServerID; basis.Pid = _Pid; basis.RetailID = _RetailID; basis.NickName = _UserName; basis.UserLv = (short)ConfigEnvSet.GetInt("User.Level"); basis.RewardsDiamond = ConfigEnvSet.GetInt("User.InitDiamond"); //bisis.Vit = DataHelper.InitVit; basis.VipLv = ConfigEnvSet.GetInt("User.VipLv"); basis.Profession = _profession; basis.AvatarUrl = _HeadID; basis.UserStatus = UserStatus.MainUi; basis.LoginDate = DateTime.Now; basis.CreateDate = DateTime.Now; basis.OfflineDate = DateTime.Now; basis.Gold = ConfigEnvSet.GetString("User.InitGold"); basis.OfflineEarnings = "0"; var cacheSet = new PersonalCacheStruct <UserBasisCache>(); cacheSet.Add(basis); cacheSet.Update(); // 属性初始化 UserAttributeCache attcache = new UserAttributeCache(); attcache.UserID = basis.UserID; var attributeSet = new PersonalCacheStruct <UserAttributeCache>(); attributeSet.Add(attcache); attributeSet.Update(); // 装备初始化 UserEquipsCache equipcache = new UserEquipsCache(); equipcache.UserID = basis.UserID; equipcache.ResetCache(); var equipsSet = new PersonalCacheStruct <UserEquipsCache>(); equipsSet.Add(equipcache); equipsSet.Update(); // 背包初始化 UserPackageCache packagecache = new UserPackageCache(); packagecache.UserID = basis.UserID; packagecache.ResetCache(); var packageSet = new PersonalCacheStruct <UserPackageCache>(); packagecache.AddItem(20001, 1); packagecache.AddItem(20012, 1); packagecache.AddItem(20023, 1); packagecache.AddItem(20034, 1); packagecache.AddItem(20045, 1); packagecache.AddItem(20056, 1); packagecache.AddItem(20067, 1); //for (int i = 20001; i < 20077; ++i) // packagecache.AddItem(i, 10); //for (int i = 30001; i < 30005; ++i) // packagecache.AddItem(i, 9999); //for (int i = 40001; i < 40009; ++i) // packagecache.AddItem(i, 1); packageSet.Add(packagecache); packageSet.Update(); // 战魂初始化 UserSoulCache soulcache = new UserSoulCache(); soulcache.UserID = basis.UserID; soulcache.ResetCache(); var soulSet = new PersonalCacheStruct <UserSoulCache>(); soulSet.Add(soulcache); soulSet.Update(); // 技能初始化 UserSkillCache skillcache = new UserSkillCache(); skillcache.UserID = basis.UserID; skillcache.ResetCache(_profession); var skillSet = new PersonalCacheStruct <UserSkillCache>(); skillSet.Add(skillcache); skillSet.Update(); // 好友初始化 UserFriendsCache friendscache = new UserFriendsCache(); friendscache.UserID = basis.UserID; friendscache.ResetCache(); var friendsSet = new PersonalCacheStruct <UserFriendsCache>(); friendsSet.Add(friendscache); friendsSet.Update(); // 成就初始化 UserAchievementCache achievecache = new UserAchievementCache(); achievecache.UserID = basis.UserID; achievecache.ResetCache(); var achieveSet = new PersonalCacheStruct <UserAchievementCache>(); achieveSet.Add(achievecache); achieveSet.Update(); // 充值初始化 UserPayCache paycache = new UserPayCache(); paycache.UserID = basis.UserID; paycache.ResetCache(); var paySet = new PersonalCacheStruct <UserPayCache>(); paySet.Add(paycache); paySet.Update(); // 邮箱初始化 UserMailBoxCache mailcache = new UserMailBoxCache(); mailcache.UserID = basis.UserID; mailcache.ResetCache(); var mailSet = new PersonalCacheStruct <UserMailBoxCache>(); MailData mail = new MailData() { ID = Guid.NewGuid().ToString(), Title = "恭喜您已获得月卡免费体验资格", Sender = "系统", Date = DateTime.Now, Context = "恭喜您已获得月卡免费体验资格,月卡有效期为1天,为了您能获得更好的游戏体验,您可以在充值页面续费成为我们正式的月卡用户!", }; UserHelper.AddNewMail(basis.UserID, mail, false); mailSet.Add(mailcache); mailSet.Update(); // 任务初始化 UserTaskCache taskcache = new UserTaskCache(); taskcache.UserID = basis.UserID; taskcache.ResetCache(); var taskSet = new PersonalCacheStruct <UserTaskCache>(); taskSet.Add(taskcache); taskSet.Update(); // 竞技场初始化 UserCombatCache combatcache = new UserCombatCache(); combatcache.UserID = basis.UserID; combatcache.ResetCache(); var combatSet = new PersonalCacheStruct <UserCombatCache>(); combatSet.Add(combatcache); combatSet.Update(); // 活动相关初始化 UserEventAwardCache eventawardcache = new UserEventAwardCache(); eventawardcache.UserID = basis.UserID; eventawardcache.ResetCache(); var eventAwardSet = new PersonalCacheStruct <UserEventAwardCache>(); eventAwardSet.Add(eventawardcache); eventAwardSet.Update(); // 公会初始化 UserGuildCache guildcache = new UserGuildCache(); guildcache.UserID = basis.UserID; guildcache.ResetCache(); var guildSet = new PersonalCacheStruct <UserGuildCache>(); guildSet.Add(guildcache); guildSet.Update(); // 精灵初始化 UserElfCache elfcache = new UserElfCache(); elfcache.UserID = basis.UserID; elfcache.ResetCache(); var elfSet = new PersonalCacheStruct <UserElfCache>(); elfSet.Add(elfcache); elfSet.Update(); // 赠送物品初始化 UserTransferItemCache transfercache = new UserTransferItemCache(); transfercache.UserID = basis.UserID; transfercache.ResetCache(); var transferSet = new PersonalCacheStruct <UserTransferItemCache>(); transferSet.Add(transfercache); transferSet.Update(); // 仇人数据初始化 UserEnemysCache enemy = new UserEnemysCache(); enemy.UserID = basis.UserID; enemy.ResetCache(); var enemySet = new PersonalCacheStruct <UserEnemysCache>(); enemySet.Add(enemy); enemySet.Update(); // 抽奖数据初始化 UserLotteryCache lottery = new UserLotteryCache(); lottery.UserID = basis.UserID; lottery.ResetCache(); var lotterySet = new PersonalCacheStruct <UserLotteryCache>(); lotterySet.Add(lottery); lotterySet.Update(); UserHelper.RefreshUserFightValue(basis.UserID, false); // 排行榜初始化 UserRank combatRank = new UserRank() { UserID = basis.UserID, NickName = basis.NickName, Profession = basis.Profession, UserLv = basis.UserLv, AvatarUrl = basis.AvatarUrl, VipLv = basis.VipLv, FightValue = attcache.FightValue, RankId = int.MaxValue, RankDate = DateTime.Now, }; Ranking <UserRank> combatranking = RankingFactory.Get <UserRank>(CombatRanking.RankingKey); var combat = combatranking as CombatRanking; combat.TryAppend(combatRank); combat.rankList.Add(combatRank); UserRank levelRank = new UserRank(combatRank); Ranking <UserRank> levelranking = RankingFactory.Get <UserRank>(LevelRanking.RankingKey); var level = levelranking as LevelRanking; level.TryAppend(levelRank); level.rankList.Add(levelRank); UserRank fightRank = new UserRank(combatRank); Ranking <UserRank> fightranking = RankingFactory.Get <UserRank>(FightValueRanking.RankingKey); var fight = fightranking as FightValueRanking; fight.TryAppend(fightRank); fight.rankList.Add(fightRank); UserRank comboRank = new UserRank(combatRank); Ranking <UserRank> comboranking = RankingFactory.Get <UserRank>(ComboRanking.RankingKey); var combo = comboranking as ComboRanking; combo.TryAppend(comboRank); combo.rankList.Add(comboRank); UserHelper.RestoreUserData(basis.UserID); UserHelper.EveryDayTaskProcess(basis.UserID, TaskType.Login, 1, false); //UserHelper.AddMouthCardMail(basis.UserID); return(basis); }