From 7e239ead8675b46becf66222de396cbde06987bb Mon Sep 17 00:00:00 2001 From: moonrailgun Date: Sat, 18 Nov 2023 17:34:13 +0800 Subject: [PATCH] fix: fix a bug ban user clean cache will be have a gap between userinfo and token cache #179 we must make sure user cache will be clean first and clean token cache second then user will not been get old user cache in next token cache generate --- server/services/core/user/user.service.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/services/core/user/user.service.ts b/server/services/core/user/user.service.ts index 36b57240..42a6d2c6 100644 --- a/server/services/core/user/user.service.ts +++ b/server/services/core/user/user.service.ts @@ -747,13 +747,16 @@ class UserService extends TcService { } ); - this.cleanUserInfoCache(userId); + await this.cleanUserInfoCache(userId); const tokens = await ctx.call('gateway.getUserSocketToken', { userId, }); if (Array.isArray(tokens)) { - tokens.map((token) => this.cleanActionCache('resolveToken', [token])); + await Promise.all( + tokens.map((token) => this.cleanActionCache('resolveToken', [token])) + ); } + await ctx.call('gateway.tickUser', { userId, });