企业信息采集方案

企业信息采集管理方案(后台“采集管理”下新增)

1. 目标

  • 在后台 采集管理 下新增 企业信息采集 模块。
  • 先支持将 D:\www\baoan\安徽所有企业 中的基础企业数据一键导入。
  • 以企业基础信息为主表,后续可按企业名称/统一社会信用代码补采扩展信息(司法风险、变更、股东等)。
  • 架构上支持持续扩展字段与模块,不因后续需求频繁改动核心表。

2. 业务范围

2.1 当前必须实现

  1. 企业基础信息导入(批量)(导入时可以输入文件夹地址,然后里面的所有xsls都可以导入)
  2. 企业基础信息列表、查询、详情
  3. 导入批次与导入错误日志
  4. 预留“补采任务”能力(先建表、先留入口)

2.2 后续扩展(第二阶段)(这里还可以加一些关键信息)

  1. 司法风险补采
  2. 变更记录补采
  3. 股东信息补采
  4. 行政处罚/经营异常/资质证照补采

3. 数据库设计

约定:项目表前缀为 by_

3.1 企业基础表:by_company_base

用于存储企业主信息,作为全系统主表。

建议字段:

  • id int PK
  • company_name varchar(255) 企业名称
  • legal_person varchar(100) 法人/负责人
  • establish_date date 成立日期
  • address varchar(500) 地址
  • company_type varchar(100) 企业类型(如私营企业)
  • credit_code varchar(64) 统一社会信用代码(尽量唯一)
  • tax_code varchar(64) 税号(可空)
  • org_code varchar(64) 组织机构代码(可空)
  • industry varchar(255) 行业
  • region_text varchar(255) 地区原文(如“上海-上海市-宝山区”)
  • province varchar(100) 省
  • city varchar(100) 市
  • district varchar(100) 区县
  • business_scope text 经营范围
  • phone varchar(100) 联系电话
  • data_source varchar(100) 数据来源(导入/采集源名)
  • source_file varchar(255) 来源文件
  • source_row_hash varchar(64) 源行摘要(去重辅助)
  • create_time int
  • update_time int

建议索引:

  • UNIQUE KEY uk_credit_code (credit_code)(信用代码不为空时唯一)
  • KEY idx_company_name (company_name)
  • KEY idx_phone (phone)
  • KEY idx_region (province, city, district)

3.2 导入批次表:by_company_import_batch

用于记录每次导入任务统计。

建议字段:

  • id int PK
  • batch_no varchar(50) 批次号
  • file_name varchar(255) 文件名
  • file_path varchar(500) 文件路径
  • total_rows int 总行数
  • success_rows int 成功
  • duplicate_rows int 重复
  • fail_rows int 失败
  • status tinyint 状态(0处理中 1完成 2失败)
  • error_msg varchar(500) 批次错误
  • create_time int
  • finish_time int

3.3 导入错误明细:by_company_import_log

逐行记录失败信息,便于修复源数据。

建议字段:

  • id int PK
  • batch_id int
  • row_no int 行号
  • raw_text text 原始行
  • error_msg varchar(500) 错误原因
  • create_time int

3.4 企业扩展信息表(第二阶段)

按模块拆分,避免单表过宽:

  • by_company_shareholder(股东)
  • by_company_change(变更)
  • by_company_judicial_risk(司法风险)
  • by_company_punish(行政处罚)
  • by_company_abnormal(经营异常)
  • by_company_license(资质证照)

统一包含:

  • company_id
  • company_name_snapshot
  • source_url
  • create_time

3.5 补采任务与日志(建议预建)

  • by_company_enrich_task

- company_id, task_type, status, retry_count, last_error, next_run_time, create_time, update_time

  • by_company_enrich_log

- company_id, task_type, start_time, end_time, result_count, error_msg, source_url, create_time

4. 导入规则

4.1 去重与更新策略

  1. 优先使用 credit_code 去重:

- 已存在:更新空字段或按策略覆盖。

- 不存在:新增。

  1. credit_code 为空时:

- 使用 company_name + region_text + legal_person 作为近似去重。

  1. 每行生成 source_row_hash,避免同一文件重复导入。

4.2 字段清洗策略

  • --、空格、NULL 统一转为空值。
  • 日期统一转 YYYY-MM-DD
  • 地区 省-市-区县 自动拆分到 province/city/district
  • 电话统一保留数字、-,,多号码保留原样。

4.3 导入来源兼容

支持:

  • CSV(推荐)
  • TXT(按分隔符)
  • XLS/XLSX(如项目引入解析库)

5. 后台功能设计(菜单)

采集管理 下新增 企业信息采集,子菜单建议:

  1. 导入基础企业
  2. 企业基础列表
  3. 导入批次日志
  4. 补采任务
  5. 补采日志

6. 页面与操作流程

6.1 导入基础企业

  • 上传文件(或直接指定目录)
  • 选择分隔符/编码
  • 预览前 10 行
  • 一键导入
  • 导入完成后展示:总数、成功、重复、失败

6.2 企业基础列表

  • 支持按:企业名、信用代码、地区、行业、法人、电话查询
  • 列表支持导出
  • 详情页显示基础字段 + 扩展信息模块

6.3 补采入口(预留)

  • 在企业详情页点击:

- 补采司法风险

- 补采变更

- 补采股东

  • 写入任务队列,后台执行并记录日志。

7. 合规与风险提示

  • 若采集来源为第三方平台页面,需注意服务条款与授权范围。
  • 商业用途需确认数据版权和使用许可。
  • 建议优先采用开放 API 或已授权数据源。

8. 分阶段实施计划

阶段一(先落地)

  1. 建表:company_base/import_batch/import_log/enrich_task/enrich_log
  2. 后台菜单与页面骨架
  3. 导入功能(支持 CSV/TXT)
  4. 企业基础列表与详情

阶段二(扩展能力)

  1. 司法风险采集器
  2. 变更记录采集器
  3. 股东信息采集器
  4. 定时任务与失败重试

阶段三(优化)

  1. 数据质量评分(重复、缺失、异常)
  2. 模块化采集策略配置
  3. 批量补采与并发控制

9. 验收标准

  • 能成功导入示例数据(含重复处理)。
  • 基础列表查询正确,详情展示完整。
  • 导入失败行可追溯到行号和错误原因。
  • 补采任务表可成功创建任务并记录日志(即使采集器未完全上线)。
copyright 2013-2113 www.baoanfuwu.cn All Rights Reserved 保安服务网版权所有
皖ICP备2021016109号-1