宝箱助力列表增加返回给邀请者的额外积分
This commit is contained in:
parent
b84f69e987
commit
e1d85b1c3f
@ -42,6 +42,10 @@
|
|||||||
2. 社交任务活动信息(3) 增加返回基础任务id列表
|
2. 社交任务活动信息(3) 增加返回基础任务id列表
|
||||||
3. 获取任务奖励(7)增加返回ticket
|
3. 获取任务奖励(7)增加返回ticket
|
||||||
|
|
||||||
|
#### 20240412
|
||||||
|
|
||||||
|
1. 宝箱助力列表(17) 增加返回给邀请者的额外积分
|
||||||
|
|
||||||
### 1. 钱包预登录
|
### 1. 钱包预登录
|
||||||
|
|
||||||
#### Request
|
#### Request
|
||||||
@ -492,6 +496,7 @@ body:
|
|||||||
level: 1, // 段位
|
level: 1, // 段位
|
||||||
nickname: '用户昵称',
|
nickname: '用户昵称',
|
||||||
score: 100, // 获得的积分
|
score: 100, // 获得的积分
|
||||||
|
scoreInvite: 1 // 该用户上缴给你的积分
|
||||||
}]
|
}]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -87,17 +87,21 @@ export default class ActivityController extends BaseController {
|
|||||||
async inviteUserList(req) {
|
async inviteUserList(req) {
|
||||||
let user = req.user
|
let user = req.user
|
||||||
const totalKey = rankKey(user.activity)
|
const totalKey = rankKey(user.activity)
|
||||||
|
const keyInvite = `${user.activity}:invite`
|
||||||
let users = await ActivityUser.find({ inviteUser: user.id })
|
let users = await ActivityUser.find({ inviteUser: user.id })
|
||||||
let results = []
|
let results = []
|
||||||
for (let u of users) {
|
for (let u of users) {
|
||||||
const totalScore = await new ZRedisClient().zscore(totalKey, u.id)
|
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 score = totalScore ? parseInt(totalScore + '') : 0
|
||||||
|
const scoreInvite = inviteScore ? parseInt(inviteScore + '') / 100 : 0
|
||||||
results.push({
|
results.push({
|
||||||
// user: u.id,
|
// user: u.id,
|
||||||
level: rankLevel(score),
|
level: rankLevel(score),
|
||||||
nickname: u.twitterName || u.discordName || formatAddress(u.address),
|
nickname: u.twitterName || u.discordName || formatAddress(u.address),
|
||||||
avatar: u.twitterAvatar || '',
|
avatar: u.twitterAvatar || '',
|
||||||
score,
|
score,
|
||||||
|
scoreInvite,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return results
|
return results
|
||||||
|
@ -48,6 +48,8 @@ export const updateRankScore = async ({
|
|||||||
if (userMod?.inviteUser) {
|
if (userMod?.inviteUser) {
|
||||||
const score1 = scoreParams.score * INVITE_REBATE
|
const score1 = scoreParams.score * INVITE_REBATE
|
||||||
let scoreParams1 = Object.assign({ fromUser: user }, scoreParams)
|
let scoreParams1 = Object.assign({ fromUser: user }, scoreParams)
|
||||||
|
const keyInvite = `${activity}:invite`
|
||||||
|
await updateRankInvite(keyInvite, parseInt(score1 * 100 + ''), `${userMod.inviteUser}_${user}`)
|
||||||
await updateRankScore({
|
await updateRankScore({
|
||||||
user: userMod.inviteUser,
|
user: userMod.inviteUser,
|
||||||
score: score1,
|
score: score1,
|
||||||
@ -77,6 +79,10 @@ const updateRank = async (key: string, score: number, member: string) => {
|
|||||||
await new ZRedisClient().zadd(key, scoreToSave, member)
|
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) => {
|
export const rankKey = (activity: string, date?: Date) => {
|
||||||
if (!date) {
|
if (!date) {
|
||||||
return `${activity}:score`
|
return `${activity}:score`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user