docs(详细设计): 新增飞书通知设计
This commit is contained in:
64
docs/详细设计/skill/飞书责任人映射Skill.md
Normal file
64
docs/详细设计/skill/飞书责任人映射Skill.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# 飞书责任人映射Skill 设计
|
||||
|
||||
## 1. Skill 定位
|
||||
|
||||
`飞书责任人映射Skill` 负责将风险项、章节点和责任角色映射到飞书用户 ID。
|
||||
|
||||
英文实现标识建议使用 `FeishuOwnerMappingSkill`。
|
||||
|
||||
## 2. 输入
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class FeishuOwnerMappingInput:
|
||||
risk_items: list[dict]
|
||||
owner_mapping_config: dict | None = None
|
||||
```
|
||||
|
||||
## 3. 输出
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class FeishuOwnerMappingOutput:
|
||||
mention_targets: list[dict]
|
||||
unresolved_roles: list[dict]
|
||||
```
|
||||
|
||||
## 4. 核心方法
|
||||
|
||||
### 4.1 `run(input) -> FeishuOwnerMappingOutput`
|
||||
|
||||
主入口方法。
|
||||
|
||||
### 4.2 `load_owner_mapping() -> dict`
|
||||
|
||||
读取责任人映射。
|
||||
|
||||
### 4.3 `resolve_roles(risk_items) -> list[str]`
|
||||
|
||||
解析责任角色。
|
||||
|
||||
### 4.4 `resolve_user_ids(roles, mapping) -> list[dict]`
|
||||
|
||||
映射飞书用户 ID。
|
||||
|
||||
## 5. 技术实现
|
||||
|
||||
使用技术:
|
||||
|
||||
1. YAML 配置
|
||||
2. Django Admin 维护表
|
||||
3. 飞书用户 ID
|
||||
|
||||
## 6. 异常处理
|
||||
|
||||
1. 责任角色未配置:加入 unresolved。
|
||||
2. 用户 ID 为空:不 @,但保留角色。
|
||||
3. 配置文件缺失:使用默认映射。
|
||||
|
||||
## 7. 测试要点
|
||||
|
||||
1. 风险项能映射责任角色。
|
||||
2. 责任角色能映射用户 ID。
|
||||
3. 未配置角色能被识别。
|
||||
|
||||
Reference in New Issue
Block a user