50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
|
|
#!/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())
|