diff --git a/game-server/app/servers/guild/handler/cityActivityHandler.ts b/game-server/app/servers/guild/handler/cityActivityHandler.ts index 923eb0ffd..c78b1d06c 100644 --- a/game-server/app/servers/guild/handler/cityActivityHandler.ts +++ b/game-server/app/servers/guild/handler/cityActivityHandler.ts @@ -19,6 +19,7 @@ import { sendMessageToCityWithSuc } from "../../../services/pushService"; import { isDebugTime } from "../../../pubUtils/sdkUtil"; import { GuildActivityCityDeclareModel } from "../../../db/GuildActivityCityDeclare"; import { GuildModel } from "../../../db/Guild"; +import { getHistoryCity, setHistoryCity } from "../../../services/redisService"; export default function (app: Application) { new HandlerService(app, {}); @@ -97,13 +98,12 @@ export class CityActivityHandler { obj.pushGuild(guildCode, serverId, cityId); } - let historyCity = obj.getHistoryCity(roleId); + let historyCity = await getHistoryCity(roleId); if (historyCity) { await leaveCityChannel(roleId, sid, historyCity); } await addRoleToCityChannel(roleId, sid, cityId); - obj.setHistoryCity(roleId, cityId); - + await setHistoryCity(roleId, cityId); let ranks = await getCityActivityRank(guildCode, serverId, cityId, roleId, roleName); diff --git a/game-server/app/services/guildActivity/cityActivityObj.ts b/game-server/app/services/guildActivity/cityActivityObj.ts index 6fe2558fb..9fa0b8940 100644 --- a/game-server/app/services/guildActivity/cityActivityObj.ts +++ b/game-server/app/services/guildActivity/cityActivityObj.ts @@ -12,7 +12,6 @@ export class CityActivityObject { private members: Map> = new Map(); // 每个军团参与的成员 guildCode => [{roleId, job}] private cities: Map = new Map(); // 各个城池参与的军团 serverId&cityId => [guildCode] private guilds: Map = new Map(); // 军团所在的城池 guildCode => cityId - private historyCity: Map = new Map(); // 获取自己打开过的城池的页面 roleId => cityId private sentCity: string[] = []; private startTime: number = 0; @@ -112,15 +111,6 @@ export class CityActivityObject { return { gateHp, maxHp: this.maxHp.get(key)||0 } } - public getHistoryCity(roleId: string) { - return this.historyCity.get(roleId) - } - - public setHistoryCity(roleId: string, cityId: number) { - return this.historyCity.set(roleId, cityId); - } - - public pushMembers(guildCode: string, roleId: string, job: number, code: string) { if(this.members.has(guildCode)) { diff --git a/game-server/app/services/redisService.ts b/game-server/app/services/redisService.ts index deec0981e..c5b23695c 100644 --- a/game-server/app/services/redisService.ts +++ b/game-server/app/services/redisService.ts @@ -664,4 +664,14 @@ export async function redisSubScribe() { } }); } -/*************** 订阅短链接redis *******/ \ No newline at end of file +/*************** 订阅短链接redis *******/ + +/***诸侯混战 */ +export async function getHistoryCity(roleId: string) { + return await redisClient().hgetAsync(REDIS_KEY.GA_HISTORY_CITY, `${roleId}`); +} + +export async function setHistoryCity(roleId: string, cityId: number) { + await redisClient().hsetAsync(REDIS_KEY.GA_HISTORY_CITY, `${roleId}`, cityId); +} + diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 5033b8a81..c450ac1f6 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -251,6 +251,7 @@ export enum REDIS_KEY { USER_CODE = 'userCode', // 玩家userCode对应roleId LADDER = 'ladder', // 名将擂台 LADDER_DEFCE = 'ladderDefCe', // 名将擂台的防守战力 + GA_HISTORY_CITY = 'gaHisCity', // 诸侯混战打开过的城池页面 } // 各排行榜对应hash的key