Files
wecom_it_smart_desk/backend/tmp_create_dev_agent.py
T

50 lines
1.6 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
# 临时脚本:为 dev-agent-001 创建 Agent 表记录,使本地 dev login 可用于坐席端测试
import sys
import asyncio
from datetime import datetime
from uuid import uuid4
sys.path.insert(0, r'D:\资料\03-项目开发\wecom_it_smart_desk\backend')
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
from sqlalchemy.orm import sessionmaker
from sqlalchemy import select
from app.models.agent import Agent
from app.database import Base
DB_URL = 'sqlite+aiosqlite:///D:/资料/03-项目开发/wecom_it_smart_desk/backend/it_smart_desk.db'
async def main():
engine = create_async_engine(DB_URL, echo=False, future=True)
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
async with async_session() as session:
# 检查是否已存在
stmt = select(Agent).where(Agent.user_id == 'dev-agent-001')
result = await session.execute(stmt)
existing = result.scalars().first()
if existing:
print(f'Agent dev-agent-001 已存在: id={existing.id}, status={existing.status}')
return
agent = Agent(
id=str(uuid4()),
user_id='dev-agent-001',
name='李四(IT坐席)',
status='online',
current_load=0,
max_load=5,
created_at=datetime.now(),
updated_at=datetime.now(),
role='agent',
skill_tags=[],
)
session.add(agent)
await session.commit()
print(f'Agent dev-agent-001 创建成功: id={agent.id}')
if __name__ == '__main__':
asyncio.run(main())