想请教下任务系统的数据库表该怎么设计?

2020-09-04 17:06:18 +08:00
 Pandorapx

最近公司要做一个积分任务系统,做任务获取积分。 但是在表如何设计这块找不到相似的例子,百度上也搜不到,所以想来问下各位 v 友,希望能提供下思路

任务分为新人任务,每日任务,永久任务等,每日任务又有限制次数,比如每天只能收藏 5 次,签到 5 次等

现在我的想法是设计一个 任务表,一个 用户-任务关联表

但是用户每次进任务中心页面是需要查看自己的任务完成进度的,那难道是在每次进任务中心时初始化关联表吗? 这样的话如果用户没有进任务中心,直接收藏,该怎么加这个积分? 如果用户一注册就初始化用户-任务关联数据,好像也不太对,所以希望能够提供下思路,谢谢

2555 次点击
所在节点    Java
3 条回复
kop1989
2020-09-04 17:19:18 +08:00
我观察的论坛,都是把检查任务,或者说任务完成维护分散到了每个动作上。并不是只有点击任务中心才维护任务进度的。
毕竟这些任务肯定都是写死的业务代码,不太可能动态配置,顶多配置报酬。
Pandorapx
2020-09-04 17:25:56 +08:00
@kop1989 好的,谢谢提供思路
Takamine
2020-09-05 08:48:11 +08:00
我做的话可能会拆成任务表(各个小粒度子任务),任务类型表(用某些子任务来构成如新手任务,每日任务等任务组),任务配置表(配置不同任务类型的可以收藏次数,对应积分等),用户任务详情关键表,用户任务详情表。


相应的积分和统计靠用户动作来做,某些地方如有需要,设计部分缓存和延迟更新,在用户比如登录或者进入个人中心等事件进行触发刷新。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/704278

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX