diff --git a/game-server/app/servers/guild/handler/gateActivityHandler.ts b/game-server/app/servers/guild/handler/gateActivityHandler.ts index b1ec0c232..b9b272da6 100644 --- a/game-server/app/servers/guild/handler/gateActivityHandler.ts +++ b/game-server/app/servers/guild/handler/gateActivityHandler.ts @@ -329,6 +329,9 @@ export class GateActivityHandler { if (msg.week <= 2) { await GuildActivityCityModel.deleteMany({}); } + await delGuildActivityRank(GUILD_ACTIVITY_TYPE.GATE_ACTIVITY); + await delGuildActivityRank(GUILD_ACTIVITY_TYPE.CITY_ACTIVITY); + await delGuildActivityRank(GUILD_ACTIVITY_TYPE.RACE_ACTIVITY); return resResult(STATUS.SUCCESS); } diff --git a/game-server/app/services/guildActivityService.ts b/game-server/app/services/guildActivityService.ts index 8377223bf..c9cd86897 100644 --- a/game-server/app/services/guildActivityService.ts +++ b/game-server/app/services/guildActivityService.ts @@ -205,9 +205,9 @@ export async function getCityActivityRank(guildCode: string, serverId: number, c let myR = new Rank(REDIS_KEY.USER_CITY_ACTIVITY, { serverId, guildCode }); myR.setGenerFieldsFun(generGuildActivityMemberRankField); - let { ranks: memberRank, myRank: myMemberRank } = await r.getRankListWithMyRank({ roleId }); + let { ranks: memberRank, myRank: myMemberRank } = await myR.getRankListWithMyRank({ roleId }); if (roleName && !myMemberRank) { - myMemberRank = await r.generMyRankWithRole(roleId, 0, 0); + myMemberRank = await myR.generMyRankWithRole(roleId, 0, 0); } return { guildRank, myGuildRank, memberRank, myMemberRank } diff --git a/game-server/app/services/rankService.ts b/game-server/app/services/rankService.ts index 95862e0e9..4e7dcb081 100644 --- a/game-server/app/services/rankService.ts +++ b/game-server/app/services/rankService.ts @@ -58,7 +58,7 @@ export class Rank { case REDIS_KEY.RACE_ACTIVITY: this.valueConfig = [ new ValueConfig(true, 'score', 0, false, false), - new ValueConfig(false, 'time', 6, true, true) + new ValueConfig(false, 'time', 10, true, true) ]; break; case REDIS_KEY.GUILD_LV_RANK: @@ -669,6 +669,9 @@ export class Rank { const field = rankFromDb[ii]; let myId = this.decodeFields(this.key, field); const scores = this.decodeScore(rankFromDb[ii + 1]); + + console.log('**********', scores); + const info = await redisClient().hgetAsync(this.infoKey, this.composeFields(this.infoKey, myId)); const userInfo = JSON.parse(info); @@ -828,10 +831,15 @@ export class Rank { private decodeScore(num: string) { let _num = parseInt(num); let scores: number[] = []; - this.valueConfig.forEach(({ weight }) => { + this.valueConfig.forEach(({ reverse, isTimestamp, len, weight }) => { let pow = Math.pow(10, weight); let score = Math.floor(_num / pow); _num -= pow * score; + if(isTimestamp) score = this.handleTimestamp(score, len); + if(reverse) { + let pow = Math.pow(10, len); + score = pow - 1 - score; + } scores.push(score); }) return scores;