ai-business-write/谈话前安全风险评估表数据设计说明.md

338 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 谈话前安全风险评估表数据设计说明
## 一、设计概述
本文档说明"谈话前安全风险评估表"模板相关的数据字段设计,以及如何将数据存入数据库。
## 二、数据表结构
### 2.1 相关数据表
1. **f_polic_file_config** - 文件模板配置表
- 存储文档模板的基本信息
- 字段id, tenant_id, parent_id, name, input_data, file_path, created_time, created_by, updated_time, updated_by, state
2. **f_polic_field** - 字段表
- 存储字段定义信息
- 字段id, tenant_id, name, filed_code, field_type, created_time, created_by, updated_time, updated_by, state
- 注意:表中字段名为 `filed_code`(拼写错误,但需保持一致)
3. **f_polic_file_field** - 文件和字段关联表
- 存储文件模板与字段的关联关系
- 字段id, tenant_id, filed_id, file_id, created_time, created_by, updated_time, updated_by, state
### 2.2 字段类型说明
- `field_type = 1`: 输入字段用于AI解析的原始数据
- `field_type = 2`: 输出字段AI解析后生成的结构化数据用于填充模板
## 三、谈话前安全风险评估表字段设计
### 3.1 输出字段(用于填充模板)
根据风险评估需求设计了以下11个输出字段所有字段都配置了默认值
| 字段名称 | 字段编码 (field_code) | 说明 | 默认值 | 示例 |
|---------|---------------------|------|--------|------|
| 被核查人员家庭情况 | target_family_situation | 被核查人员家庭情况 | 家庭关系和谐稳定 | 家庭关系和谐稳定 |
| 被核查人员社会关系 | target_social_relations | 被核查人员社会关系 | 社会交往较多,人机关系基本正常 | 社会交往较多,人机关系基本正常 |
| 被核查人员健康状况 | target_health_status | 被核查人员健康状况 | 良好 | 良好 |
| 被核查人员性格特征 | target_personality | 被核查人员性格特征 | 开朗 | 开朗 |
| 被核查人员承受能力 | target_tolerance | 被核查人员承受能力 | 较强 | 较强 |
| 被核查人员涉及问题严重程度 | target_issue_severity | 被核查人员涉及问题严重程度 | 较轻 | 较轻 |
| 被核查人员涉及其他问题的可能性 | target_other_issues_possibility | 被核查人员涉及其他问题的可能性 | 较小 | 较小 |
| 被核查人员此前被审查情况 | target_previous_investigation | 被核查人员此前被审查情况 | 无 | 无 |
| 被核查人员社会负面事件 | target_negative_events | 被核查人员社会负面事件 | 无 | 无 |
| 被核查人员其他情况 | target_other_situation | 被核查人员其他情况 | 无 | 无 |
| 风险等级 | risk_level | 风险等级 | 低 | 低 |
### 3.2 输入字段用于AI解析
该模板可以使用通用的输入字段:
| 字段名称 | 字段编码 (field_code) | 说明 |
|---------|---------------------|------|
| 线索信息 | clue_info | 线索信息用于AI解析 |
| 被核查人员工作基本情况线索 | target_basic_info_clue | 被核查人员工作基本情况线索用于AI解析 |
### 3.3 Word模板占位符映射
Word模板中使用的占位符格式为 `{{field_code}}`,与字段编码的对应关系:
- `{{target_family_situation}}` → 被核查人员家庭情况
- `{{target_social_relations}}` → 被核查人员社会关系
- `{{target_health_status}}` → 被核查人员健康状况
- `{{target_personality}}` → 被核查人员性格特征
- `{{target_tolerance}}` → 被核查人员承受能力
- `{{target_issue_severity}}` → 被核查人员涉及问题严重程度
- `{{target_other_issues_possibility}}` → 被核查人员涉及其他问题的可能性
- `{{target_previous_investigation}}` → 被核查人员此前被审查情况
- `{{target_negative_events}}` → 被核查人员社会负面事件
- `{{target_other_situation}}` → 被核查人员其他情况
- `{{risk_level}}` → 风险等级
## 四、文件配置信息
### 4.1 文件配置记录
- **名称**: 谈话前安全风险评估表
- **模板编码 (template_code)**: `PRE_INTERVIEW_RISK_ASSESSMENT`
- **业务类型 (business_type)**: `INVESTIGATION`(调查核实)
- **文件路径 (file_path)**: `/templates/谈话前安全风险评估表模板.docx`MinIO相对路径
### 4.2 配置存储
文件配置的 `input_data` 字段存储JSON格式数据
```json
{
"template_code": "PRE_INTERVIEW_RISK_ASSESSMENT",
"business_type": "INVESTIGATION"
}
```
## 五、默认值机制
### 5.1 默认值配置
所有风险评估字段都配置了默认值,存储在 `config/field_defaults.json` 配置文件中。
### 5.2 默认值说明
**重要说明**系统在AI提取阶段不会自动应用默认值。如果AI未提取到字段值系统会返回空字符串。
默认值信息提供给前端开发人员,前端可以根据业务需求决定是否在界面上显示默认值或应用默认值。
### 5.3 默认值应用规则(前端参考)
1. **AI提取阶段**如果AI从输入文本中提取到字段值则使用提取的值
2. **空值处理**如果AI提取的字段值为空或未提取到系统返回空字符串
3. **前端应用**:前端可以根据业务需求,在用户界面中显示默认值提示,或允许用户选择应用默认值
4. **默认值优先级**AI提取的值优先于默认值
### 5.3 默认值配置位置
默认值配置文件:`config/field_defaults.json`
```json
{
"field_defaults": {
"target_family_situation": "家庭关系和谐稳定",
"target_social_relations": "社会交往较多,人机关系基本正常",
"target_health_status": "良好",
"target_personality": "开朗",
"target_tolerance": "较强",
"target_issue_severity": "较轻",
"target_other_issues_possibility": "较小",
"target_previous_investigation": "无",
"target_negative_events": "无",
"target_other_situation": "无",
"risk_level": "低"
}
}
```
## 六、使用说明
### 6.1 初始化脚本
使用 `init_pre_interview_risk_assessment_fields.py` 脚本初始化数据:
```bash
python init_pre_interview_risk_assessment_fields.py
```
脚本功能:
1. 创建11个字段记录输出字段
2. 创建文件配置记录
3. 建立文件和字段的关联关系
### 6.2 接口调用示例
#### 1. AI解析接口 (`/ai/extract`)
```json
{
"businessType": "INVESTIGATION",
"inputData": [
{
"fieldCode": "clue_info",
"fieldValue": "被举报用户名称是张三年龄30岁"
},
{
"fieldCode": "target_basic_info_clue",
"fieldValue": "张三汉族1980年5月出生山西太原人本科学历2000年参加工作2005年加入中国共产党。"
}
],
"outputData": [
{"fieldCode": "target_family_situation"},
{"fieldCode": "target_social_relations"},
{"fieldCode": "target_health_status"},
{"fieldCode": "target_personality"},
{"fieldCode": "target_tolerance"},
{"fieldCode": "target_issue_severity"},
{"fieldCode": "target_other_issues_possibility"},
{"fieldCode": "target_previous_investigation"},
{"fieldCode": "target_negative_events"},
{"fieldCode": "target_other_situation"},
{"fieldCode": "risk_level"}
]
}
```
**返回结果**如果AI未提取到值返回空字符串前端可根据需要应用默认值
```json
{
"code": 0,
"data": {
"outData": [
{
"fieldCode": "target_family_situation",
"fieldValue": ""
},
{
"fieldCode": "target_social_relations",
"fieldValue": ""
},
{
"fieldCode": "target_health_status",
"fieldValue": ""
},
{
"fieldCode": "target_personality",
"fieldValue": ""
},
{
"fieldCode": "target_tolerance",
"fieldValue": ""
},
{
"fieldCode": "target_issue_severity",
"fieldValue": ""
},
{
"fieldCode": "target_other_issues_possibility",
"fieldValue": ""
},
{
"fieldCode": "target_previous_investigation",
"fieldValue": ""
},
{
"fieldCode": "target_negative_events",
"fieldValue": ""
},
{
"fieldCode": "target_other_situation",
"fieldValue": ""
},
{
"fieldCode": "risk_level",
"fieldValue": ""
}
]
},
"msg": "ok",
"isSuccess": true
}
```
#### 2. 文档生成接口 (`/ai/generate-document`)
```json
{
"templateCode": "PRE_INTERVIEW_RISK_ASSESSMENT",
"businessType": "INVESTIGATION",
"inputData": [
{
"fieldCode": "target_family_situation",
"fieldValue": "家庭关系和谐稳定"
},
{
"fieldCode": "target_social_relations",
"fieldValue": "社会交往较多,人机关系基本正常"
},
{
"fieldCode": "target_health_status",
"fieldValue": "良好"
},
{
"fieldCode": "target_personality",
"fieldValue": "开朗"
},
{
"fieldCode": "target_tolerance",
"fieldValue": "较强"
},
{
"fieldCode": "target_issue_severity",
"fieldValue": "较轻"
},
{
"fieldCode": "target_other_issues_possibility",
"fieldValue": "较小"
},
{
"fieldCode": "target_previous_investigation",
"fieldValue": "无"
},
{
"fieldCode": "target_negative_events",
"fieldValue": "无"
},
{
"fieldCode": "target_other_situation",
"fieldValue": "无"
},
{
"fieldCode": "risk_level",
"fieldValue": "低"
}
],
"fpolicFieldParamFileList": [
{
"fileId": 1764656918061150,
"fileName": "谈话前安全风险评估表.doc"
}
]
}
```
## 七、注意事项
1. **字段编码一致性**: 确保Word模板中的占位符 `{{field_code}}` 与数据库中的 `filed_code` 字段值完全一致。
2. **默认值机制**:
- 系统在AI提取阶段不会自动应用默认值
- 如果AI提取到值则使用AI提取的值
- 如果AI未提取到值或值为空系统返回空字符串
- 默认值信息提供给前端,前端可根据业务需求决定是否应用
3. **字段类型**:
- 输入字段field_type=1用于接收用户输入的原始数据供AI解析使用
- 输出字段field_type=2用于存储AI解析后的结构化数据用于填充模板
4. **文件路径**: `f_polic_file_config` 表中的 `file_path` 存储的是MinIO的相对路径不是绝对路径。
5. **状态字段**:
- `state = 0` 表示未启用
- `state = 1` 表示启用
6. **数据去重**: 初始化脚本会自动检查数据是否已存在,避免重复创建。
## 八、数据库连接信息
- **IP地址**: 152.136.177.240
- **端口**: 5012
- **用户名**: finyx
- **密码**: 6QsGK6MpePZDE57Z
- **数据库名称**: finyx
## 九、相关文件
- `init_pre_interview_risk_assessment_fields.py` - 数据初始化脚本
- `config/field_defaults.json` - 字段默认值配置文件
- `services/field_service.py` - 字段服务(包含默认值逻辑)
- `app.py` - API接口包含默认值应用逻辑
- `模板/谈话前安全风险评估表模板.docx` - Word模板文件