From e1d85b1c3fee16277c29c7937eb71da747aa6d01 Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:14:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9D=E7=AE=B1=E5=8A=A9=E5=8A=9B=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E8=BF=94=E5=9B=9E=E7=BB=99=E9=82=80?= =?UTF-8?q?=E8=AF=B7=E8=80=85=E7=9A=84=E9=A2=9D=E5=A4=96=E7=A7=AF=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/uaw.md | 5 +++++ src/controllers/activity.controller.ts | 4 ++++ src/services/rank.svr.ts | 6 ++++++ 3 files changed, 15 insertions(+) diff --git a/docs/uaw.md b/docs/uaw.md index d81be06..e2cc76a 100644 --- a/docs/uaw.md +++ b/docs/uaw.md @@ -42,6 +42,10 @@ 2. 社交任务活动信息(3) 增加返回基础任务id列表 3. 获取任务奖励(7)增加返回ticket +#### 20240412 + +1. 宝箱助力列表(17) 增加返回给邀请者的额外积分 + ### 1. 钱包预登录 #### Request @@ -492,6 +496,7 @@ body: level: 1, // 段位 nickname: '用户昵称', score: 100, // 获得的积分 + scoreInvite: 1 // 该用户上缴给你的积分 }] ``` diff --git a/src/controllers/activity.controller.ts b/src/controllers/activity.controller.ts index 805f326..887af46 100644 --- a/src/controllers/activity.controller.ts +++ b/src/controllers/activity.controller.ts @@ -87,17 +87,21 @@ export default class ActivityController extends BaseController { async inviteUserList(req) { let user = req.user const totalKey = rankKey(user.activity) + const keyInvite = `${user.activity}:invite` let users = await ActivityUser.find({ inviteUser: user.id }) let results = [] for (let u of users) { const totalScore = await new ZRedisClient().zscore(totalKey, u.id) + const inviteScore = await new ZRedisClient().zscore(keyInvite, `${user.id}_${u.id}`) const score = totalScore ? parseInt(totalScore + '') : 0 + const scoreInvite = inviteScore ? parseInt(inviteScore + '') / 100 : 0 results.push({ // user: u.id, level: rankLevel(score), nickname: u.twitterName || u.discordName || formatAddress(u.address), avatar: u.twitterAvatar || '', score, + scoreInvite, }) } return results diff --git a/src/services/rank.svr.ts b/src/services/rank.svr.ts index ac2b999..d350d87 100644 --- a/src/services/rank.svr.ts +++ b/src/services/rank.svr.ts @@ -48,6 +48,8 @@ export const updateRankScore = async ({ if (userMod?.inviteUser) { const score1 = scoreParams.score * INVITE_REBATE let scoreParams1 = Object.assign({ fromUser: user }, scoreParams) + const keyInvite = `${activity}:invite` + await updateRankInvite(keyInvite, parseInt(score1 * 100 + ''), `${userMod.inviteUser}_${user}`) await updateRankScore({ user: userMod.inviteUser, score: score1, @@ -77,6 +79,10 @@ const updateRank = async (key: string, score: number, member: string) => { await new ZRedisClient().zadd(key, scoreToSave, member) } +const updateRankInvite = async (key: string, score: number, member: string) => { + await new ZRedisClient().zincrby(key, score, member) +} + export const rankKey = (activity: string, date?: Date) => { if (!date) { return `${activity}:score`