change response data of claim task reward

This commit is contained in:
CounterFire2023 2024-04-10 15:25:24 +08:00
parent 4b51e6dab8
commit 366199b056
8 changed files with 18 additions and 13 deletions

3
.gitignore vendored
View File

@ -4,4 +4,5 @@ build
dist dist
.DS_Store .DS_Store
.env .env
.env.development .env.development
.env.production

View File

@ -7,9 +7,9 @@
{ {
"id": "e2yhq2lj30vwcpedv7p", "id": "e2yhq2lj30vwcpedv7p",
"task": "TwitterConnect", "task": "TwitterConnect",
"title": "", "title": "Connect Twitter Account",
"type": 1, "type": 1,
"desc": "", "desc": "Connect Twitter Account",
"score": 100, "score": 100,
"category": "Social Tasks", "category": "Social Tasks",
"autoclaim": false, "autoclaim": false,
@ -21,7 +21,7 @@
}, { }, {
"id": "e2fclylj30vwcpe0szl", "id": "e2fclylj30vwcpe0szl",
"task": "TwitterFollow", "task": "TwitterFollow",
"title": "", "title": "Follow Counter Fires official X account",
"type": 1, "type": 1,
"desc": "Follow Counter Fires official X account", "desc": "Follow Counter Fires official X account",
"category": "Social Tasks", "category": "Social Tasks",
@ -36,9 +36,9 @@
}, { }, {
"id": "e2feyflj30vwcpe0sjy", "id": "e2feyflj30vwcpe0sjy",
"task": "TwitterFollow", "task": "TwitterFollow",
"title": "", "title": "Follow Counter Fires official X account2",
"type": 1, "type": 1,
"desc": "", "desc": "Follow Counter Fires official X account2",
"category": "Social Tasks", "category": "Social Tasks",
"score": 100, "score": 100,
"autoclaim": false, "autoclaim": false,
@ -51,7 +51,7 @@
}, { }, {
"id": "e2fuah0j30vwcpe0my7", "id": "e2fuah0j30vwcpe0my7",
"task": "TwitterRetweet", "task": "TwitterRetweet",
"title": "", "title": "Repost on X",
"type": 1, "type": 1,
"desc": "Show your friends Counter Fire.", "desc": "Show your friends Counter Fire.",
"category": "Social Tasks", "category": "Social Tasks",

View File

@ -6,7 +6,7 @@
"scripts": { "scripts": {
"build": "tsc -p tsconfig.json", "build": "tsc -p tsconfig.json",
"dev:api": "ts-node -r tsconfig-paths/register src/api.ts", "dev:api": "ts-node -r tsconfig-paths/register src/api.ts",
"prod:api": "node dist/api.js", "prod:api": "NODE_PATH=./dist node dist/api.js",
"dev:admin": "ts-node -r tsconfig-paths/register src/admin.ts", "dev:admin": "ts-node -r tsconfig-paths/register src/admin.ts",
"prod:admin": "node dist/admin.js", "prod:admin": "node dist/admin.js",
"lint": "eslint --ext .ts src/**", "lint": "eslint --ext .ts src/**",

View File

@ -205,7 +205,7 @@ export default class TasksController extends BaseController {
const Task = require('../tasks/' + currentTask.task) const Task = require('../tasks/' + currentTask.task)
const taskInstance = new Task.default({ user, activity }) const taskInstance = new Task.default({ user, activity })
await taskInstance.claimReward(currentTask) const { score } = await taskInstance.claimReward(currentTask)
return currentTask return { status: currentTask.status, score }
} }
} }

View File

@ -56,6 +56,7 @@ export default class DailyCheckIn extends ITask {
// 增加连续签到奖励分 // 增加连续签到奖励分
// 请求前7天的签到记录, 往前查找连续签到的记录, // 请求前7天的签到记录, 往前查找连续签到的记录,
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 score = 0
if (cfg.type === TaskTypeEnum.DAILY) { if (cfg.type === TaskTypeEnum.DAILY) {
const res = await queryCheckInList(this.user.address.toLowerCase(), 1, 0) const res = await queryCheckInList(this.user.address.toLowerCase(), 1, 0)
const [taskId, dateTag] = task.id.split(':') const [taskId, dateTag] = task.id.split(':')
@ -64,7 +65,7 @@ export default class DailyCheckIn extends ITask {
const countCfg = cfg.params.score.length const countCfg = cfg.params.score.length
let count = list.length > 0 ? list[0].count : 0 let count = list.length > 0 ? list[0].count : 0
let seq = count % countCfg let seq = count % countCfg
let score = cfg.params.score[seq] || 0 + cfg.score score = cfg.params.score[seq] || 0 + cfg.score
const user = this.user const user = this.user
if (user.boost > 1 && Date.now() < user.boostExpire.getTime()) { if (user.boost > 1 && Date.now() < user.boostExpire.getTime()) {
score = Math.floor(score * user.boost) score = Math.floor(score * user.boost)
@ -91,5 +92,6 @@ export default class DailyCheckIn extends ITask {
record.daily += 1 record.daily += 1
record.amount += 1 record.amount += 1
} }
return { score }
} }
} }

View File

@ -78,10 +78,11 @@ export default class ShareCode extends ITask {
} }
public async claimReward(task: TaskStatus) { public async claimReward(task: TaskStatus) {
await super.claimReward(task) let { score } = await super.claimReward(task)
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, SCORE_INVITE_USER) await updateInviteScore(this.user, scores, items, 0, SCORE_INVITE_USER)
return { score }
} }
} }

View File

@ -61,6 +61,7 @@ export abstract class ITask {
} }
await this.claimItem(cfg) await this.claimItem(cfg)
await user.save() await user.save()
return { score }
} }
public async claimItem(cfg: TaskCfg) { public async claimItem(cfg: TaskCfg) {

View File

@ -4,7 +4,7 @@
"name": "web-task-svr", "name": "web-task-svr",
"script": "npm", "script": "npm",
"args": "run prod:api", "args": "run prod:api",
"cwd": "/home/kingsome/code/web_task_svr", "cwd": "/home/kingsome/code/task-svr",
"max_memory_restart": "1024M", "max_memory_restart": "1024M",
"log_date_format": "YYYY-MM-DD HH:mm Z", "log_date_format": "YYYY-MM-DD HH:mm Z",
"watch": false, "watch": false,