powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Подскажите как реализовать.
8 сообщений из 8, страница 1 из 1
Подскажите как реализовать.
    #39514522
Sashaua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет, подскажите как правильно сделать следующую фичу.
Есть таблица заказов в которой храниться ID службы доставки через которую отправили заказ (id_deliveryservice) и номер отправления (tracknumber).
Есть таблица слубж доставки типа где храниться информация о службах доставки.
IDNAMEAPIKEY
Поступили задача трекать статус доставки с программы, у служб доставки есть прекрасные API которые отдают JSON с полной информацией о статусе посылки, у каждой службы доставки своя структура как реквеста так и респонса.
Входные и выходные данные для трекинга будут унифицированные (на вход передать трек номер) и получить на выходе данные о статусе. А саму магию делать в средине некой функции или ряда функций.
Собственно вопрос как это реализовать чтобы меньше было всяких IF и легко в одном месте можно было добавлять новые службы доставки или редактировать в случае изменения API?
...
Рейтинг: 0 / 0
Подскажите как реализовать.
    #39514537
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
При чём здесь Delphi ?
Тут разумнее спросить:
http://www.sql.ru/forum/db-design
...
Рейтинг: 0 / 0
Подскажите как реализовать.
    #39514544
Sashaua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Приложение на Delphi, а вот база здесь участия мало принимает.
...
Рейтинг: 0 / 0
Подскажите как реализовать.
    #39514548
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Sashauadefecator,

Приложение на Delphi, а вот база здесь участия мало принимает.

Тогда надо вспомнить объектно-ориентированное программирование.
...
Рейтинг: 0 / 0
Подскажите как реализовать.
    #39514556
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставить один лишний иф и строчку кода -- мелочь по сравнению с реализацией протокола обмена со службой доставки. Более того, службы бывают настолько разные, что у них будет не только реализация отличаться (json, xml, soap, plain text), но и банальные коды ошибок и статусов. Я бы начал с приведением к одному общему внутреннему формату и составлению списка базовых операций с дальнейшей реализации этих самых операций в отдельных модулях (один модуль-класс -- одна служба доставки: инициализация настроек доступа-подключения, получение статуса посылки, заявка на доставку и т.п. верхнеуровневые методы).
...
Рейтинг: 0 / 0
Подскажите как реализовать.
    #39514631
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно, тут очень нужно знать подробности
но в общем, с т.з. ООП мы имеем необходимость выработать общий класс-предок и для каждой из служб перекрывать методы получения информации
...
Рейтинг: 0 / 0
Подскажите как реализовать.
    #39523541
Sashaua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите еще.
Реализовал так.
Каждая служба доставки отдельный класс, в котором реализуется своя магия получения статуса отправления.
Вопрос, как правильно без костылей обратиться к правильному классу в зависимости от службы доставки (в каждой службы доставки свой уникальный ID)?
...
Рейтинг: 0 / 0
Подскажите как реализовать.
    #39523575
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sashaua,

Процедура трекинга на скриптовом языке. Скрипт в базе и связан со службой доставки.
У меня подобным образом организован импорт банковских выписок.
Там тоже форматы разные и требуется добавление новых видов: txt, dbf, xml и т.д. Сделал на FastScript.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Подскажите как реализовать.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]