docs(详细设计): 新增一致性核查设计
This commit is contained in:
77
docs/详细设计/skill/字段完全一致比对Skill.md
Normal file
77
docs/详细设计/skill/字段完全一致比对Skill.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# 字段完全一致比对Skill 设计
|
||||
|
||||
## 1. Skill 定位
|
||||
|
||||
`字段完全一致比对Skill` 负责按强一致规则对同一字段的不同来源值执行完全一致比对。
|
||||
|
||||
英文实现标识建议使用 `ExactFieldCompareSkill`。
|
||||
|
||||
本 Skill 不做语义相似判断。
|
||||
|
||||
## 2. 输入
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class ExactFieldCompareInput:
|
||||
compare_units: list[FieldCompareUnit]
|
||||
rules: list[ConsistencyFieldRule]
|
||||
```
|
||||
|
||||
## 3. 输出
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class ExactFieldCompareOutput:
|
||||
compare_results: list[FieldCompareResult]
|
||||
conflict_fields: list[dict]
|
||||
consistent_fields: list[dict]
|
||||
manual_review_fields: list[dict]
|
||||
```
|
||||
|
||||
## 4. 比对规则
|
||||
|
||||
1. 标准值完全相等才算一致。
|
||||
2. 空值不算一致证据。
|
||||
3. 待复核来源不算通过证据。
|
||||
4. 原始值明显差异但标准值相同,进入待复核。
|
||||
|
||||
## 5. 核心方法
|
||||
|
||||
### 5.1 `run(input) -> ExactFieldCompareOutput`
|
||||
|
||||
主入口方法。
|
||||
|
||||
### 5.2 `compare_exact(unit, rule) -> FieldCompareResult`
|
||||
|
||||
完全一致比对。
|
||||
|
||||
### 5.3 `build_conflict_result(unit, values, rule) -> FieldCompareResult`
|
||||
|
||||
构建冲突结果。
|
||||
|
||||
### 5.4 `build_consistent_result(unit, rule) -> FieldCompareResult`
|
||||
|
||||
构建一致结果。
|
||||
|
||||
## 6. 技术实现
|
||||
|
||||
使用技术:
|
||||
|
||||
1. Python 字符串比较
|
||||
2. 字段标准化值
|
||||
3. 风险规则
|
||||
|
||||
## 7. 异常处理
|
||||
|
||||
1. 无候选值:待人工复核。
|
||||
2. 单来源:不判冲突。
|
||||
3. 字段无规则:不检查。
|
||||
4. 候选来源待复核:结果待复核。
|
||||
|
||||
## 8. 测试要点
|
||||
|
||||
1. 相同标准值判一致。
|
||||
2. 不同标准值判冲突。
|
||||
3. 单来源不判冲突。
|
||||
4. 待复核来源进入人工复核。
|
||||
|
||||
Reference in New Issue
Block a user