Добавлен провайдер доставки CSE: SOAP-адаптер (Calc + SaveDocuments), маршрутизация init-payment по провайдеру, обобщение tariff_code до строки, география CSE в cities_map
Deploy / deploy (push) Failing after 52s
Deploy / deploy (push) Failing after 52s
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
---
|
||||
id: 035
|
||||
title: Generalize tariff_code to string identifier
|
||||
status: TODO
|
||||
created: 2026-05-30
|
||||
---
|
||||
|
||||
## Context
|
||||
Добавляется второй провайдер доставки CSE («Карго»), который идентифицирует тариф
|
||||
GUID-строкой. Текущие схемы и persistence используют числовой `tariff_code`
|
||||
(`int`), несовместимый с CSE. Требуется обобщить идентификатор тарифа до строки для
|
||||
обоих провайдеров.
|
||||
|
||||
## Goal
|
||||
Перевести `tariff_code` на строковый тип в API-схемах и в persistence, сохранив
|
||||
обратное поведение CDEK (числовой код передаётся как строка).
|
||||
|
||||
## Constraints
|
||||
- Не изменять бизнес-правила в `app/domain/`.
|
||||
- CDEK adapter должен формировать `tariff_code` как строку из своего числового кода.
|
||||
- Сохранить совместимость существующего init-payment контракта, кроме типа
|
||||
`tariff_code`.
|
||||
- Изменение типа колонки выполнить миграцией Alembic.
|
||||
- Не изменять файлы в `spec/`.
|
||||
|
||||
## Acceptance criteria
|
||||
- `DeliveryPrice.tariff_code: str | None`.
|
||||
- `SystemDataTariff.tariff_code: str` с непустым значением.
|
||||
- CDEK `mapper`/`order_mapper` корректно работают со строковым `tariff_code`.
|
||||
- Колонка `orders.tariff_code` имеет строковый тип; добавлена миграция.
|
||||
- Существующие тесты обновлены под строковый `tariff_code`.
|
||||
|
||||
## Definition of Done
|
||||
- [ ] Обновлены схемы `DeliveryPrice` и `SystemDataTariff`.
|
||||
- [ ] Обновлены CDEK мапперы.
|
||||
- [ ] Обновлены модель `Order` и миграция Alembic.
|
||||
- [ ] Затронутые тесты проходят.
|
||||
|
||||
## Tests
|
||||
- Обновить unit-тесты CDEK мапперов и схем.
|
||||
- Проверить миграцию на тестовой БД.
|
||||
|
||||
## Commands
|
||||
- `poetry run pytest -q`
|
||||
Reference in New Issue
Block a user