Дизайн логистической системы на основе идеи Чжунтай (4): логистическая служба и детали логистики

Node.js задняя часть база данных продукт

I. Обзор

В системе логистики мидл-офис отвечает только за циркуляцию логистических заказов, а выполнение конкретной логистики часто требует связи со сторонними курьерскими компаниями. Поскольку технические стандарты сторонних экспресс-компаний отличаются, нам необходимо инкапсулировать интерфейсы сторонних экспресс-компаний.Здесь есть два типа инкапсуляции, одна - инкапсуляция выдачи запросов, а другая - инкапсуляция. получения возвращенных деталей логистики. Для компании доставки мы не только инкапсулируем уровень интерфейса, но и абстрагируем набор сервисных шаблонов, чтобы логистическая служба курьерской компании могла быть представлена ​​продавцам и пользователям в виде продукта. Что касается деталей логистики, мы разработаем собственную модель данных для связи с различными курьерскими компаниями.

2. Логистические услуги

1. Концептуальная модель

Логистическая служба разделена на три части модели: шаблон услуги, модель экспресс-компании и шаблон перевозки. С точки зрения процесса логистическая услуга делится на три этапа: выражение логистической услуги, маршрутизация логистической услуги и выполнение логистической услуги.


Сначала мы войдем в курьерскую компанию и настроим шаблон доставки курьерской компании, затем отредактируем шаблон услуги и, наконец, смонтируем курьерскую компанию, которая может предоставить соответствующую услугу в соответствии с соответствующим шаблоном услуги. После выполнения вышеуказанных шагов продавец может выбрать соответствующий шаблон услуги для различных товаров.Товар с установленным шаблоном услуги может видеть логистическую услугу, когда пользователь размещает заказ.В это время пользователю будет предложено выбрать услугу шаблон.Различные курьерские компании в соответствии с заказом, а затем рассчитайте стоимость логистики в соответствии с шаблоном перевозки курьерской компании, чтобы завершить расчет суммы заказа.Когда последующие продавцы доставят товар, мидл-офис позвонит Различные курьерские компании в соответствии с информацией о моментальном снимке службы логистики в заказе.

2. Модель данных

Модель данных ER показана на следующем рисунке:


2.1, логистика_сервис
Описание: Шаблон службы логистики
Имя поля
Тип поля
Это обнуляемый
описывать
id
bigint
нет
первичный ключ
service_name
varchar(32)
нет
имя шаблона службы
service_code
varchar(32)
нет
код шаблона услуги
type
int
нет
Тип шаблона
status
int
нет
Статус шаблона
is_delete
int
нет
удалить ли отметку
feature
varchar(1024)
да
нет
version
int
да
номер версии, по умолчанию 0
gmt_created
Datetime
нет
время создания
gmt_modified
Datetime
нет
Изменить время
Поля индекса: id, service_code

2.2, логистическая_компания
Имя поля
Тип поля
Это обнуляемый
описывать
id
bigint
нет
первичный ключ
company_name
varchar(32)
нет
Название курьерской компании
company_code
varchar(32)
нет
Код компании курьера
telephone
varchar(32)
да
Телефон компании
phone
varchar(32)
да
Городской номер компании
country
varchar(32)
да
нация
address
varchar(1024)
да
Адрес компании
company_url
varchar(1024)
да
Адрес сайта компании
company_logo
varchar(1024)
да
Адрес изображения логотипа компании
status
int
нет
государство
is_delete
int
нет
удалить или нет
feature
varchar(1024)
да
нет
version
int
да
номер версии, по умолчанию 0
gmt_created
Datetime
нет
время создания
gmt_modified
Datetime
нет
Изменить время
Поля индекса: id, company_code

2.3, логистическая_сервисная_компания
Описание: Таблица связей между шаблоном службы логистики и логистической компанией.
Имя поля
Тип поля
может быть пустым
описывать
id
bigint
нет
первичный ключ
service_id
bigint
нет
Идентификатор шаблона службы
company_id
bigint
нет
ID логистической компании
gmt_created
Datetime
нет
время создания
gmt_modified
Datetime
нет
Изменить время
Индекс: id, service_id, company_id

2.4, грузовой_шаблон
Описание: Шаблон доставки
Имя поля
Тип поля
Это обнуляемый
описывать
id
bigint
нет
первичный ключ
template_name
varchar(32)
нет
Название шаблона доставки
company_id
bigint
нет
Идентификатор компании
company_code
varchar(32)
нет
код компании
template_type
int
нет
Тип шаблона
is_default
int
нет
дефолт
is_delete
int
нет
удалить или нет
status
int
нет
государство
feature
varchar(1024)
да
нет
version
int
да
номер версии, по умолчанию 0
gmt_created
Datetime
нет
время создания
gmt_modified
Datetime
нет
Изменить время
Индекс: id, company_id, company_code

