Files
wecom_it_smart_desk/docs/class-diagram.mermaid
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

72 lines
2.3 KiB
Plaintext

# 代办事项类图
```mermaid
classDiagram
class TodoSourceService {
<<abstract>>
+agent_userid: str
+redis: aioredis.Redis
+get_todo_list() List~TodoItemData~*
+get_todo_detail(item_id: str) TodoItemData*
}
class ApprovalTodoService {
-redis: aioredis.Redis
-agent_userid: str
-semaphore: asyncio.Semaphore
+get_todo_list() List~TodoItemData~
+get_todo_detail(sp_no: str) TodoItemData
-_fetch_approval_sp_no_list() List~str~
-_fetch_approval_details(sp_no_list: List~str~) List~dict~
-_filter_by_current_approver(details: List~dict~) List~dict~
-_map_to_todo_item(detail: dict) TodoItemData
}
class ITSMService {
-base_url: str
-app_id: str
-app_secret: str
-redis: aioredis.Redis
-agent_userid: str
+get_todo_list() List~TodoItemData~
+get_todo_detail(workitem_id: str) TodoItemData
-_do_post(url: str, body: dict) dict
-_get_workitem_detail(process_instance_id: int, executor: str) dict
}
class ITSMSigner {
+compute_signature(app_id: str, timestamp: str, app_secret: str, biz_data: dict) str
-_get_signature_compatible(params: dict) str
}
class TodoAggregatorService {
-redis: aioredis.Redis
-cache_ttl: int
+get_todo_list(agent_userid: str, todo_type: Optional~str~) dict
+get_todo_detail(agent_userid: str, item_id: str, todo_type: str) dict
-_get_from_cache(agent_userid: str, todo_type: Optional~str~) Optional~dict~
-_set_to_cache(agent_userid: str, todo_type: Optional~str~, data: dict) void
-_invalidate_cache(agent_userid: str) void
}
class TodoItemData {
+id: str
+type: str
+title: str
+priority: str
+description: dict
+status: str
+assigned_agent_id: Optional~str~
+corp_id: str
+created_at: str
+updated_at: str
}
TodoSourceService <|-- ApprovalTodoService
TodoSourceService <|-- ITSMService
TodoAggregatorService o-- ApprovalTodoService : creates
TodoAggregatorService o-- ITSMService : creates
ITSMService --> ITSMSigner : uses
TodoSourceService ..> TodoItemData : returns
```