extract score type as constant

This commit is contained in:
CounterFire2023 2024-03-27 11:15:17 +08:00
parent 29e586b38c
commit 9f393f9c35
8 changed files with 29 additions and 12 deletions

View File

@ -27,3 +27,16 @@ export const STEP_CHEST_RATE = 0.1
export const STEP_CHEST_LEVEL = [70, 85, 95, 100]
// 低保步数
export const RESET_STEP = 2
// 积分类型-邀请用户
export const SCORE_INVITE_USER = 'invite_user'
// 积分类型-接受邀请
export const SCORE_INVITE_INVITEE = 'invite_invitee'
// 积分类型-开宝箱
export const SCORE_OPEN_CHEST = 'open_chest'
// 积分类型-抽奖
export const SCORE_DRAW = 'draw'
// 积分类型-探索
export const SCORE_GAME_STEP = 'game_step'
// 积分类型-社交任务
export const SCORE_SOCIAL_TASK = 'Social Tasks'

View File

@ -5,6 +5,7 @@ import { BaseController, ROLE_ANON, SyncLocker, ZError, ZRedisClient, role, rout
import { ScoreRecord } from 'models/ScoreRecord'
import { formatAddress } from 'zutils/utils/chain.util'
import { formatDate } from 'zutils/utils/date.util'
import { SCORE_INVITE_INVITEE, SCORE_INVITE_USER } from 'common/Constants'
const shareCfg = require('../../configs/share_cfg.json')
const MAX_LIMIT = 100
@ -47,7 +48,7 @@ export default class ActivityController extends BaseController {
user: inviteUser.id,
score: shareCfg.inviter,
activity: user.activity,
scoreType: 'invite_user',
scoreType: SCORE_INVITE_USER,
scoreParams: {
date: dateTag,
user: user.id,
@ -58,7 +59,7 @@ export default class ActivityController extends BaseController {
user: user.id,
score: shareCfg.invitee,
activity: user.activity,
scoreType: 'invite_invitee',
scoreType: SCORE_INVITE_INVITEE,
scoreParams: {
date: dateTag,
user: inviteUser.id,

View File

@ -6,6 +6,7 @@ import { formatDate } from 'zutils/utils/date.util'
import { ScoreRecord } from 'models/ScoreRecord'
import { ChestRecord } from 'models/chain/ChestRecord'
import { generateNewChest } from 'services/game.svr'
import { SCORE_OPEN_CHEST } from 'common/Constants'
/**
*
@ -156,7 +157,7 @@ class BoxController extends BaseController {
user: user.id,
score: score,
activity: user.activity,
scoreType: 'open_chest',
scoreType: SCORE_OPEN_CHEST,
scoreParams: {
date: dateTag,
chestId: chest.id,
@ -173,7 +174,7 @@ class BoxController extends BaseController {
@router('get /api/chest/open/history')
async openChestHistory(req) {
const user = req.user
const records = await ScoreRecord.find({ user: user.id, activity: user.activity, type: 'open_chest' }).sort({
const records = await ScoreRecord.find({ user: user.id, activity: user.activity, type: SCORE_OPEN_CHEST }).sort({
createdAt: -1,
})
return records.map(record => {

View File

@ -1,4 +1,4 @@
import { MANUAL_OPEN_GAME, RESET_STEP } from 'common/Constants'
import { MANUAL_OPEN_GAME, RESET_STEP, SCORE_GAME_STEP } from 'common/Constants'
import { ActivityGame } from 'models/ActivityGame'
import { DAILY_SIGN, SIGN_TOTAL, TicketRecord, USE_TICKET } from 'models/TicketRecord'
import { queryCheckInList } from 'services/chain.svr'
@ -231,7 +231,7 @@ class GameController extends BaseController {
user: user.id,
score: score,
activity: user.activity,
scoreType: 'game_step',
scoreType: SCORE_GAME_STEP,
scoreParams: {
step: step,
},

View File

@ -1,4 +1,4 @@
import { EMPTY_REWARD } from 'common/Constants'
import { EMPTY_REWARD, SCORE_DRAW } from 'common/Constants'
import { LotteryCache } from 'common/LotteryCache'
import { ZError, SyncLocker, BaseController, router } from 'zutils'
import { FUSION_CFG } from 'configs/fusion'
@ -122,7 +122,7 @@ export default class LotteryController extends BaseController {
user: user.id,
score,
activity: user.activity,
scoreType: 'draw',
scoreType: SCORE_DRAW,
scoreParams: {
date: dateTag,
},

View File

@ -11,6 +11,7 @@ import { checkParamsNeeded } from 'zutils/utils/net.util'
import { aesDecrypt } from 'zutils/utils/security.util'
import { base58ToHex } from 'zutils/utils/string.util'
import { ActivityGame } from 'models/ActivityGame'
import { SCORE_INVITE_USER, SCORE_SOCIAL_TASK } from 'common/Constants'
const LOGIN_TIP = 'This signature is just to verify your identity'
@ -111,10 +112,10 @@ class SignController extends BaseController {
invite = inviteUser.address.toLowerCase()
}
}
const records = await ScoreRecord.find({ user: user.id, activity: user.activity, type: 'invite' })
const records = await ScoreRecord.find({ user: user.id, activity: user.activity, type: SCORE_INVITE_USER })
const gameRecord = await ActivityGame.insertOrUpdate({ user: user.id, activity: user.activity }, {})
let inviteScore = records.reduce((acc, record) => acc + record.score, 0)
const recordSocial = await ScoreRecord.find({ user: user.id, activity: user.activity, type: 'Social Tasks' })
const recordSocial = await ScoreRecord.find({ user: user.id, activity: user.activity, type: SCORE_SOCIAL_TASK })
let scoreSocial = recordSocial.reduce((acc, record) => acc + record.score, 0)
let result = {
address: user.address.toLowerCase(),

View File

@ -73,7 +73,7 @@ export default class DailyCheckIn extends ITask {
user: this.user.id,
score: score,
activity: this.user.activity,
scoreType: cfg.task,
scoreType: cfg.category,
scoreParams: {
taskId: task.id,
date: dateTag,

View File

@ -6,6 +6,7 @@ import { ActivityItem } from 'models/ActivityItem'
import { LotteryCache } from 'common/LotteryCache'
import { checkHadGacha } from 'services/chain.svr'
import { DocumentType } from '@typegoose/typegoose'
import { SCORE_INVITE_USER } from 'common/Constants'
const updateInviteScore = async (
user: DocumentType<ActivityUserClass>,
@ -81,6 +82,6 @@ export default class ShareCode extends ITask {
let cfg = this.activity.tasks.find((t: TaskCfg) => t.id === task.id)
let scores = cfg.params.score
const items = cfg.params.inviteItems || []
await updateInviteScore(this.user, scores, items, 0, 'invite')
await updateInviteScore(this.user, scores, items, 0, SCORE_INVITE_USER)
}
}