2.5, truck_template_detail
Описание: Детали шаблона доставки
Имя поля
Тип поля
Это обнуляемый
описывать
id
bigint
нет
первичный ключ
template_id
bigint
нет
Идентификатор шаблона доставки
sendAreaCode
varchar(32)
нет
Адресный код четвертого уровня места отгрузки
sendAreaName
varchar(64)
да
Наименование адреса четвертого уровня места происхождения
sendAreaLevel
int
нет
Четырехуровневый адрес места происхождения
receiveAreaCode
varchar(32)
нет
Адресный код четвертого уровня места получения
receiveAreaName
varchar(64)
да
Наименование адреса четвертого уровня места получения
receiveAreaLevel
int
нет
Адрес четвертого уровня места получения
min_weight
Decimal
да
Минимальный вес
max_weight
Decimal
да
Максимальный вес
min_volumn
Decimal
да
Нижний предел громкости
max_volumn
Decimal
да
Ограничение громкости
min_count
int
да
Минимальное количество
max_count
int
да
Лимит количества
price
Decimal
нет
цена
is_default
int
нет
дефолт
is_delete
int
нет
удалить или нет
status
int
нет
государство
calculate_type
int
нет
Тип расчета: 1 Вес 2 Объем 3 Количество
priority
int
нет
приоритет, по умолчанию 0
feature
varchar(1024)
да
нет
version
int
да
номер версии, по умолчанию 0
gmt_created
Datetime
нет
время создания
gmt_modified
Datetime
нет
Изменить время
Индекс: id, template_id, sendAreaCode, ReceiveAreaCode

3. Детали логистики

1. Дизайн процесса


Когда заказ логистики будет отправлен, будет отправлено асинхронное сообщение.После получения сообщения детали логистики создадут лист сведений о логистике, а затем подпишутся на стороннюю экспресс-компанию, а затем курьерская компания асинхронно вернет логистику детали к нам. Для некоторых курьерских компаний, которые не могут подписаться на информацию о логистике, мы регулярно проверяем детали логистики партиями с помощью запланированных задач и синхронизируем их с нашей базой данных.

2. Модель данных


2.1, детали логистики
Описание: лист деталей логистики
Имя поля
Тип поля
Требуется ли
описывать
id
bigint
необходимые
первичный ключ
lg_detail_code
varchar(128)
необходимые
Номер заказа логистической информации
outer_id
varchar(128)
необходимые
внешний номер для отслеживания
outer_order_type
int
необходимые
Тип внешнего заказа: 1 логистический заказ
receiver_id
bigint
Не требуется
Идентификатор грузополучателя
receiver_name
varchar(64)
Не требуется
Имя грузополучателя
receiver_telephone
varchar(32)
Не требуется
телефон грузополучателя
receiver_province
varchar(32)
Не требуется
Провинция грузополучателя
receiver_city
varchar(64)
Не требуется
город получателя
receiver_area
varchar(64)
Не требуется
зона грузополучателя
receiver_street
varchar(64)
Не требуется
улица грузополучателя
receiver_address
varchar(1024)
Не требуется
Полный адрес грузополучателя
receiver_address_code
varchar(32)
Не требуется
четырехуровневое адресное кодирование
sender_id
bigint
Не требуется
Идентификатор отправителя
sender_name
varchar(64)
Не требуется
Имя грузоотправителя
sender_telephone
varchar(32)
Не требуется
Телефон грузоотправителя
sender_province
varchar(32)
Не требуется
Провинция грузоотправителя
sender_city
varchar(64)
Не требуется
Шиппер Сити
sender_area
varchar(64)
Не требуется
Регион отправителя
sender_street
varchar(64)
Не требуется
Шиппер-стрит
sender_address
varchar(1024)
Не требуется
Полный адрес отправителя
sender_address_code
varchar(32)
Не требуется
четырехуровневое адресное кодирование
mail_no
varchar(128)
необходимые
Номер накладной
company_code
varchar(32)
Не требуется
код курьера
company_name
varchar(32)
Не требуется
Название курьерской компании
service_code
varchar(32)
Не требуется
код шаблона услуги
status
int
необходимые
государство
is_delete
int
необходимые
удалить или нет
feature
varchar(1024)
Не требуется
нет
version
int
Не требуется
номер версии, по умолчанию 0
gmt_created
Datetime
необходимые
время создания
gmt_modified
Datetime
необходимые
Изменить время
Индекс: id, lg_detail_code, уникальный (outer_id, external_order_type)

2.2, логистика_detail_node
Имя поля
Тип поля
Требуется ли
описывать
id
bigint
необходимые
первичный ключ
lg_detail_code
varchar(128)
необходимые
Код списка деталей логистики
mail_no
varchar(128)
необходимые
Номер накладной
node_time
Datetime
Не требуется
Время узла сведений о логистике
node_detail
varchar(2048)
Не требуется
Содержимое узла сведений о логистике
sort_value
int
Не требуется
Сортировать
feature
varchar(1024)
Не требуется
нет
version
int
Не требуется
номер версии, по умолчанию 0
gmt_created
Datetime
необходимые
время создания
gmt_modified
Datetime
необходимые
Изменить время
Индекс: идентификатор, lg_detail_code

4. Резюме

Логистические услуги и детали логистики - это уровень абстракции и инкапсуляции для сторонних экспресс-компаний, которые относительно просты.В следующей статье мы введем ключевое содержание: дизайн уровня продукта-услуги.


Для получения дополнительных статей, пожалуйста, посетите http://www.apexyun.com/


Контактный адрес электронной почты: public@space-explore.com

(Пожалуйста, не перепечатывайте без разрешения)