一、规则
- 完成打卡后,获得积分奖励(跟连续次数相关)
- 积分兑换奖励
- 奖励有顺序编号
二、接口
- 获取当前打卡的进度
GET & /punch-info
totalDays,// 总共打卡了多少天
continuousDays, // 现在进行到第几天
punchPoints // 当前拥有的积分
- 上报打卡,返回本次获取的积分
POST /punch
{
totalPunchPoints, // 总积分
todayPunchPoints // 本次打卡获取的积分
}
- 获取所有奖励列表
GET /punch/rewards
[
{
rewardID: xx,
title: xxx,
content: xxx,
imageUrl: xxx,
price:12, //售价
status: success, // 已获得
rank: 22, // 获得奖励的顺序
createTime: 2023-03-05 12:29:30 // 获取奖励的时间
},
{
rewardID: xx,
rank: null, // 获得奖励的顺序
title: xxx,
content: xxx,
imageUrl: xxx,
status: forSell, // 没有购买
createTime: null // 获取奖励的时间
},
]
- 用积分兑换奖励
POST /punch/reward/exchange
data={ rewardID }
{
rewardID: xx,
title: xxx,
content: xxx,
imageUrl: xxx,
price:12, //售价
status: success, // 已获得
rank: 22, // 获得奖励的顺序
createTime: 2023-03-05 12:29:30 //获取奖励的时间
}
- 查看兑换记录?
GET /punch/reward/exchange
三、数据库
- 奖励表 punch_reward
name |
释义 |
id |
|
title |
|
content |
|
imageUrl |
|
price |
|
- 兑换表 punch_reward_exchange
name |
释义 |
id |
|
user_id |
|
reward_id |
|
create_date |
|
acquire_order |
获得奖励的序号 |
point |
本次花费的积分 |
- 用户打卡表 punch_in_user
name |
释义 |
id |
|
user_id |
|
date |
yyyymmdd |
create_date |
|
single_point |
本次获取的积分 |
total_point |
总积分 |
punch_index |
连续第几天 |
- 用户积分表 punch_point
name |
释义 |
user_id |
用户ID为Key |
total_point |
总积分 |