2016-08-19 82 views
0

我正在用apis构建一个简单的优惠券代码购买应用程序。 这里是工作流程PHP:在mysql中自动更新表

  1. 用户可以选择优惠券(getcoupon API)

  2. 如果获得了优惠券,其标记为pre_book然后去支付API支付。

  3. 如果支付成功,则票面标记为booked

这工作得很好,但我需要在以下帮助:

如果用户是prebooked优惠券和中止我要标记的付款优惠券代码状态为avaliable某段时间后(比如15分钟),付款失败时也会发生这种情况。

COUPON_CODE表Structrue

1.id-PK

2.coupon_code

3.status

我可以使用这个老太婆工作?但我不认为这是可能的,因为它不是定期更新。

回答

1
  1. 保存在数据库中
  2. 付款尝试的日期时间创建一个运行的每一分钟
  3. 更新表一个cronjob,并使用设置PAYMENT_DATE为NULL以下WHERE在更新查询WHERE payment_date < DATE_SUB(NOW(),INTERVAL 15 MINUTE)
+0

所以我需要与支付表和coupo_code表关系? –

+0

不,只需在同一个表中添加一列名为payment_date的列,或者当您想要保留所有付款尝试的历史记录时,请创建一个新表并加入它们。 – AgeDeO

+0

但是每分钟都会运行一项不起眼的工作?是否有任何性能问题? –