mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 18:04:47 +00:00
seed_test_clients: 4 тестовые заявки в разных статусах
This commit is contained in:
parent
548b4b6177
commit
9cdae3c1c1
99
backend-py/seed_test_clients.py
Normal file
99
backend-py/seed_test_clients.py
Normal 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()
|
||||
Loading…
Reference in New Issue
Block a user