From 208731dfd3055a25d61af6f74255c2e899d7b546 Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Mon, 8 Apr 2024 20:17:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=8A=B6=E6=80=81=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=A2=9E=E5=8A=A0=E8=BF=94=E5=9B=9E=E5=89=A9=E4=BD=99?= =?UTF-8?q?=E5=8A=A9=E5=8A=9B=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/uaw.md | 6 ++++-- src/controllers/sign.controller.ts | 13 +++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) 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 }