现在有一个项目,需求实在太蛋疼了!
目前的vip类型有 vip1到vip5,每个类型的价格都是不一样的!
后端有一个数据表是存储vip类型的 vip_type
里面有vip类型的价格(money) 以及等级(level)
现在用户购买之后在开通表中vip_open写入一条记录!
vip_open表字段:
user_id --开通用户id
vip_id -- 开通的vip类型id
open_time -- 开通时间 (时间戳)
open_money --开通价格
open_length -- 开通时长 (月份计算)
end_time --计算后的到期时间 (时间戳)
之后用户续费的时候直接将end_time 叠加就行了!
但是用户升级的时候就蛋疼了!!!
参考了大型的 比如百度网盘 qq会员
他们是在升级之后将之前的暂时禁用,之后再写入升级之后的vip数据,等到升级后的过期后就启用之前禁用的!
这种方式用于我的需求感觉不太好!
请大神指点一下 有没有其他办法 最好是直接升级!!
首先、直接抄大厂的逻辑并非“脑残”,但也并非正常。一切看你们具体的需求。看到你的问题后,我个人认为其实你们只是缺一张记录表。用户记录用户升级、到期、降级的等等对vip表的操作。而升级的计算方式就按照你说的end_time+就可以。只需期间记录下就可以了。“他们”的做法实际也是为了记录用户的所有操作把。