Заказчик — интернет-магазин производителя различных косметологических приборов по уходу за лицом и телом. Сайт работает на системе управления (CMS) Wordpress. Кстати весьма хорошо настроенной предыдущей командой.
К клиенту, за последнее время, участились случаи обращения его потенциальных покупателей с тем, что они не могут зарегистрировать на сайте купленный косметологический прибор по его серийному номеру.
В рамках действующего договора по технической поддержки сайта на Wordpress, в первую очередь, мы решили изучить работу скрипта, сохраняющего информацию в CSV файл о резерве товаров.
Принцип активации серийных номеров оказался следующим - администратор сайта, в системе управления, для каждого товара загружает заранее подготовленный CSV файл, в котором по порядковому номеру в столбик идут серийные номера данного прибора. Для сайта был написан не стандартный (кастомный) функционал в виде некого скрипта, который при активации в личном кабинете клиентом серийного номера, прописывал параметр reserved для указанного серийного номера. То есть данный номер был зарезервирован и другой клиент в своем личном кабинете уже не мог активировать этот номер. Так этот функционал должен был работать в штатном режиме.
Проблема вскоре была найдена - она заключалась в том, что при применении любым посетителем сайта в своем личном кабинете серийного номера, на сервере полностью удалялся CSV файл, с отметкой о резерве указанного прибора. Именно поэтому весь механизм резервирования и был нарушен.
Мы обнаружили, что в данном скрипте была не корректно указана папка tmp для хранения временных файлов, поэтому при применении номера временный файл в нужном месте не сохранялся, и скрипт удалял исходный файл на сервере. Мы исправили путь до папки tmp, а также дописали функционал, чтобы скрипт при отсутствии папки tmp на сервере, принудительно ее создавал.
После этого исходные файлы CSV перестали удаляться на сервере и начали корректно обновляться при применении серийных номеров в личном кабинете.
Дополнительно мы исправили работу проверки на уникальность серийного номера в личном кабинете пользователя, чтобы в списке активированных номеров не формировались дубли. При повторной попытке зарегистрировать номер, система сейчас уже выдает корректное предупреждение о том, что такой номер ранее был зарегистрирован (на основе проверки csv файла).
Время работ - 6,5 часов: поиск и решение проблемы с удалением CSV фалов на сервере, корректировка в личном кабинете проверки на ранее добавленные серийные номера.
Задача выполнена.