diff --git a/game-server/app/services/guildActivityObjService.ts b/game-server/app/services/guildActivityObjService.ts index fed6044a8..ac2ca98c2 100644 --- a/game-server/app/services/guildActivityObjService.ts +++ b/game-server/app/services/guildActivityObjService.ts @@ -98,6 +98,7 @@ export class CityActivityObject { 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 getKey(serverId: number, cityId: number) { return `${serverId}_${cityId}`; @@ -125,9 +126,11 @@ export class CityActivityObject { let allCities = new Array<{ serverId: number, cityId: number, guildCodes: string[]}>(); let serverlists = new Array(); for(let [key, guildCodes] of this.cities) { - let { serverId, cityId } = this.decodeKey(key); - allCities.push({ serverId, cityId, guildCodes }); - if(!serverlists.includes(serverId)) serverlists.push(serverId); + if(this.sentCity.indexOf(key) == -1) { + let { serverId, cityId } = this.decodeKey(key); + allCities.push({ serverId, cityId, guildCodes }); + if(!serverlists.includes(serverId)) serverlists.push(serverId); + } } return {cities: allCities, serverlists}; } @@ -193,12 +196,13 @@ export class CityActivityObject { public delCityRecord(cityId: number, serverId: number) { let key = this.getKey(serverId, cityId); - let guildCodes = this.cities.get(key)||[]; - for(let guildCode of guildCodes) { - this.members.delete(guildCode); - this.guilds.delete(guildCode); - } - this.cities.delete(key); + // let guildCodes = this.cities.get(key)||[]; + // for(let guildCode of guildCodes) { + // this.members.delete(guildCode); + // this.guilds.delete(guildCode); + // } + // this.cities.delete(key); + this.sentCity.push(key); } } diff --git a/shared/pubUtils/roleUtil.ts b/shared/pubUtils/roleUtil.ts index 8a1f0ddb9..bb5f703d5 100644 --- a/shared/pubUtils/roleUtil.ts +++ b/shared/pubUtils/roleUtil.ts @@ -234,10 +234,10 @@ export class UpdateHeroes { // 最强武将 for(let { hid, ce, hero } of pushHeroes) { let r2 = new Rank(REDIS_KEY.TOP_HERO_RANK, { serverId }); - await r2.setRankWithHeroInfo(roleId, hid, ce, 0, hero); + await r2.setRankWithHeroInfo(roleId, hid, reduceCe(ce), 0, hero); let r4 = new Rank(REDIS_KEY.HERO_RANK, { serverId, hid }); - await r4.setRankWithHeroInfo(roleId, hid, ce, 0, hero); + await r4.setRankWithHeroInfo(roleId, hid, reduceCe(ce), 0, hero); } // 总战力 let r3 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId });