对于券类产品的有效期设置,一般有两种方式:
在数据库设计中,如果用两个字段去分别记录这两个时间,这样在计算时颇为麻烦,
不仅先要判断设置的是哪种时间,还面临着相对时间和绝对时间的相对转化,
有没有某种方法或设计可以统一用一个字段来存储有效期?
1
TimePPT 2017-10-19 10:14:24 +08:00 via iPhone
全部按绝对时间走,第一类领券成功后做时间计算后再入库呗,不需要多一个字段
|
2
qiayue 2017-10-19 10:15:59 +08:00
如一楼所说,只存过期时间,用时间戳形式
|
3
RihcardLu OP |
4
stanjia 2017-10-19 10:17:24 +08:00
优惠卷是个系统, 以后肯定 不止只有这 2 种形式
|
6
nullcoder 2017-10-19 11:38:53 +08:00
#3 什么情况下会存在生成不被领取?
|
7
xiaogg 2017-10-19 11:50:51 +08:00
统一用过期时间戳格式。对于第一种时间格式:自领取之日起 x 天内有效,通常这个 X 不会太大,所以可以取巧处理一下,时间戳小于某值(比如 100,1000 等)判断为是第一种时间格式,表示 X 天,领取后再算过期时间戳,然后更新数据库。
|
8
RihcardLu OP |
9
Humorce 2017-10-19 12:58:03 +08:00
type : default / daily / weekly / monthly
|
10
nullcoder 2017-10-19 12:59:34 +08:00
#8 所以生成券,或者说券种类的字典表可以有时间长度
用户领取,存入的时候做处理,只要失效截至日期就可以了,然后给用户显示 或者你担心这两个对不上,那就是用户领取时有领取日期,和券种类存入。 处理之后计算失效日期,返回显示 各有利弊,根据业务需要设计 |
11
forestyuan 2017-10-19 20:04:52 +08:00
有的电商很贱,发的优惠券要过几天才生效,比如今天 19 号,发给你一张优惠券从 22 号到 28 号有效
如果你们有可能有这种需求,恐怕还要加一个生效时间的字段 |