diff --git a/src/controllers/chest.controller.ts b/src/controllers/chest.controller.ts index cff119e..aceb0c5 100644 --- a/src/controllers/chest.controller.ts +++ b/src/controllers/chest.controller.ts @@ -7,6 +7,7 @@ import { ScoreRecord } from 'models/ScoreRecord' import { ChestRecord } from 'models/chain/ChestRecord' import { generateNewChest } from 'services/game.svr' import { SCORE_OPEN_CHEST } from 'common/Constants' +import { formatAddress } from 'zutils/utils/chain.util' /** * 宝箱相关接口 @@ -61,16 +62,13 @@ class BoxController extends BaseController { const users = await ActivityUser.find({ _id: { $in: chest.bonusUsers } }) const userMap = new Map() const totalKey = rankKey(user.activity) - for (let user of users) { - // get score from redis - userMap.set(user.id, user) - } + users.forEach(u => userMap.set(u.id, u)) for (let i = 0; i < chest.bonusUsers.length; i++) { - const user = userMap.get(chest.bonusUsers[i]) - const totalScore = await new ZRedisClient().zscore(totalKey, user.id) + const u = userMap.get(chest.bonusUsers[i]) + const totalScore = await new ZRedisClient().zscore(totalKey, u.id) const score = totalScore ? parseInt(totalScore + '') : 0 result.push({ - nickname: user.twitterName || user.discordName, + nickname: u?.twitterName || u?.discordName || u?.address ? formatAddress(u.address) : 'unknown', level: rankLevel(score), score: score, }) @@ -85,7 +83,7 @@ class BoxController extends BaseController { new SyncLocker().checkLock(req) const { code } = req.params const user = req.user - const uid = user.uid + const uid = user.id // TODO:: 待规则确定后, 检查用户是否符合助力条件 const chest = await ActivityChest.findOne({ shareCode: code, activity: user.activity })