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 STEP_CHEST_LEVEL = [70, 85, 95, 100]
// 低保步数 // 低保步数
export const RESET_STEP = 2 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 { ScoreRecord } from 'models/ScoreRecord'
import { formatAddress } from 'zutils/utils/chain.util' import { formatAddress } from 'zutils/utils/chain.util'
import { formatDate } from 'zutils/utils/date.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 shareCfg = require('../../configs/share_cfg.json')
const MAX_LIMIT = 100 const MAX_LIMIT = 100
@ -47,7 +48,7 @@ export default class ActivityController extends BaseController {
user: inviteUser.id, user: inviteUser.id,
score: shareCfg.inviter, score: shareCfg.inviter,
activity: user.activity, activity: user.activity,
scoreType: 'invite_user', scoreType: SCORE_INVITE_USER,
scoreParams: { scoreParams: {
date: dateTag, date: dateTag,
user: user.id, user: user.id,
@ -58,7 +59,7 @@ export default class ActivityController extends BaseController {
user: user.id, user: user.id,
score: shareCfg.invitee, score: shareCfg.invitee,
activity: user.activity, activity: user.activity,
scoreType: 'invite_invitee', scoreType: SCORE_INVITE_INVITEE,
scoreParams: { scoreParams: {
date: dateTag, date: dateTag,
user: inviteUser.id, user: inviteUser.id,

View File

@ -6,6 +6,7 @@ import { formatDate } from 'zutils/utils/date.util'
import { ScoreRecord } from 'models/ScoreRecord' import { ScoreRecord } from 'models/ScoreRecord'
import { ChestRecord } from 'models/chain/ChestRecord' import { ChestRecord } from 'models/chain/ChestRecord'
import { generateNewChest } from 'services/game.svr' import { generateNewChest } from 'services/game.svr'
import { SCORE_OPEN_CHEST } from 'common/Constants'
/** /**
* *
@ -156,7 +157,7 @@ class BoxController extends BaseController {
user: user.id, user: user.id,
score: score, score: score,
activity: user.activity, activity: user.activity,
scoreType: 'open_chest', scoreType: SCORE_OPEN_CHEST,
scoreParams: { scoreParams: {
date: dateTag, date: dateTag,
chestId: chest.id, chestId: chest.id,
@ -173,7 +174,7 @@ class BoxController extends BaseController {
@router('get /api/chest/open/history') @router('get /api/chest/open/history')
async openChestHistory(req) { async openChestHistory(req) {
const user = req.user 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, createdAt: -1,
}) })
return records.map(record => { 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 { ActivityGame } from 'models/ActivityGame'
import { DAILY_SIGN, SIGN_TOTAL, TicketRecord, USE_TICKET } from 'models/TicketRecord' import { DAILY_SIGN, SIGN_TOTAL, TicketRecord, USE_TICKET } from 'models/TicketRecord'
import { queryCheckInList } from 'services/chain.svr' import { queryCheckInList } from 'services/chain.svr'
@ -231,7 +231,7 @@ class GameController extends BaseController {
user: user.id, user: user.id,
score: score, score: score,
activity: user.activity, activity: user.activity,
scoreType: 'game_step', scoreType: SCORE_GAME_STEP,
scoreParams: { scoreParams: {
step: step, 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 { LotteryCache } from 'common/LotteryCache'
import { ZError, SyncLocker, BaseController, router } from 'zutils' import { ZError, SyncLocker, BaseController, router } from 'zutils'
import { FUSION_CFG } from 'configs/fusion' import { FUSION_CFG } from 'configs/fusion'
@ -122,7 +122,7 @@ export default class LotteryController extends BaseController {
user: user.id, user: user.id,
score, score,
activity: user.activity, activity: user.activity,
scoreType: 'draw', scoreType: SCORE_DRAW,
scoreParams: { scoreParams: {
date: dateTag, date: dateTag,
}, },

View File

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

View File

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

View File

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