我将很快提供一些基于Web的服务,并且我正在开发订阅系统。用户每月支付(或者可以提前几个月支付),但我提供不同的软件包。不同的软件包允许他们每天使用系统x分钟。订阅套餐并存储它们
因此,例如
包一个让他们使用它一天
套餐二让他们使用它一天
套餐三让他们使用它一天
等等。这些都是每月。
我现在的方法可以让我设置他们的包和他们的订阅何时结束。我想改变它,以便他们可以有多个包。
我的问题是这样的:
他们买一包。他们使用它两天,并决定他们想升级到另一个软件包。他们购买第二包。现在他们有2个月的时间(减去两天),但是它将包装二。从本质上来说,他们仅仅为套餐一的价格获得了两个月的套餐。
所以我的想法是这样的:
我可以单独存储每一笔交易,并在当包结束设定每笔交易和封装它。然后我可以SELECT `package` FROM `packages` WHERE `status`='active????' ORDER BY `package` DESC LIMIT 1;
这将允许我选择他们的高级包,并给他们,直到那个变得不活动,然后恢复到较小的包。问题是这个`status`='active'
没有跟踪日期。我怎样才能正确地做到这一点?