Home  >  Article  >  Backend Development  >  一个带有效期的积分系统设计

一个带有效期的积分系统设计

WBOY
WBOYOriginal
2016-06-23 14:19:363890browse

比如有几下几个表,
user:uid username....
score(积分表): value(积分)、expire(有效期)...
order(订单表):
goods(商品表)
address(收货地址表)
...

现在的需求是有一个像招商银行信用卡积分系统的需求,需要去设计这几个表,如果还需要其他表,可以自行添加。
积分可以消费。消费时,优先消耗即将过期的积分,用户可以查看获取的积分和已消耗的积分等等。
有经验的大侠,给个思路


回复讨论(解决方案)

id     userid(用?id)      money(?分)     extime(?期??)
1       7                     10           2013-08-15 05:11:13
2       7                     20           2013-08-15 05:11:14
3       5                     20           2013-08-15 05:11:15
4       7                     10           2013-08-15 05:11:16

假如??(id=7)要消?的?候,就???表?取得??,排序?然是按照extime?排了.
如果?一次消?扣除20?,那?根?extime排序先扣除id=1的?一?(不足扣,所以直接delete即可),扣完之後?有10?要扣,就再扣id=2的?一?(超出,所以要update改?money值)

id     userid(用?id)      money(?分)     extime(?期??)
1       7                     10           2013-08-15 05:11:13
2       7                     20           2013-08-15 05:11:14
3       5                     20           2013-08-15 05:11:15
4       7                     10           2013-08-15 05:11:16

假如??(id=7)要消?的?候,就???表?取得??,排序?然是按照extime?排了.
如果?一次消?扣除20?,那?根?extime排序先扣除id=1的?一?(不足扣,所以直接delete即可),扣完之後?有10?要扣,就再扣id=2的?一?(超出,所以要update改?money值)

“超出,所以要update改?money值”
如果update这个值的话,就获取不到用户以前获取的积分记录了。

在 #1 的基础上再加一个字段  usedmoney(已用积分)
update 是在 usedmoney 上进行的,而不是 money

感觉这种设计有点问题,扣积分的时候有点繁琐啊,
请问还有没有其他的表结构设计呢???谢谢

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn