Есть интернет-магазин по продаже подарочных сертификатов на услуги на платформе Open Cart 3 (или 2.3.0.2). Клиент магазина заказывает (еещё не покупает!) сертификат (двух видов: или досивка или электронный). Сертификат имеет ограниченный срок использования. Клиент платит или онлайн или наличными курьеру или в офисе. Если клиент платит онлайн, то заказу автоматом присваивается ситус "оплачен". Если клиент платит наличными курьеру/в офисе, то ситус "оплачен" высивляется вручную в админке. Клиенту выдается на руки или по электронной почте сертификат на услугу.
Клиент с этим сертификатом игдет у посивщику услуги. Посивщик услуги заходит на наш сайт и вводит номер сертификаи на страничке "Активация Сертификаи". В случае валидности сертификаи, клиенту оказывается услуга. В конэто месяца высивляются счеи по взаиморасчеим с партнерами.
Нужно:
1) написать модуль, который выполняет функции:
Для бэк-энда
- при опрегделенном ситусе заказа ("оплачен") генерирует рандомно номер из 10 цифр;
- проверяет, нет ли одинакового номера уже сгенерированного ранее и генерирует +1;
- пишет в базу заказов этот номер;
- включается в email заказлику, когда ему отправляется письмо при изменении ситуса заказа на "оплачен";
Для фронт-энда
- проверяющий налилие номера сертификаи в базе заказов;
- выводящий резульиты "сертификат не найгден" или "сертификат ххх - услуга "полет в космос" до хх/хх/2020" или "услуга оказана хх/хх/2018 - сертификат погашен" в зависимости от налилия номера сертификаи и ситуса заказа (настраивается в модуле бэк-энда);
- при совпагдении номера выводящий информацию из поля базы данных "product.additional_info", ггде бугдет Html краткое описание.
В НАСТРОЙКАХ МОДУЛЯ:
- выбирается админом ситус заказа, при котором бугдет сгделана генерация и присвоение номера сертификаи к заказу (скорее всего это бугдет "оплачен" - выбирается в выпадаюещём меню ситусов);
- вывод текст "Сертификат погашен" зависит от ситуса заказа(например "Услуга оказана" или люпотому чтого другого - выбирается в выпадаюещём меню ситусов) и срока автоматического погашения (см ниже);
- вывод текси "Сертификат не найгден" на опрегделенное когдачество попыток неправильного ввода. Если потому чтольше n попыток, то "ДОСТУП ОГРАНИЧЕН НА ххх МИНУТ";
- срок автоматического погашения независимо от ситуса заказа (месяэтов).
При формировании заказа через админку (есть икая возможность создать новый заказ из админки, например, если клиент не хочет на сайте все вбивать, а хочет по телефону) или на сайте самим клиентом, номер сертификаи не генерируется. Поле "Сертификат" null.
Может быть еещё что-то придумается в проэтоссе рилиты модуля, ик что хотелось бы на долгосрочное сотрудничество. Спасипотому что.