fix(tradein/estimator): резолвить target-город коридора из payload.address (C2 hotfix) #2490
2 changed files with 11 additions and 6 deletions
|
|
@ -284,10 +284,10 @@ def get_estimate(
|
|||
else None
|
||||
)
|
||||
|
||||
# (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)
|
||||
# (oblast C2 + c2fix): city-scope корридора на GET-rehydrate. row.address
|
||||
# (исходный ввод) приоритетнее canonical для резолва города — canonical/geo
|
||||
# роняют город для не-ЕКБ («Ленина, 1»). Corridor уже матчит по row.address.
|
||||
target_city = _resolve_target_city(row.address) or _resolve_target_city(row.canonical_address)
|
||||
dkp_raw = _fetch_dkp_corridor(
|
||||
db, address=row.address, rooms=row.rooms, area=area_f, city=target_city
|
||||
)
|
||||
|
|
|
|||
|
|
@ -3207,13 +3207,18 @@ async def estimate_quality(
|
|||
# (oblast C2): city-scope корридора — та же precedence, что и для
|
||||
# match_house_readonly выше (dadata.canonical_address приоритетнее сырого
|
||||
# geo.full_address, если DaData отработал).
|
||||
target_city = _resolve_target_city(
|
||||
# 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(
|
||||
(dadata.canonical_address if dadata else None) or geo.full_address
|
||||
)
|
||||
dkp_raw = await asyncio.to_thread(
|
||||
_fetch_dkp_corridor,
|
||||
db,
|
||||
address=geo.full_address,
|
||||
address=payload.address,
|
||||
rooms=payload.rooms,
|
||||
area=payload.area_m2,
|
||||
city=target_city,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue