diff --git a/src/common/Constants.ts b/src/common/Constants.ts index 7506a3d..b213e87 100644 --- a/src/common/Constants.ts +++ b/src/common/Constants.ts @@ -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' diff --git a/src/controllers/activity.controller.ts b/src/controllers/activity.controller.ts index 9bbdae3..5775257 100644 --- a/src/controllers/activity.controller.ts +++ b/src/controllers/activity.controller.ts @@ -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, diff --git a/src/controllers/chest.controller.ts b/src/controllers/chest.controller.ts index a822d8b..527aed7 100644 --- a/src/controllers/chest.controller.ts +++ b/src/controllers/chest.controller.ts @@ -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 => { diff --git a/src/controllers/game.controller.ts b/src/controllers/game.controller.ts index 5230b9b..f5ff52c 100644 --- a/src/controllers/game.controller.ts +++ b/src/controllers/game.controller.ts @@ -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, }, diff --git a/src/controllers/lottery.controller.ts b/src/controllers/lottery.controller.ts index 0eb4ed2..483402b 100644 --- a/src/controllers/lottery.controller.ts +++ b/src/controllers/lottery.controller.ts @@ -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, }, diff --git a/src/controllers/sign.controller.ts b/src/controllers/sign.controller.ts index 9378628..84422d0 100644 --- a/src/controllers/sign.controller.ts +++ b/src/controllers/sign.controller.ts @@ -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(), diff --git a/src/tasks/DailyCheckIn.ts b/src/tasks/DailyCheckIn.ts index ba7e08b..15b2db1 100644 --- a/src/tasks/DailyCheckIn.ts +++ b/src/tasks/DailyCheckIn.ts @@ -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, diff --git a/src/tasks/ShareCode.ts b/src/tasks/ShareCode.ts index 2bec2df..6524f40 100644 --- a/src/tasks/ShareCode.ts +++ b/src/tasks/ShareCode.ts @@ -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, @@ -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) } }