feat(parsers): добавлен парсер zakupki.gov.ru с SOAP API интеграцией
Реализована полная интеграция с ЕИС Закупки через SOAP API (FTP доступ закрыт с 01.01.2025). Добавлено: - ZakupkiClient с поддержкой SOAP методов getDocsByOrgRegionRequest и getDocsByReestrNumberRequest - Модель ProcurementRecord (18 полей, 3 индекса) - ProcurementService и ParserLoadLogService для бизнес-логики - Celery задачи parse_procurements и sync_procurements - Админка с цветовой индикацией статусов и фильтрами - 71 тест (unit + E2E с RUN_E2E_TESTS=1) Требования: токен SOAP API через Госуслуги 🤖 Generated with [Qoder][https://qoder.com]
This commit is contained in:
44
CHANGELOG.md
44
CHANGELOG.md
@@ -6,6 +6,50 @@
|
||||
|
||||
---
|
||||
|
||||
## [0.3.0] - 2026-01-27
|
||||
|
||||
### Добавлено
|
||||
|
||||
#### Парсер zakupki.gov.ru (`apps.parsers.clients.zakupki`)
|
||||
- **ZakupkiClient** — клиент для получения данных о закупках:
|
||||
- Интеграция через SOAP API (FTP закрыт с 01.01.2025)
|
||||
- Методы: `getDocsByOrgRegionRequest`, `getDocsByReestrNumberRequest`
|
||||
- Парсинг XML/ZIP архивов с поддержкой множественных кодировок (UTF-8, Windows-1251)
|
||||
- Поддержка прокси-серверов
|
||||
- Маппинг 80+ регионов РФ
|
||||
|
||||
- **Модель ProcurementRecord** (`models.py`):
|
||||
- 18 полей: номер закупки, ИНН/КПП/ОГРН заказчика, НМЦ, тип закона (44-ФЗ/223-ФЗ), статус
|
||||
- Поля региона, года, месяца для фильтрации
|
||||
- `load_batch` для отслеживания пакетной загрузки
|
||||
- 3 индекса для оптимизации запросов
|
||||
|
||||
- **Сервисный слой** (`services.py`):
|
||||
- `ProcurementService` — сохранение, поиск, отслеживание загрузок
|
||||
- `ParserLoadLogService` — логирование результатов парсинга
|
||||
- Bulk-операции с chunking и обработкой дубликатов
|
||||
|
||||
- **Celery задачи** (`tasks.py`):
|
||||
- `parse_procurements` — загрузка по региону/году/месяцу с BackgroundJob tracking
|
||||
- `sync_procurements` — синхронизация помесячно с автопродолжением
|
||||
|
||||
- **Админка** (`admin.py`):
|
||||
- Цветовая индикация статусов
|
||||
- Поиск по номеру закупки, ИНН, ОГРН, названию заказчика
|
||||
- Фильтры: тип закона, статус, регион, batch, дата создания
|
||||
- Read-only режим
|
||||
|
||||
#### Тестирование
|
||||
- 71 тест (66 unit + 5 E2E)
|
||||
- `ProcurementRecordFactory` с Faker("ru_RU")
|
||||
- E2E тесты с реальными HTTP-запросами (активация: `RUN_E2E_TESTS=1`)
|
||||
- Покрытие: клиент, сервисы, задачи
|
||||
|
||||
### Требования для работы
|
||||
- Токен SOAP API (получается через Госуслуги на `https://zakupki.gov.ru/pmd/auth/welcome`)
|
||||
|
||||
---
|
||||
|
||||
## [0.2.0] - 2026-01-21
|
||||
|
||||
### Добавлено
|
||||
|
||||
Reference in New Issue
Block a user