seed_test_clients: 4 тестовые заявки в разных статусах

This commit is contained in:
wasrusgen 2026-05-13 19:59:39 +03:00
parent 548b4b6177
commit 9cdae3c1c1

View File

@ -0,0 +1,99 @@
"""Заводим тестовых клиентов с замерами в разных статусах
для проверки кабинета менеджера. Запускать раз потом руками
почистить строки в Google Sheets если не нужно.
"""
from datetime import datetime, timedelta, timezone
from app import sheets
from app.main import _short_id, _row_for_measurement, _ensure_measurements_sheet
MGR_TG_ID = 5937498515 # Руслан (он же замерщик)
def iso(dt):
return dt.astimezone(timezone.utc).isoformat()
def now_iso():
return datetime.now(timezone.utc).isoformat()
def main():
_ensure_measurements_sheet()
now = datetime.now().astimezone()
today_15 = now.replace(hour=15, minute=0, second=0, microsecond=0)
yesterday_11 = (now - timedelta(days=1)).replace(hour=11, minute=0, second=0, microsecond=0)
tomorrow_11 = (now + timedelta(days=1)).replace(hour=11, minute=0, second=0, microsecond=0)
cases = [
# 1. Сегодня в 15:00 — HERO на главной
{
"client_name": "Иванова Анна Сергеевна",
"client_phone": "+7 921 555-12-34",
"address": "СПб, Просвещения 87, кв. 12",
"status": "scheduled",
"scheduled_at": iso(today_15),
"preferred_note": "после звонка обязательно",
"zamer_no": "9001",
},
# 2. Просрочка — вчера 11:00, не выполнено
{
"client_name": "Петров Игорь Васильевич",
"client_phone": "+7 905 111-22-33",
"address": "СПб, Невский пр 100, кв. 5",
"status": "scheduled",
"scheduled_at": iso(yesterday_11),
"preferred_note": "",
"zamer_no": "9002",
},
# 3. Заявка без даты — нужно созвониться
{
"client_name": "Сидорова Елена Михайловна",
"client_phone": "+7 812 444-55-66",
"address": "СПб, Литейный пр 50, кв. 28",
"status": "requested",
"scheduled_at": "",
"preferred_note": "эта неделя, удобно вечером",
"zamer_no": "9003",
},
# 4. Завтра — план на завтра
{
"client_name": "Кузнецов Александр Петрович",
"client_phone": "+7 911 777-88-99",
"address": "СПб, Просвещения 30, кв. 41",
"status": "scheduled",
"scheduled_at": iso(tomorrow_11),
"preferred_note": "узкий проезд от шоссе, лучше с утра",
"zamer_no": "9004",
},
]
created = []
for c in cases:
mid = _short_id()
sheets.append_row("Measurements", _row_for_measurement(
mid, now_iso(),
manager_tg_id=str(MGR_TG_ID),
assigned_to_tg_id=str(MGR_TG_ID), # назначен на себя
requested_by_tg_id=str(MGR_TG_ID),
filled_by="request",
status=c["status"],
scheduled_at=c["scheduled_at"],
address=c["address"],
client_name=c["client_name"],
client_phone=c["client_phone"],
preferred_note=c["preferred_note"],
preferred_type="tbd",
zamer_no=c["zamer_no"],
notes="[TEST] seed data — можно удалить из Sheets",
))
created.append(f"{mid[:8]} · {c['status']:9} · {c['client_name']}")
print("Создано:")
for c in created:
print("", c)
if __name__ == "__main__":
main()