Compare commits

..

No commits in common. "4c56c5189a8b8f4e3fff13f7eb301b2cd0a4ebfe" and "5d7c3e1c30d786b8aa7f5d2c0647d70959d2877c" have entirely different histories.

2 changed files with 6 additions and 14 deletions

View file

@ -284,13 +284,10 @@ def get_estimate(
else None
)
# (oblast C2): city-scope корридора на GET-rehydrate. NB: row.address здесь =
# geo.full_address (персистится на estimate-time), который РОНЯЕТ город для
# не-ЕКБ («Ленина, 1») → target_city=None → corridor unscoped/None для не-ЕКБ
# (KNOWN LIMITATION: POST-path чинит через payload.address; GET получит паритет
# когда raw payload.address начнёт персиститься — follow-up). Для ЕКБ ок; reorder
# ниже безвреден (оба source city-stripped для не-ЕКБ, оба екб для ЕКБ).
target_city = _resolve_target_city(row.address) or _resolve_target_city(row.canonical_address)
# (oblast C2): city-scope корридора на GET-rehydrate тоже — тот же
# resolver, что и на POST (estimate_quality), над персистированным адресом
# (canonical_address приоритетнее сырого row.address, если DaData отработал).
target_city = _resolve_target_city(row.canonical_address or row.address)
dkp_raw = _fetch_dkp_corridor(
db, address=row.address, rooms=row.rooms, area=area_f, city=target_city
)

View file

@ -3207,18 +3207,13 @@ async def estimate_quality(
# (oblast C2): city-scope корридора — та же precedence, что и для
# match_house_readonly выше (dadata.canonical_address приоритетнее сырого
# geo.full_address, если DaData отработал).
# payload.address (пользовательский ввод) — САМЫЙ надёжный источник города:
# geocoder.full_address/canonical часто роняют город для не-ЕКБ («Ленина, 1»
# вместо «Нижний Тагил, Ленина, 1») → без этого city-scope коридора (C2) был
# бы no-op для всей области (verified прод: tc=None → corridor=None). Fallback
# на canonical/geo для bare-адресов без города.
target_city = _resolve_target_city(payload.address) or _resolve_target_city(
target_city = _resolve_target_city(
(dadata.canonical_address if dadata else None) or geo.full_address
)
dkp_raw = await asyncio.to_thread(
_fetch_dkp_corridor,
db,
address=payload.address,
address=geo.full_address,
rooms=payload.rooms,
area=payload.area_m2,
city=target_city,