Написать локальный сервер на python
написание локального сервера на python очень важно писать код читабельно, доступно и комментируя все процедуры
если вы не писали код для автозапчастей , то очень сложно будет понять специфику работы( если есть опыт написания вебсервиса к поставщику автозапчастей , то трудностей не будет вовсе)
многопоточное получение формирование и выдача данных
1 поле ввода "отправка запроса к источникам
слушает hhtp-порт" на сервере приведение запроса к формату (нижний регистр, убирание знаков и пробелов и тд)
2 формирование ответа "по протоколу HTTP поступает запрос содержащий артикул товара
на сервере приведение запроса к формату (нижний регистр, убирание знаков и пробелов и тд)
необходимо учитывать в дальнейшем, что каждый поставщик называть бренд может как угодно ( в 1с есть справочник который я заполняю, синонимы бренда)
Система обращается к Таблице analoglistrow в БД av_server и получает список артикулов(брендов) всех аналогов заданного товара(связка бренд – артикул)
Далее для каждого полученного бренда-артикула скрипт обращается к Таблице pricelist_productlist БД av_server и получает информацию о
priceListID
manufacturer
number
description
comment
quantity
price
price1
deliveryPeriod
minimumOrder
partner
далее по priceListID обращается Таблице pricelist в БД av_server получает список
comment
objectID
currency валюта
objectDate
параллельно обращается к бд 1с(серверная)
и вытягивает данные по связке бренд артикул
параметры номенклатуры(бренд артикул описание , код поиска , поиск по модели)
цену закупочную и розничную данной партии на остатке склада
склад
кол проданных шт и реализованных шт
Все полученные запросы объединяются, стандартизируются , группируются в текстовый вид в формате JSON и возвращается по HTTP пользователю."
3 вывод информации "определится с форматом вывода инфы(для 1с и для web)
по http? Текст соответствует JSON" на сервере приведение запроса к формату (нижний регистр, убирание знаков и пробелов и тд)
моменты: пробитие артикула два вида без выбора бренда видимо отправлять вместе с запросом
с выбором бренда
settings.py логины пароли
отключить остатки
отключить аналоги
таймаут ответа в секундах
работа с журналом заказов и корзиной при ее наличии
вести логирование в файл с описанием ошибки
средне control/модуль формирование прайс листа для рассылки настройка по времени и выбору источников и брендов , наценка
средне control/модуль рассылка прайс листа настройки времени и количества раз, адреса(а может лучше брать из бд)
средне control/модуль чтение прайсов с почты и заливка в бд создать интерфейс настройки заливки прайсов в бд(храение настроек, изменение)
средне control/модуль скачивание прайсов с сайтов и заливка в бд
важно control/модуль сохранение кроссов в БД при пробитии кроссов в веб сервисе , заливать их бд (для скорости работы, можно формировать во временном .csv и раз в сутки проверять в бд и загружать не найденные
позже control/модуль api для покупателей
БД
выжно control/модуль бд прайсы+аналоги
выжно control/модуль бд 1с остатки цены( склада) (поступления /продажи)
позже control/модуль бд каталог
позже control/модуль бд кроссы
вебсервисы
выжно control/модуль микадо soap xml
выжно control/модуль росско SOAP
выжно control/модуль авторусь
control/модуль автопитер
control/модуль автоспутник
control/модуль автоконтинент
control/модуль berg
control/модуль armtek
control/модуль иксора
control/модуль froza
control/модуль allautoparts
модели "mfi": 0, //Внешний ключ на manufacturerList.i class ProductListRow {
"ns": "d735o05", //Стандартизированный номер(артикул) без спец. символов i: number;
"n": "D735O05", //Номер(артикул) mfi: number;
"d": "Буфер" //Описание детали ns: string;
n: string;
d: string;
dbi: number;
}