Диплом: Автоматизация продажи авиабилетов в ООО «Avia Traffic Company»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
57
Вся информация очень наглядная. Интерфейс интуитивно понятный.
Тоже самое касается и формы отправки сообщения в тех поддержку
авиакомпании. В результате отправки такого сообщения, у посетителя сайта
появляется информация об успешном принятии его обращения, и соответственно
зарегистрированный номер обращения, по которому далее в спорной ситуации
можно будет поднять всю историю действий технической поддержки.
Также, помимо так называемой фронтальной части, есть ещё и
бэкендовская часть, которая доступна только для администратора системы,
сотрудника технической поддержки, или сотрудника коммерческого отдела.
Бекендовская часть в целях безопасности закрыта логином и паролем, и
чтобы попасть на главную страницу бекенд части показанную на рисунке 13,
обязательно необходимо пройти авторизацию, показанную на рисунке 14.
Рисунок 13. Главная страница бэкенд части.
Рисунок 14. Авторизация в бекенд часть системы.
58
Благодаря системе управления контентом OctoberCMS, все бэкенд формы
разрабатываются довольно быстро и легко. Все они имеют идентичный
интерфейс, который является частью всей системы. В качестве примера,
хотелось бы рассмотреть листинг таблицы заказов и форму добавления в какую-
либо справочную таблицу.
К примеру, в листинге заказов, отображённом на рисунке 15, показаны
следующие поля: общая стоимость заказа, сумма возврата, итоговая сумма,
статус заказа, дата изменений, валюта заказа, таймлимит брони, номер заказа,
email заказчика, к которому в последствии может быть привязан пользователь
заказа, телефон заказчика, дата создания, IP адрес выполнявшего заказ билетов,
ID заказа в платёжной системе, и мета маркер.
Рисунок 15. Листинг страницы с заказами.
Все листинги в программе имеют обязательное поле поиска, которое
расположено справа вверху. Поиск осуществляется с применение технологии
AJAX и проходит только по тем полям, которые указаны в найстройках к данной
модели таблицы. Каждая таблица имеет свою собственную модель – PHP класс
с его уникальными методами. А также YAML файлы fields.yaml – в котором
происходит настройка формы добавления новой записи в таблицу, и
columns.yaml – информация о полях, которые необходимы для размещения в
листинге контроллера.
59
Ниже, на рисунке 16, рассмотрено добавление в таблицу расписания
новой записи.
Рисунок 16. Добавление новой записи в расписание.
Таким образом, если нам необходимо, чтобы данная запись участвовала в
правилах формирования городов на первом шаге поиска авиабилетов, то
переключатель необходимо установить в активную позицию. Далее вводятся
номер рейса, частота полётов по дням недели (например частота 14 обозначает,
что данный рейс выполняется только по понедельникам и четвергам), задается
период действия расписания, выбирается пункт отправления и прибытия,
согласно таблицы городов, указывается локальное время вылета и прилёта, при
надобности добавляется комментарий, который потом будет доступен на сайте в
модуле расписания полётов.
Примерно таким образом работает каждая форма контроллеров в бэкэнде.
Считается, что это довольно хороший подход в разработке OctoberCMS,
поскольку все модули сторонних разработчиков, всегда будут иметь одинаковый
интерфейс и похожую стандартную базовую функциональность. Стоит также
отметить, что при таком подходе существенно ускоряется процесс разработки
бэкенда.
2.3. Программное обеспечение задачи
2.3.1. Общие положения (дерево функций и сценарий диалога)
60
Рисунок 17. Дерево функций.
На рисунке 17 представлено дерево функций. Как мы можем наблюдать –
для двух разных частей сайта, где описана разная функциональность. В свою
очередь далее функциональность делится на основную и служебную. Если взять
фронт часть, то мы сможем наблюдать, что служебные функции, как бы
помогают исполнению основных функций. Таким образом, к примеру, если взять
функцию поиск и выбор рейса/тарифа, то мы можем при более детальном
рассмотрении увидеть, что в данной функции собраны практически все
служебные функции.
Далее, согласно разработке дерева функций, составлен сценарий диалога
для основного меню фронт части сайта, которую необходимо доработать для
размещения на ней нового плагина. Сценарий можно посмотреть на рисунке 18.
61
Рисунок 18. Сценарий диалога фронт части.
Тоже самое, касаемо сценария диалога для бекенд части, отображает и
рисунок 19.
Рисунок 19. Сценарий диалога бекенд части.
2.3.2. Характеристика базы данных
ER модель базы данных отображена на рисунке 20.
62
Рисунок 20. ER-модель.
Ниже, для каждой из таблиц, приведено её соответствующее описание по
полям.
Таблица 4
Таблица заказов
Наименование
поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
ID
id
INT
10
Ключевое
поле
Номер заказа
pnr
VARCHAR
6
Дата создания
created_at
TIMESTAMP
Дата
обновления
updated_at
TIMESTAMP
Сумма заказа
total
DECIMAL
10,2
Сумма возврата
refund
DECIMAL
10,2
Баланс
total
DECIMAL
10,2
Статус
status
INT
11
Валюта
currency
VARCHAR
255
Таймлимит
utc_timelimit
DATETIME
Номер заказа
англ
regnum
VARCHAR
6
Email заказчика
customer_email
VARCHAR
255
Телефон
заказчика
customer_tel
VARCHAR
255
Имя заказчика
customer_firstname
VARCHAR
255
Фамилия
заказчика
customer_lastname
VARCHAR
255
ID пользователя
user_id
INT
11
ключ
Слаг
slug
VARCHAR
191
63
Продолжение таблицы 4
Наименование
поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Первая фамилия
пассажира
firstpaxname
VARCHAR
255
Цены
prices
TEXT
Сегменты
segments
TEXT
ID платежа
payment_id
INT
11
URL платежа
payment_url
VARCHAR
255
Дата оплаты
payment_at
DATETIME
Флаг неудачной
оплаты
is_reject
TINYINT
1
Путь до маршрут
квитанции
receipt
VARCHAR
255
IP адрес
purchase_ip
VARCHAR
255
Оплачено
real_total
DECIMAL
10,2
Маркер
marker
VARCHAR
255
ID платёжной
системы
pays_id
INT
11
ключ
Мета поисковик
meta_finder
VARCHAR
255
ключ
Мета маркер
meta_marker
VARCHAR
255
Таблица 5
Таблица платежных шлюзов
Наименование
поля
Идентификатор поля
Тип
поля
Длина
поля
Прочее
ID
id
INT
10
Ключевое
поле
ID в системе
оплаты Платрон
platron_merchant_id
INT
11
Название
системы оплаты
payment_gateway
VARCHAR
255
Секретный
ключ Платрона
platron_secret_key
VARCHAR
255
Система оплаты
Платрона
platron_payment_system
VARCHAR
255
Результативный
URL
platron_result_url
VARCHAR
255
Успешный URL
platron_success_url
VARCHAR
255
Описание
системы оплаты
payment_gateway_description
VARCHAR
255
Не удачный URL
platron_failure_url
VARCHAR
255
64
Таблица 6
Таблица метапоисковиков
Наименование
поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
ID
id
INT
10
Ключевое
поле
Название
name
VARCHAR
255
Маркер
marker
VARCHAR
255
Логин
partner
VARCHAR
255
Тип профита
profit_type
VARCHAR
255
Значение
профита
profit_value
DECIMAL
10,2
Пароль
password
VARCHAR
255
Таблица 7
Таблица национальностей (кодов стран)
Наименование
поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
ID
id
INT
10
Ключевое
поле
Название
title
VARCHAR
191
Код
code
VARCHAR
191
Таблица 8
Таблица пользователей
Наименование
поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
ID
id
INT
10
Ключевое
поле
Имя
name
VARCHAR
255
E-mail
email
VARCHAR
255
Уникальное
Пароль
password
VARCHAR
255
Активационный
код
activation_code
VARCHAR
255
Ключ
Проверочный
код
persist_code
VARCHAR
255
65
Продолжение таблицы 8
Наименование
поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Код для
сбрасывания
пароля
reset_password_code
VARCHAR
255
Ключ
Права доступа
permissions
TEXT
Флаг
активирования
is_activated
TINYINT
1
Дата активации
activated_at
TIMESTAMP
Дата последнего
посещения
last_login
TIMESTAMP
Дата создания
created_at
TIMESTAMP
Дата
редактирования
updated_at
TIMESTAMP
Имя пользователя
username
VARCHAR
255
Ключ
Фамилия
surname
VARCHAR
255
Дата удаления
deleted_at
TIMESTAMP
Дата последнего
действия
last_seen
TIMESTAMP
Флаг гостя
is_guest
TINYINT
1
Флаг
суперпользователя
is_superuser
TINYINT
1
Дисконт
discount
INT
11
IP адрес создателя
created_ip_address
VARCHAR
191
Последний
используемый IP
Адрес
last_ip_address
VARCHAR
191
Токен для API
приложения
api_token
TEXT
Активационный
код для
приложения
activation_code_app
VARCHAR
191
66
Таблица 9
Таблица оповещений
Наименование
поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
ID
id
INT
10
Ключевое
поле
Css класс для
отображения
css
VARCHAR
255
Код
использования
where
VARCHAR
255
Текст
оповещения
text
TEXT
Флаг
активности
is_active
TINYINT
1
Таблица 10
Таблица расписания
Наименование
поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
ID
id
INT
10
Ключевое
поле
Номер рейса
flight
INT
11
Дата начала
выполнения
period_start
DATE
Дата конца
выполнения
period_end
DATE
Частота
freq
VARCHAR
255
Вылет из
dep
VARCHAR
255
ключ
Время вылета
dep_time
TIME
Сдвиг вылета
dep_offset
INT
11
Прилёт в
arr
VARCHAR
255
ключ
Время прилёта
arr_time
TIME
Сдвиг прилета
arr_offset
INT
11
Код компании
company
VARCHAR
255
Комментарий
comment
VARCHAR
191
Флаг
активности
is_active
TINYINT
1

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)