PHP中的Groupon优惠券代码系统

时间:2011-10-30 15:15:37

标签: php mysql groupon

我正在尝试创建一个类似于groupon的系统,但商家会将凭证代码输入系统,客户可以使用它来获取产品。

让我们假设商家1有以下产品

  • 产品名称:相机
  • 产品编号:2

他会将产品ID 2的优惠券代码添加到系统中。

优惠券会添加到COUPON表中,并带有以下字段:

  • ID
  • product_id(返回产品表
  • num_available
  • 最大

max是可以发出的优惠券的最大值。 num_available是可用优惠券的编号。因此,如果商家将最大值设为5,则num_available从5开始,但每当客户被分配该优惠券时,num_available减少1

然后,当客户订购时,他们会获得优惠券

用户订单被添加到下表订单: 订单:

  • ORDER_ID
  • USER_ID

OrderPosition:

  • id
  • ORDER_ID
  • PRODUCT_ID
  • 金额
  • coupon_id

每个订单(存储在订单中)都有多个与之关联的产品(存储在OrderPosition中)。

因此,用户1订购产品2并获得为产品2添加的优惠券ID 1.优惠券ID 1(在COUPON表中)的num_available在数据库中减少了1。

但是,如果用户1订购两件产品2 - 一件为她,另一件为她的朋友 - 她会得到两个不同的优惠券代码吗?

基本上,我想让他的过程更有效率,我不知道Groupon是如何设计这个过程的,但如果有人对如何做到这一点有好的想法,请告诉我!

我很想知道是否应该更改数据库架构以提高效率......

我的最终目标是让人们购买优惠。一旦他们买了一笔交易,他们就会得到一张优惠券。我可以自动生成该优惠券,但我猜一些商家想要输入他们自己的系统上的优惠券,对吗?

问题是 - 我应该如何设计系统以实现上述目标?

我还要强调,我网站上列出的产品将来自不同的商家。我不会列出我自己的产品。商家就像在Groupon.com上一样列出他们自己的产品。

生成优惠券代码而不是商家输入代码是否可行?这是否意味着他们必须在自己的系统上支持这些代码?如果jcpenny.com在我的网站上输入产品,我可以为这些产品生成优惠券代码,但是如果jcpenny.com不支持这些优惠券代码怎么办?我猜测商家想要输入自己的代码......或者我错了?

1 个答案:

答案 0 :(得分:2)

我建议为每个请求生成优惠券代码。如果有人订购2,则生成2个代码。

如果有人为朋友购买,或者同一个用户多次购买,则会更容易。我实际上在我写的系统中有相同的情况,它最终成为我案例中最方便的解决方案。

当然,这是一个意见问题......