企业信息采集方案
企业信息采集管理方案(后台“采集管理”下新增)
1. 目标
- 在后台
采集管理下新增企业信息采集模块。 - 先支持将
D:\www\baoan\安徽所有企业中的基础企业数据一键导入。 - 以企业基础信息为主表,后续可按企业名称/统一社会信用代码补采扩展信息(司法风险、变更、股东等)。
- 架构上支持持续扩展字段与模块,不因后续需求频繁改动核心表。
2. 业务范围
2.1 当前必须实现
- 企业基础信息导入(批量)(导入时可以输入文件夹地址,然后里面的所有xsls都可以导入)
- 企业基础信息列表、查询、详情
- 导入批次与导入错误日志
- 预留“补采任务”能力(先建表、先留入口)
2.2 后续扩展(第二阶段)(这里还可以加一些关键信息)
- 司法风险补采
- 变更记录补采
- 股东信息补采
- 行政处罚/经营异常/资质证照补采
3. 数据库设计
约定:项目表前缀为 by_。
3.1 企业基础表:by_company_base
用于存储企业主信息,作为全系统主表。
建议字段:
idint PKcompany_namevarchar(255) 企业名称legal_personvarchar(100) 法人/负责人establish_datedate 成立日期addressvarchar(500) 地址company_typevarchar(100) 企业类型(如私营企业)credit_codevarchar(64) 统一社会信用代码(尽量唯一)tax_codevarchar(64) 税号(可空)org_codevarchar(64) 组织机构代码(可空)industryvarchar(255) 行业region_textvarchar(255) 地区原文(如“上海-上海市-宝山区”)provincevarchar(100) 省cityvarchar(100) 市districtvarchar(100) 区县business_scopetext 经营范围phonevarchar(100) 联系电话data_sourcevarchar(100) 数据来源(导入/采集源名)source_filevarchar(255) 来源文件source_row_hashvarchar(64) 源行摘要(去重辅助)create_timeintupdate_timeint
建议索引:
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
用于记录每次导入任务统计。
建议字段:
idint PKbatch_novarchar(50) 批次号file_namevarchar(255) 文件名file_pathvarchar(500) 文件路径total_rowsint 总行数success_rowsint 成功duplicate_rowsint 重复fail_rowsint 失败statustinyint 状态(0处理中 1完成 2失败)error_msgvarchar(500) 批次错误create_timeintfinish_timeint
3.3 导入错误明细:by_company_import_log
逐行记录失败信息,便于修复源数据。
建议字段:
idint PKbatch_idintrow_noint 行号raw_texttext 原始行error_msgvarchar(500) 错误原因create_timeint
3.4 企业扩展信息表(第二阶段)
按模块拆分,避免单表过宽:
by_company_shareholder(股东)by_company_change(变更)by_company_judicial_risk(司法风险)by_company_punish(行政处罚)by_company_abnormal(经营异常)by_company_license(资质证照)
统一包含:
company_idcompany_name_snapshotsource_urlcreate_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 去重与更新策略
- 优先使用
credit_code去重:
- 已存在:更新空字段或按策略覆盖。
- 不存在:新增。
credit_code为空时:
- 使用 company_name + region_text + legal_person 作为近似去重。
- 每行生成
source_row_hash,避免同一文件重复导入。
4.2 字段清洗策略
--、空格、NULL统一转为空值。- 日期统一转
YYYY-MM-DD。 - 地区
省-市-区县自动拆分到province/city/district。 - 电话统一保留数字、
-、,,多号码保留原样。
4.3 导入来源兼容
支持:
- CSV(推荐)
- TXT(按分隔符)
- XLS/XLSX(如项目引入解析库)
5. 后台功能设计(菜单)
在 采集管理 下新增 企业信息采集,子菜单建议:
导入基础企业企业基础列表导入批次日志补采任务补采日志
6. 页面与操作流程
6.1 导入基础企业
- 上传文件(或直接指定目录)
- 选择分隔符/编码
- 预览前 10 行
- 一键导入
- 导入完成后展示:总数、成功、重复、失败
6.2 企业基础列表
- 支持按:企业名、信用代码、地区、行业、法人、电话查询
- 列表支持导出
- 详情页显示基础字段 + 扩展信息模块
6.3 补采入口(预留)
- 在企业详情页点击:
- 补采司法风险
- 补采变更
- 补采股东
- 写入任务队列,后台执行并记录日志。
7. 合规与风险提示
- 若采集来源为第三方平台页面,需注意服务条款与授权范围。
- 商业用途需确认数据版权和使用许可。
- 建议优先采用开放 API 或已授权数据源。
8. 分阶段实施计划
阶段一(先落地)
- 建表:
company_base/import_batch/import_log/enrich_task/enrich_log - 后台菜单与页面骨架
- 导入功能(支持 CSV/TXT)
- 企业基础列表与详情
阶段二(扩展能力)
- 司法风险采集器
- 变更记录采集器
- 股东信息采集器
- 定时任务与失败重试
阶段三(优化)
- 数据质量评分(重复、缺失、异常)
- 模块化采集策略配置
- 批量补采与并发控制
9. 验收标准
- 能成功导入示例数据(含重复处理)。
- 基础列表查询正确,详情展示完整。
- 导入失败行可追溯到行号和错误原因。
- 补采任务表可成功创建任务并记录日志(即使采集器未完全上线)。
