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

12 KiB
Raw Permalink Blame History

谈话前安全风险评估表数据设计说明

一、设计概述

本文档说明"谈话前安全风险评估表"模板相关的数据字段设计,以及如何将数据存入数据库。

二、数据表结构

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/谈话前安全风险评估表模板.docxMinIO相对路径

4.2 配置存储

文件配置的 input_data 字段存储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

{
  "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 脚本初始化数据:

python init_pre_interview_risk_assessment_fields.py

脚本功能:

  1. 创建11个字段记录输出字段
  2. 创建文件配置记录
  3. 建立文件和字段的关联关系

6.2 接口调用示例

1. AI解析接口 (/ai/extract)

{
    "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未提取到值返回空字符串前端可根据需要应用默认值

{
    "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)

{
    "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模板文件