|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 10s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 13s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m48s
CI / backend-tests (pull_request) Successful in 7m42s
geo_radius_price отбирал лоты по objective_lots.complex_id. Эта колонка проставлена один раз миграцией 76, а еженедельный UPSERT переписывает project_name и не трогает complex_id, поэтому под id ближнего ЖК лежат лоты ЖК из других районов. На проде медиана любого участка сходилась к средней по городу: 125–138 тыс. ₽/м² при реальном разбросе 107–181 тыс. Как в #2962: complex → проект через complex_sources (source='objective'), лоты по project_name, имя проекта сверяется с именем ЖК. Сверка отсекает 4 неверные fuzzy-связи (VEER PARK/Clever Park, Клевер/Веер, Графит/Гранит, Традиции/Традиция) и 2 верные («Новая Ботаника-2», «Теплые кварталы (BAZA)»). Дедуп физлота перенесён в LATERAL по проекту с premise_kind='квартира', чтобы работал покрывающий индекс: иначе запрос шёл 690 мс вместо 62. Апартаменты сейчас есть только у проектов, чьи complexes без координат, так что на медиану фильтр не влияет (570 участков, 0 отличий). SQL вынесен в _GEO_RADIUS_PRICE_SQL, чтобы тест гонял его на временных таблицах. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| admin_cadastre.py | ||
| admin_etl.py | ||
| admin_jobs.py | ||
| admin_leads.py | ||
| admin_scrape.py | ||
| admin_weight_profiles.py | ||
| analytics.py | ||
| chat.py | ||
| concepts.py | ||
| custom_pois.py | ||
| insights.py | ||
| landing.py | ||
| locations.py | ||
| market.py | ||
| me.py | ||
| own_projects.py | ||
| parcels.py | ||
| photos.py | ||
| pilot.py | ||
| ping.py | ||
| trade_in.py | ||
| users.py | ||