Files
wecom_it_smart_desk/backend/tmp_seed_test_data.py
T
Simon bea288e414 feat: 2026-07-11 全量更新 - 代办集成+会议室预定+知识迭代修复+UI统一+Bug修复
== 已部署上线 (9项) ==
- 代办事项真实数据源集成 (企微审批API 8bug修复链)
- H5/坐席端 Logo样式统一+绿色背景
- 视频引导页修复 (localStorage key v2)
- 坐席端 v9 Vue版本修复 (ElMessage._context)
- 截图按钮 v10 修复 (getDisplayMedia user gesture)
- 扫码样式恢复+H5扫码登录跳转修复
- H5截图快捷键提示

== 代码完成待部署 (3项) ==
- 知识迭代3Bug修复 (#8 POST端点/#7 MERGE幂等/#6 过期检查)
- 会议室预定-小鱼易联终端 (40文件, 40/40测试通过)
- IT资产升级审批推送 (asset_service.py)

== 需求文档 (2项) ==
- 坐席端AI辅助消息框-PRD (4项新功能确认)
- 坐席端布局优化建议 v2.0 (7天计划)

== 新增文档 ==
- 日报-2026-07-11.md
- 知识迭代Bug修复报告-20260711.md
- 会议室预定-部署指南.md
- CHANGELOG.md 更新

== 测试 ==
- test_todo_integration.py: 40/40
- test_meetingroom.py: 40/40
- test_bugfix_ki_suggestions.py: 21/21
2026-07-11 23:13:10 +08:00

99 lines
4.1 KiB
Python

"""
临时脚本:为本地 DEV 环境填充测试数据
1. 创建 agents 表记录(dev-agent-001 主责 + dev-agent-002 协作)
2. 在 employees 表中插入带部门信息的测试员工(使搜索和组织架构树有数据)
运行后可删除。
"""
import asyncio
import sqlite3
import uuid
from datetime import datetime
DB_PATH = r"D:\资料\03-项目开发\wecom_it_smart_desk\backend\smartdesk.db"
# ============================================================================
# 测试员工数据(department 字段直接存部门名,非 JSON ID 数组,仅 DEV_MODE 使用)
# ============================================================================
TEST_EMPLOYEES = [
# (employee_id, name, department, corp_id)
("dev-user-001", "张三", "研发一部", "dev_corp"),
("dev-user-002", "王五", "人事部", "dev_corp"),
("dev-user-003", "赵六", "研发一部", "dev_corp"),
("dev-user-004", "钱七", "研发二部", "dev_corp"),
("dev-user-005", "孙八", "研发二部", "dev_corp"),
("dev-user-006", "周九", "产品部", "dev_corp"),
("dev-user-007", "吴十", "产品部", "dev_corp"),
("dev-user-008", "郑十一", "测试部", "dev_corp"),
("dev-user-009", "王芳", "测试部", "dev_corp"),
("dev-user-010", "李明", "运维部", "dev_corp"),
("dev-user-011", "陈静", "运维部", "dev_corp"),
("dev-user-012", "刘洋", "财务部", "dev_corp"),
("dev-agent-002", "陈静(协作坐席)", "IT支持组", "dev_corp"),
]
# ============================================================================
# Agent 记录(使 Mock 登录的 token 能通过 get_current_agent 认证)
# ============================================================================
TEST_AGENTS = [
("dev-agent-001", "李四(IT坐席)", "online", "agent"),
("dev-agent-002", "陈静(协作坐席)", "online", "agent"),
]
def seed():
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()
# --- 1. 插入/更新 agents 表 ---
print("=== 写入 agents 表 ===")
for user_id, name, status, role in TEST_AGENTS:
# 先检查是否已存在
existing = c.execute("SELECT id FROM agents WHERE user_id = ?", (user_id,)).fetchone()
if existing:
c.execute(
"UPDATE agents SET name=?, status=?, role=? WHERE user_id=?",
(name, status, role, user_id),
)
print(f" 更新: {user_id} ({name})")
else:
agent_id = str(uuid.uuid4())
c.execute(
"""INSERT INTO agents (id, user_id, name, status, current_load, max_load, role, skill_tags, created_at, updated_at)
VALUES (?, ?, ?, ?, 0, 5, ?, '[]', ?, ?)""",
(agent_id, user_id, name, status, role, datetime.now(), datetime.now()),
)
print(f" 新增: {user_id} ({name})")
# --- 2. 插入/更新 employees 表 ---
print("\n=== 写入 employees 表 ===")
for emp_id, name, dept, corp_id in TEST_EMPLOYEES:
existing = c.execute(
"SELECT id FROM employees WHERE corp_id=? AND employee_id=?",
(corp_id, emp_id),
).fetchone()
if existing:
c.execute(
"UPDATE employees SET name=?, department=? WHERE corp_id=? AND employee_id=?",
(name, dept, corp_id, emp_id),
)
print(f" 更新: {emp_id} ({name}) — {dept}")
else:
emp_uuid = str(uuid.uuid4())
c.execute(
"""INSERT INTO employees
(id, corp_id, employee_id, name, department, position, mobile, email, avatar, status, it_level, it_level_source, notes, created_at, updated_at)
VALUES (?, ?, ?, ?, ?, '', '', '', '', 1, 'silver', 'system', '{}', ?, ?)""",
(emp_uuid, corp_id, emp_id, name, dept, datetime.now(), datetime.now()),
)
print(f" 新增: {emp_id} ({name}) — {dept}")
conn.commit()
conn.close()
print("\n✅ 测试数据写入完成!")
print(f" agents 表: {len(TEST_AGENTS)}")
print(f" employees 表: {len(TEST_EMPLOYEES)}")
if __name__ == "__main__":
seed()