diff --git a/docs/uaw.md b/docs/uaw.md index 2712f78..58ea577 100644 --- a/docs/uaw.md +++ b/docs/uaw.md @@ -26,6 +26,7 @@ #### 20240408 1. 增加宝箱助力状态查询(26), 用于助力上链前查询是否符合条件 +1. 用户状态接口(10)增加返回当日可助力次数 ### 1. 钱包预登录 @@ -211,7 +212,7 @@ body: ```json { - "status": 1, // 任务状态, 0: 未开始, 1: 进行中, 2: 成功, 9: 失败 + "status": 1, // 任务状态, 0: 未开始, 1: 进行中, 2: 成功, 3: 已领取 9: 失败 "id": "TwitterFollow", // 任务id "timeStart": 1703150294051, // 任务开始时间 "timeFinish": 1703151338598 @@ -240,7 +241,7 @@ body: ```json { - "status": 1, // 任务状态, 0: 未开始, 1: 进行中, 2: 成功, 9: 失败 + "status": 1, // 任务状态, 0: 未开始, 1: 进行中, 2: 成功, 3: 已领取 9: 失败 "id": "TwitterFollow", // 任务id "timeStart": 1703150294051, // 任务开始时间 "timeFinish": 1703151338598 @@ -330,6 +331,7 @@ body: "scoreSocial": 0, // 社交任务获得的分数 "code": "自己的邀请码", "mapopen": 0, // 地图开启状态, 0: 未开启, 1: 已开启 + "enhanceCount": 1 // 当日剩余助力次数 } ``` diff --git a/src/controllers/sign.controller.ts b/src/controllers/sign.controller.ts index 749c338..5df06a5 100644 --- a/src/controllers/sign.controller.ts +++ b/src/controllers/sign.controller.ts @@ -6,13 +6,14 @@ import { ScoreRecord } from 'models/ScoreRecord' import { LoginRecordQueue } from 'queue/loginrecord.queue' import { rankKey } from 'services/rank.svr' import { SiweMessage } from 'siwe' -import { nextday } from 'zutils/utils/date.util' +import { formatDate, nextday } from 'zutils/utils/date.util' 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' +import { MAX_ENHANCE_COUNT_ADV, MAX_ENHANCE_COUNT_BASE, SCORE_INVITE_USER, SCORE_SOCIAL_TASK } from 'common/Constants' import { isObjectIdString } from 'common/Utils' +import { ChestEnhanceRecord } from 'models/ChestEnhanceRecord' const LOGIN_TIP = 'This signature is just to verify your identity' @@ -121,6 +122,13 @@ class SignController extends BaseController { let inviteScore = records.reduce((acc, record) => acc + record.score, 0) 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) + const userMax = user.twitterId && user.discordId ? MAX_ENHANCE_COUNT_ADV : MAX_ENHANCE_COUNT_BASE + const dateTag = formatDate(new Date()) + const userCurrent = await ChestEnhanceRecord.countDocuments({ user: user.id, activity: user.activity, dateTag }) + let enhanceCount = userMax - userCurrent + if (enhanceCount < 0) { + enhanceCount = 0 + } let result = { address: user.address.toLowerCase(), boost: user.boost || 1, @@ -139,6 +147,7 @@ class SignController extends BaseController { scoreSocial, code: user.inviteCode, mapopen: gameRecord.status, + enhanceCount, } return result }