app任务中心奖励如何设计

阿健666
  • 81

看了之前一个答主的回答,https://segmentfault.com/q/10...

tasks(任务表):
id name desc icon cate type num reward.....
id 主键ID
name 任务名称
desc 任务描述
icon 任务图标
cate 任务分类 比如官网、线上、游戏
type 任务类型 比如新手、每日
num 任务次数
reward 积分奖励数值

task_notes(任务日志):
id uid tid progress time...
id 主键ID
uid 用户ID
tid 任务ID
progress 完成进度
date 完成时间

任务为主表,后台可以动态添加和修改任务

任务日志表,用户完成一次向数据查询一条数据,需要注意如果num>1那么,插入了日志记录在完成直接做更新,更新progress字段

例如任务(插入然后做更新 更新progress字段):
id uid tid progress time
1 1 1 2 2020-09-11 11:11:11

新手任务:

num=1一次性任务 做完一次直接奖励 是否完成直接查询根据uid tid查询记录即可 存在为完成
num>=1 证明是新手多次任务(也就是该任务需要完成多次才为完成) 那么就做查询更新progress字段操作直到 task_notes.progress >= tasks.num 即为完成

每日任务:

根据 uid tid date 去查询 task_notes 表,存在记录证明今日做了该任务,是否完成 task_notes.progress >= tasks.num

这里有个疑问:
每次完成任务插入记录的时候,这个taskid从哪里获取。比如新手任务中完善个人资料,难道是每次点击保存的时候将taskid传到后台去插入任务记录?如果不是从任务中心点击进去的话,完善个人资料没有taskid,这种情况算不算完成任务,后台怎么去记录这个任务?

回复
阅读 1.4k
1 个回答
上官元恒
  • 8.6k
✓ 已被采纳

业务逻辑里埋点写死啊。
可以写成事件进行触发。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