From e54bbefbaaec4e4a352398f58459d29bba6ec70b Mon Sep 17 00:00:00 2001 From: Thanapat Chotipun <66824385+PatrickChoDev@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:22:24 +0700 Subject: [PATCH] Feat/api (#21) * feat: perf for scoreboard * feat: improve perf * feat: improve perf * feat: improve socket time * feat: scoreboard weight * fix: scoreboard event when start game * feat: db logging * feat: remove healthz logging * feat: remove pg layer history * feat: scoreboard log * fix: all rooms broadvaster * fix: subClient connect * feat: weight score * feat: weight score clamp * feat: weight score optimizer * fix: async order * perf: order async * feat: new weight score * feat: abs weight --- apps/server/src/models/history.model.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/apps/server/src/models/history.model.ts b/apps/server/src/models/history.model.ts index 79ee76a..e1b817f 100644 --- a/apps/server/src/models/history.model.ts +++ b/apps/server/src/models/history.model.ts @@ -68,13 +68,10 @@ export class GameHistoryRepository { ) { const total = await this.redis.incrBy(`game::${game_id}::${key}`, vote) this.redis.keys(`game::${game_id}::*`).then(async (keys) => { - const totalVote = await this.redis.mGet(keys).then((votes) => - votes.reduce((acc, v) => acc + parseInt(v || '0'), 0), - ) || 1 keys.forEach(async (k) => { if (k !== `game::${game_id}::${key}`) { const kTotal = parseInt(await this.redis.get(k) || '0') - const decrease = ((Math.floor((total - kTotal) * vote / totalVote))) + const decrease = ((Math.floor(Math.abs(total - kTotal) * vote / 100))) const remain = kTotal - decrease if (remain > 0) this.redis.decrBy(k, decrease) }