mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 17:04:48 +00:00
100 lines
3.8 KiB
Python
100 lines
3.8 KiB
Python
"""Заводим тестовых клиентов с замерами в разных статусах
|
||
для проверки кабинета менеджера. Запускать раз — потом руками
|
||
почистить строки в 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()
|