2016-08-19 4 views
0

Я создаю приложение для покупки купонного кода с apis. Вот работа потокаPHP: автоматически обновить таблицу в mysql

  1. Пользователь может выбрать купон (getcoupon апи)

  2. Если купон получается и его помечена как pre_book затем платежное апи для оплаты.

  3. Если платеж успешно, то купон помечается как booked

Это прекрасно работает, но мне нужна помощь в следующем:

Если пользователь prebooked купон и прервал платеж я хочу отметить статус купонного кода как avaliable после некоторого времени (скажем, его 15 минут) это также должно произойти, когда платеж не удался.

Structrue из coupon_code таблицы

1.id-PK

2.coupon_code

3.status

Могу ли я использовать работу крону для этого ?? но я не думаю, что это возможно, потому что это не периодическое обновление.

ответ

1
  1. Сохраните DateTime в попытке оплаты в базе
  2. Создать cronjob, которая проходит каждую минуту
  3. Обновить таблицу и установите PAYMENT_DATE как NULL, используя следующие WHERE в запросе обновления WHERE payment_date < DATE_SUB(NOW(),INTERVAL 15 MINUTE)
+0

Так что мне нужно отношение с таблицей оплаты и таблицей coupo_code? –

+0

нет, просто добавьте столбец в ту же таблицу с именем payment_date или когда вы хотите сохранить историю всех попыток оплаты, создайте новую таблицу и присоединитесь к ним. – AgeDeO

+0

Но запустите работу на работу с кроной каждую минуту? есть ли какие-либо проблемы с производительностью? –

Смежные вопросы