ai-business-write/技术文档/数据同步检查报告.md

7.0 KiB
Raw Permalink Blame History

数据结构、接口、测试页面和Swagger同步检查报告

检查时间

2024年12月当前时间

检查目标

验证"谈话前安全风险评估表"(模板编码:PRE_INTERVIEW_RISK_ASSESSMENT的数据结构、接口、测试页面和Swagger是否已正确同步更新。


一、数据库检查

1.1 文件配置

  • 表名: f_polic_file_config
  • 检查项:
    • 文件配置是否存在
    • input_data JSON字段中是否包含正确的template_code
    • 文件路径是否正确

1.2 字段数据

  • 表名: f_polic_field
  • 期望字段 (11个输出字段):
    1. target_family_situation - 被核查人员家庭情况
    2. target_social_relations - 被核查人员社会关系
    3. target_health_status - 被核查人员健康状况
    4. target_personality - 被核查人员性格特征
    5. target_tolerance - 被核查人员承受能力
    6. target_issue_severity - 被核查人员涉及问题严重程度
    7. target_other_issues_possibility - 被核查人员涉及其他问题的可能性
    8. target_previous_investigation - 被核查人员此前被审查情况
    9. target_negative_events - 被核查人员社会负面事件
    10. target_other_situation - 被核查人员其他情况
    11. risk_level - 风险等级

1.3 关联关系

  • 表名: f_polic_file_field
  • 检查项: 所有11个字段是否都已正确关联到文件配置

验证脚本: verify_pre_interview_risk_assessment_data.py


二、接口服务检查

2.1 field_service.py 已修复

问题: get_fields_by_business_type方法硬编码了模板名称'初步核实审批表',导致无法查询新模板的字段。

修复内容:

  • 修改为根据business_typeinput_data JSON字段中动态查询
  • 支持查询所有匹配business_type的文件配置及其关联字段
  • 不再硬编码模板名称

修复前:

AND fc.name = '初步核实审批表'

修复后:

# 从input_data JSON中解析business_type动态匹配
sql_file_configs = """
    SELECT id, name, input_data
    FROM f_polic_file_config
    WHERE tenant_id = %s AND state = 1
"""
# 然后根据business_type过滤文件配置ID

2.2 document_service.py 已修复

问题: get_file_config_by_template_code方法试图从不存在的template_code列查询,而实际上template_code存储在input_data的JSON字段中。

修复内容:

  • 修改为从input_data JSON字段中解析template_code
  • 支持通过template_code查找文件配置

修复前:

sql = """
    SELECT id, name, file_path, template_code
    FROM f_polic_file_config
    WHERE tenant_id = %s
    AND template_code = %s  # ❌ 列不存在
"""

修复后:

# 查询所有文件配置然后从input_data JSON中解析template_code
sql = """
    SELECT id, name, file_path, input_data
    FROM f_polic_file_config
    WHERE tenant_id = %s AND state = 1
"""
# 遍历结果从JSON中查找匹配的template_code

三、测试页面检查

3.1 static/index.html

状态: 通用设计,无需硬编码更新

说明:

  • 测试页面采用动态字段添加机制
  • 用户可以通过手动输入字段编码来测试任何模板
  • 默认示例使用"初步核实审批表"是合理的(作为示例)

建议 (可选):

  • 可以添加模板选择器,让用户选择不同的模板并自动加载对应的字段
  • 当前设计已经足够灵活,支持所有模板

四、Swagger文档检查

4.1 Swagger配置 正常

状态: Swagger已正确配置文档是动态生成的

说明:

  • Swagger文档通过Flasgger自动生成
  • 接口文档中不包含硬编码的模板信息
  • 所有接口都通过参数(如templateCode)支持动态模板

接口列表:

  1. /ai/extract - AI字段提取接口有完整Swagger文档
  2. /api/fields - 获取字段配置接口有完整Swagger文档
  3. /ai/generate-document - 文档生成接口有完整Swagger文档

结论: Swagger文档无需更新因为它是通用的支持所有模板。


五、修复总结

已完成的修复

  1. field_service.py

    • 修复get_fields_by_business_type方法,支持动态查询多个模板
    • input_data JSON中解析business_type
  2. document_service.py

    • 修复get_file_config_by_template_code方法
    • input_data JSON中解析template_code

⚠️ 需要验证的项目

  1. 数据库数据

    • 需要运行init_pre_interview_risk_assessment_fields.py确保数据已初始化
    • 需要运行verify_pre_interview_risk_assessment_data.py验证数据完整性
  2. 接口测试

    • 测试/api/fields?businessType=INVESTIGATION是否返回新模板的字段
    • 测试/ai/extract接口是否能正确提取新模板的字段
    • 测试/ai/generate-document接口是否能正确生成新模板的文档

六、验证步骤

步骤1: 验证数据库数据

python verify_pre_interview_risk_assessment_data.py

步骤2: 验证接口

# 启动服务
python app.py

# 测试字段查询接口
curl "http://localhost:7500/api/fields?businessType=INVESTIGATION"

# 测试AI提取接口使用新模板的字段
curl -X POST http://localhost:7500/ai/extract \
  -H "Content-Type: application/json" \
  -d '{
    "inputData": [{"fieldCode": "clue_info", "fieldValue": "..."}],
    "outputData": [{"fieldCode": "risk_level"}, {"fieldCode": "target_family_situation"}]
  }'

步骤3: 验证测试页面

  1. 访问 http://localhost:7500/
  2. 手动添加新模板的字段编码进行测试
  3. 验证解析和生成功能

步骤4: 验证Swagger文档

  1. 访问 http://localhost:7500/api-docs
  2. 检查接口文档是否完整
  3. 测试接口是否正常工作

七、结论

接口和代码层面

  • field_service.py已修复,支持动态查询多个模板
  • document_service.py已修复支持从JSON中查找模板
  • Swagger文档无需更新通用设计

⚠️ 需要确认

  • ⚠️ 数据库数据是否已正确初始化(需要运行初始化脚本)
  • ⚠️ 接口功能是否正常工作(需要实际测试)

📝 建议

  1. 运行init_pre_interview_risk_assessment_fields.py确保数据已初始化
  2. 运行verify_pre_interview_risk_assessment_data.py验证数据完整性
  3. 进行接口功能测试,确保新模板可以正常使用

八、相关文件

  • 初始化脚本: init_pre_interview_risk_assessment_fields.py
  • 验证脚本: verify_pre_interview_risk_assessment_data.py
  • 综合检查脚本: check_data_sync_status.py
  • 服务文件:
    • services/field_service.py 已修复
    • services/document_service.py 已修复
  • 接口文件: app.py Swagger已配置
  • 测试页面: static/index.html 通用设计

报告生成时间: 2024年12月 检查人员: AI助手