参考别人 app 界面 积分任务里面包含有签到,根据这个猜测应该是有个积分任务表和任务完成表,签到需要涉及到 7 天 14 天分别不同奖励,那需要个签到表咯,
但我感觉每天签到任务完成表和签到记录表,记录的几乎一样多,这样是不是不妥, 如果单独拆出签到,那就不需要记录任务完成,但前端给任务数据就需要单独查询签到状态,在组合到积分任务里面,
想来想去还是问问论坛老司机都怎么设计的😄
1
securityCoding 2020-12-09 10:07:45 +08:00
1.积分活动配置表
2.签到记录表 3.用户积分表 不需要任务完成表,前端不用做复杂的逻辑,读积分接口 用户->签到记录表 -> 签到事件消息 -> 积分活动规则计算(同一用户消息顺序消费) -> 命中则发放积分 |
2
sym134 OP 你的意思是 我通过关联积分记录表查是否完成任务?
|
3
abersheeran 2020-12-09 10:17:44 +08:00
积分任务里包含签到,是为了让你签到的时候看到其他任务还可以做,从而提升用户活跃度。请不要把客户端 UI 设计和数据库设计混为一谈。
|
4
sym134 OP @securityCoding 你的意思是 我通过关联积分记录表查是否完成任务?
|
5
sym134 OP @abersheeran 从数据库来设想我也认同这个方式,只是给前端提供任务数据的时候需要单独查询签到完成状态在拼装在一块,对吧
|
6
abersheeran 2020-12-09 10:26:21 +08:00
@sym134 嗯,接口自己拼一下比让前端请求两个接口要快得多。
|
7
securityCoding 2020-12-09 10:28:18 +08:00
@sym134 积分记录和任务不会存在关联查询场景 , 积分来源有很多而完成积分活动发放积分只是其中一种, 一般对于账户类型的数据会有两张表 , 账户表和账户流水表
积分活动规则计算过程则需要关联签到记录表 |
8
securityCoding 2020-12-09 10:32:40 +08:00
签到
活动 积分 这三个是可独立的业务领域 , 不应该揉在一起 |
9
zarte 2020-12-09 10:50:12 +08:00
前端获取积分任务表---》获取可用任务列表---》循环获取任务状态--》返回
|
10
Lemeng 2020-12-09 10:55:59 +08:00
怎么方便怎么来,随大流
|
11
vx812574395 2020-12-09 11:07:20 +08:00 via iPhone
这个太有必要了?
ios 可以借鉴 wetoo Android 端可以借鉴 v2lf 用的好像都是 flutter? |
12
xuanbg 2020-12-09 11:22:47 +08:00
要什么签到记录表,都是垃圾数据。每个用户记一个签到时间、连签天数、累计天数就行了,签到时间为空或早于今天 0 点就能签到,否则就是已签到。
|
14
xuanbg 2020-12-09 17:42:15 +08:00
所以,要和产品去确认有没有查看签到历史这个需求,有的话是看几天。如果无限的话,就只能一条条记录了。如果是看一周,那你搞 7 个字段存就是了。总之,能不存记录就不存记录。记录无限增长,实在是太可怕了。
|