# 数据库设计文档 V2.0 > 版本:V2.0 > 范围:业务数据库(`biz_*` 业务表),共 **31 张** > 说明:本文档字段以数据库实际结构为准。 --- ## 一、设计约定 | 约定项 | 说明 | |---|---| | 表命名 | 业务表统一 `biz_` 前缀,与系统表 `sys_` 区分 | | 主键 | 业务大表采用 `bigint` 雪花 ID(`intent_id`/`meeting_id`/`project_id`…),字典类小表采用 `bigint` 自增 | | 公共字段 | `create_by` / `create_time` / `update_by` / `update_time` | | 逻辑删除 | 业务表采用逻辑删除(`is_deleted` / `del_flag` 标记),删除后保留记录、可追溯 | | 外键 | 无物理外键,全部逻辑关联(`*_id` 列),并冗余 `project_no`/`project_name` 等便于展示 | | 快照机制 | 参会人、凭证等存人员/银行卡快照列,与源数据(专家/人员)解耦 | | 金额 | 统一 `decimal` 保留 2 位小数 | | 开关标记 | 是否、启用等开关字段统一 `char(1)` 存 `Y`/`N`(Y=是/启用,N=否/停用) | | 审核状态 | 统一「未提交 / 待审核 / 通过 / 拒绝」四态流转,各表取值见对应字段说明 | | 单位类型 | `org_type`:赞助方(sponsor)/ 执行方(execution);`unit_type`:执行(execution)/ 支持(sponsor) | --- ## 二、表总览(按域分组) | 域 | 表 | 说明 | |---|---|---| | **组织与人员** | `biz_org` | 机构主体表。赞助方(sponsor)与执行方(execution)统一建模,一个登录账号(user_id)在同一 org_type 下只对应一个机构(uk_org_user_type);是项目/会议/分配等所有「企业归属」字段的指向源。 | | | `biz_person` | 支持方/执行方员工档案,与 sys_user 登录账号一一关联(user_id 唯一)。角色由 unit_type(execution/sponsor)推导;项目创建人姓名经本表 user_id 关联取 name。 | | | `biz_expert` | 医生/专家实名档案,含银行、执业/职称证书与审核信息。audit_status(0未提交/1待审/2通过/3拒绝)作为登录业务校验门槛;参会人、劳务电子签的人员信息以本表为源做快照。 | | | `biz_department` | 科室字典,专家/人员「科室」下拉选项来源。 | | | `biz_doctor_title` | 医生职称字典,专家「职称」下拉选项来源。 | | **项目** | `biz_project` | 项目核心表。金额三列(available/paid_labor/paid_meeting)查询时实时算,done/todo_sessions 实时聚合自会议;is_published 区分保存/发布公示;sponsor_org_id 记支持方归属、lead_user_id 记项目负责人。 | | | `biz_project_assign` | 项目对执行单位的场次/金额分配,uk_project_unit 保证一项目一执行单位唯一。 | | | `biz_project_executor_assign` | 执行方内部把项目二次分配给具体执行人(staff_user_id),镜像赞助方分配结构。 | | | `biz_project_sponsor_assign` | 赞助方给项目分配监察员(monitor_user_id),SUB 赞助方靠 monitor_user_id 反查可见项目。 | | | `biz_project_plan` | 策划方案投稿/审核表。方向关联 biz_special_plan,审核通过后经 project_no 关联到正式项目。 | | | `biz_special_plan` | 专项计划,是策划方案「项目方向」的选项来源。 | | | `biz_project_rating` | 项目履约评分,合规/执行方/赞助方三方四维评分,uk_rating 保证同一评分人对同一项目唯一。 | | **公示与意向** | `biz_publicity` | 项目公示/公告,announce_type 区分邀请函/支持函/通知/议程,按 project_id 关联项目。 | | | `biz_publicity_support_intent` | 公示页「支持意向」匿名按钮表,允许 user_id=NULL 不强绑登录,与登录视角强绑表解耦。 | | | `biz_publicity_execution_intent` | 公示页「执行意向」匿名按钮表,结构同 support_intent。 | | | `biz_execution_intent` | 登录视角执行意向(强绑 user_id),参会人新增/导入时建幽灵占位记录(del_flag 软删)。 | | **会议** | `biz_meeting` | 会议核心表。承载阶段流转(current_stage)、材料审核(stage + compliance_approved)、费用汇总(labor_fee/meeting_fee/total_fee)三套状态机;execution_unit_id 记执行方归属。 | | | `biz_meeting_attendee` | 参会人快照,含银行/费用/签字/协议信息,uk_meeting_user 保证一人一会唯一。 | | | `biz_meeting_material` | 材料/凭证/发票统一单表,material_type + sub_type 分类,发票金额由 biz_meeting_invoice 回写。 | | | `biz_meeting_invoice` | 发票 OCR 识别记录,1:1 跟随 material,识别金额回写 material.amount。 | | | `biz_meeting_executor` | 会议执行人员分配(执行方 org 维度)。 | | | `biz_meeting_supervisor` | 会议监察员分配(支持方 org 维度)。 | | | `biz_meeting_audit_log` | 审核流水日志,记录每次审核操作及各角色当时展示状态快照。 | | | `biz_meeting_settlement` | 结算明细,按费用项拆分小计,settlement_type 区分会务/劳务。 | | | `biz_invitation` | 项目邀请函(模板/二维码/分享 URL)。 | | | `biz_labor_voucher` | 劳务电子签,记录专家劳务费凭证与审核状态。 | | | `biz_labor_protocol_template` | 劳务协议模板配置,生成参会人劳务协议的 HTML 模板源。 | | **内容与消息** | `biz_article` | 平台协议/隐私政策文章(type: agreement/privacy),富文本正文。 | | | `biz_resource` | 资料库,分类存储项目模板/会议材料/合规文档等文件。 | | | `biz_message` | 个人站内通知,SSE 推送落库,biz_type/biz_id 关联业务。 | | | `biz_support_letter` | 项目支持函,记录支持次数。 | --- ## 三、组织与人员域 ### 3.1 biz_org — 支持单位表 机构主体,按 `org_type` 区分赞助方/执行方。一个登录账号(`user_id`)在一个类型下对应一个机构(`uk_org_user_type`)。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | org_id | bigint | NO | | 主键 | | org_name | varchar(200) | NO | | 机构名称 | | org_type | varchar(20) | NO | sponsor | sponsor赞助方 / execution执行方 | | business_nature | varchar(20) | YES | | 企业性质:私营/国营/中外合资/外资/其他 | | address | varchar(500) | YES | | 单位地址 | | tax_no | varchar(50) | YES | | 税号/统一社会信用代码 | | contact_name | varchar(50) | YES | | 联系人 | | contact_phone | varchar(20) | YES | | 联系电话 | | intent_count | int | YES | 0 | 意向项目数 | | status | varchar(20) | YES | 0 | 合作状态:合作中/待签约/已停用 | | user_id | bigint | YES | | 主账号 sys_user.user_id(注册时自动关联,一用户一类型一公司) | | del_flag | char(1) | NO | 0 | 删除标志 0正常 1删除 | | is_synced | tinyint(1) | NO | 0 | 同步来源标记 0注册 1供应商同步 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(org_id)、uk_org_user_type(user_id,org_type)、idx_org_type_name(org_type,org_name)、idx_org_type_status(org_type,status)、idx_org_user_type_name(user_id,org_type,org_name) **关联**:`biz_person.org_id`、`biz_project.sponsor_org_id`、`biz_meeting.execution_unit_id`、`biz_meeting_executor.executor_org_id`、`biz_meeting_supervisor.sponsor_org_id`、`biz_project_executor_assign.executor_org_id` 均指向 `org_id`。 --- ### 3.2 biz_person — 人员表 执行方/支持方员工,与 `sys_user` 登录账号关联,角色由 `unit_type` 推导。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | person_id | bigint | NO | 0 | 主键(雪花 ID) | | user_id | bigint | YES | | 关联系统用户 ID(UNI) | | name | varchar(50) | NO | | 姓名 | | phone | varchar(20) | NO | | 手机号(UNI) | | org_id | bigint | YES | | 所属公司 ID(FK biz_org.org_id) | | department | varchar(100) | YES | | 部门 | | position | varchar(50) | YES | | 职务 | | unit_type | varchar(20) | YES | execution | 所属单位类型:execution执行 / sponsor支持 | | is_synced | tinyint(1) | NO | 0 | 是否供应商同步用户(1=是) | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(person_id)、uk_person_phone(phone)、uk_person_user_id(user_id)、idx_person_org_id(org_id)、idx_person_org_role(org_id)、idx_person_unit_type(unit_type) **关联**:`biz_project.create_user_id` JOIN 本表 `user_id` 取姓名。 --- ### 3.3 biz_expert — 专家表 医生/专家,含实名、银行、证书及审核信息,`audit_status` 控制登录业务校验。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | expert_id | bigint | NO | | 专家 ID | | user_id | bigint | YES | | 关联系统用户 ID | | name | varchar(50) | NO | | 姓名 | | phone | varchar(20) | NO | | 手机号(UNI) | | work_unit | varchar(200) | YES | | 工作单位 | | department | varchar(100) | YES | | 科室 | | title | varchar(50) | YES | | 职称:主任医师/副主任医师/主治医师/住院医师 | | region | varchar(50) | YES | | 地区 | | id_card | varchar(50) | YES | | 证件号码 | | id_card_attachments | varchar(1000) | YES | | 身份证正反面 URL(CSV) | | bank_card | varchar(50) | YES | | 银行卡号 | | bank_name | varchar(100) | YES | | 银行名称 | | bank_branch | varchar(100) | YES | | 开户行(支行) | | bank_region | varchar(100) | YES | | 开户行省/市(/ 分隔) | | bank_address | varchar(200) | YES | | 开户行地址 | | practice_cert_url | varchar(500) | YES | | 执业证书 URL | | title_cert_url | varchar(500) | YES | | 职称证明 URL | | audit_status | varchar(20) | YES | 1 | 审核状态:0未提交 1待审核 2通过 3拒绝 | | audit_opinion | varchar(500) | YES | | 审核意见 | | audit_by | varchar(64) | YES | | 审核人 | | audit_time | datetime | YES | | 审核时间 | | status | char(1) | YES | Y | 状态 Y正常 N禁用 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(expert_id)、uk_expert_phone(phone)、idx_expert_audit(audit_status) --- ### 3.4 biz_department — 科室字典 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | dept_id | bigint | NO | | 主键 | | name | varchar(64) | NO | | 名称 | | sort | int | YES | 0 | 排序 | | status | char(1) | YES | Y | Y=启用 N=停用 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(dept_id) --- ### 3.5 biz_doctor_title — 医生职称字典 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | title_id | bigint | NO | | 主键 | | name | varchar(64) | NO | | 名称 | | sort | int | YES | 0 | 排序 | | status | char(1) | YES | 0 | 状态 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(title_id) --- ## 四、项目域 ### 4.1 biz_project — 项目表 项目核心表。金额三列(已支付/可用)为查询时实时算,`done_sessions`/`todo_sessions` 实时聚合自会议。`is_published` 区分保存/发布公示。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | project_id | bigint | NO | | 项目 ID | | project_no | varchar(50) | NO | | 项目编号(如 ZH-2026-658,UNI) | | project_name | varchar(200) | NO | | 项目名称 | | project_form | varchar(20) | YES | | 项目形式:线上/线下/线上+线下/其他 | | total_sessions | int | YES | 0 | 总场次/总期数 | | done_sessions | int | YES | 0 | 已执行(实时聚合) | | todo_sessions | int | YES | 0 | 未执行(实时聚合) | | total_amount | decimal(15,2) | YES | 0.00 | 总金额 | | available_amount | decimal(15,2) | YES | 0.00 | 可用金额 | | paid_labor_amount | decimal(15,2) | YES | 0.00 | 已支付劳务费 | | paid_meeting_amount | decimal(15,2) | YES | 0.00 | 已支付会务费 | | manage_fee | decimal(15,2) | YES | 0.00 | 管理费及税金 | | role_labor | text | YES | | 角色劳务 JSON:`[{role, customName, amount}]` | | is_finished | char(1) | YES | N | 是否结题 N否 Y是 | | is_settled | char(1) | YES | N | 是否结算 N否 Y是 | | is_published | char(1) | NO | N | 是否已发布公示 N否 Y是 | | publish_time | datetime | YES | | 发布时间 | | manager_score | decimal(3,1) | YES | | 合规管理员评均分 | | lead_user_id | bigint | YES | | 项目负责人 user_id(role_type=manager) | | is_bid_project | char(1) | YES | N | 是否招标项目 Y/N | | start_time | datetime | YES | | 项目开始时间 | | end_time | datetime | YES | | 项目结束时间 | | submit_deadline_days | int | YES | 0 | 提交材料截止天数 | | support_contract_url | varchar(500) | YES | | 支持合同文件 URL | | execute_contract_url | varchar(500) | YES | | 执行合同文件 URL | | invitation_url | varchar(500) | YES | | 邀请函文件 URL | | support_letter_url | varchar(500) | YES | | 支持函文件 URL | | publish_url | varchar(500) | YES | | 已发布公告 URL | | schedule_url | varchar(500) | YES | | 日程文件 URL | | create_user_id | bigint | YES | | 创建人 user_id(JOIN biz_person 取 name) | | sponsor_score | decimal(3,1) | YES | | 支持方评均分 | | sponsor_org_id | bigint | YES | | 支持方企业 org_id | | open_deadline | date | YES | | 开通截止时间 | | open_status | char(1) | NO | N | 开通状态 Y/N | | is_deleted | tinyint | NO | 0 | 软删除 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(project_id)、uk_project_no(project_no)、idx_project_form(project_form)、idx_is_finished(is_finished)、idx_is_settled(is_settled)、idx_start_end_time(start_time,end_time) **关联**:一项目多会议(`biz_meeting.project_id`)、多公示(`biz_publicity.project_id`)、多分配(`biz_project_assign` / `biz_project_sponsor_assign` / `biz_project_executor_assign`)、多评分(`biz_project_rating.project_id`)。 --- ### 4.2 biz_project_assign — 项目-执行单位分配表 项目对执行单位的分场/金额分配。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | assign_id | bigint | NO | | 分配 ID | | project_id | bigint | NO | | 项目 ID | | execution_unit_id | bigint | NO | | 执行单位 ID | | sessions | int | YES | 0 | 分配场数 | | amount | decimal(15,2) | YES | 0.00 | 总金额 | | remark | varchar(500) | YES | | 备注 | | status | char(1) | YES | 0 | 状态 0正常 1已撤销 | | is_deleted | tinyint | NO | 0 | 软删除 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(assign_id)、uk_project_unit(project_id,execution_unit_id)、idx_assign_project(project_id)、idx_assign_unit(execution_unit_id)、idx_assign_exec_user_project(project_id) --- ### 4.3 biz_project_executor_assign — 项目-执行方-执行人分配 执行方内部把项目分配给具体执行人(staff)。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 主键 | | project_id | bigint | NO | | 项目 ID | | staff_user_id | bigint | YES | | 执行人 user_id(被分配) | | assign_desc | varchar(500) | YES | | 分配说明 | | assign_points | varchar(500) | YES | | 分配要点 | | executor_org_id | bigint | YES | | 执行方企业 org_id | | is_deleted | tinyint | YES | 0 | 软删标记 0否 1是 | | create_by / create_time | | | | 公共字段 | **索引**:PRIMARY(id)、idx_project_id(project_id) --- ### 4.4 biz_project_sponsor_assign — 项目-赞助方-监察员分配记录 赞助方给项目分配监察员。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 主键 | | project_id | bigint | NO | | biz_project.project_id | | monitor_user_id | bigint | NO | | sys_user.user_id(分配给的监察员) | | sponsor_org_id | bigint | YES | | 支持方企业 org_id | | assign_desc | text | YES | | 分配说明 | | assign_points | text | YES | | 监察要点 | | is_deleted | tinyint | NO | 0 | 软删除 | | create_by / create_time | | | | 公共字段 | **索引**:PRIMARY(id)、idx_monitor_user_id(monitor_user_id) --- ### 4.5 biz_project_plan — 项目策划方案表 策划方案投稿/审核。方向关联 `biz_special_plan`,审核通过后可关联项目。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | plan_id | bigint | NO | | 策划方案 ID | | plan_name | varchar(200) | NO | | 策划方案名称 | | plan_direction | varchar(500) | YES | | 项目方向 | | plan_direction_id | bigint | YES | | 项目方向-专项计划 ID | | plan_category | varchar(50) | YES | | 项目类别:会议项目/科研项目/学术项目/指南/对外交流/共识 | | project_form | varchar(20) | YES | | 项目形式 | | design_file_url | varchar(500) | YES | | 设计文件 URL | | subject_direction | varchar(100) | YES | | 学科方向 | | status | varchar(20) | YES | 1 | BizAuditStatusEnum:1待审核 2通过 3拒绝 | | is_settled | char(1) | YES | N | 是否结算 N否 Y是 | | project_no | varchar(50) | YES | | 关联项目编号 | | remark | varchar(500) | YES | | 备注 | | audit_opinion | varchar(500) | YES | | 审核意见 | | audit_by | varchar(64) | YES | | 审核人 | | audit_time | datetime | YES | | 审核时间 | | submit_time | datetime | YES | | 提交时间 | | submitter_id | bigint | YES | | 投稿人用户 ID(医生侧投稿归属,经理/admin 录入为 NULL) | | is_deleted | tinyint | NO | 0 | 软删除 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(plan_id)、idx_plan_project_no(project_no)、idx_plan_status(status)、idx_plan_submitter(submitter_id) --- ### 4.6 biz_special_plan — 专项计划表 策划方案“项目方向”选项来源。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 专项计划 ID | | title | varchar(200) | NO | | 专项计划名称 | | content_type | varchar(20) | NO | rich | 内容类型 rich=富文本 file=上传文件 | | content | mediumtext | YES | | 富文本内容 | | file_url | varchar(500) | YES | | 上传文件 URL(PDF/PNG) | | sort_order | int | YES | 0 | 排序,从小到大 | | status | char(1) | YES | 0 | 状态 0启用 1停用 | | remark | varchar(500) | YES | | 备注 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(id)、idx_special_plan_status(status,sort_order)、idx_special_plan_create_time(create_time) --- ### 4.7 biz_project_rating — 项目评分表 合规/执行方/赞助方对项目的四维评分,`uk_rating` 保证同一评分人对同一项目唯一。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | rating_id | bigint | NO | | 主键(雪花 ID) | | project_id | bigint | NO | | 项目 ID | | project_no | varchar(50) | YES | | 项目编号 | | project_name | varchar(200) | YES | | 项目名称 | | rater_id | bigint | YES | | 评分人 ID | | rater_name | varchar(50) | YES | | 评分人姓名 | | rater_role | varchar(20) | YES | | 评分人角色 compliance/executor/sponsor | | quality_score | int | YES | 0 | 履约质量 1-5 | | response_score | int | YES | 0 | 时效响应 1-5 | | cooperation_score | int | YES | 0 | 配合度 1-5 | | compliance_score | int | YES | 0 | 合规安全 1-5 | | remark | varchar(500) | YES | | 评价备注 | | rating_time | datetime | YES | | 评分时间 | | is_deleted | tinyint | NO | 0 | 软删除 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(rating_id)、uk_rating(project_id,rater_id,rater_role)、idx_pr_project(project_id)、idx_pr_rater(rater_id)、idx_pr_rating_time(rating_time) --- ## 五、公示与意向域 ### 5.1 biz_publicity — 项目公示/公告 项目公示内容(邀请函/支持函/通知/议程)。`announce_type` 区分类型。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 主键 | | project_id | bigint | NO | | 项目 ID | | project_no | varchar(50) | YES | | 项目编号(冗余) | | project_name | varchar(200) | YES | | 项目名称(冗余) | | announce_type | varchar(20) | YES | | 公告类型:invitation/support/notice/agenda | | title | varchar(200) | YES | | 公告标题 | | file_url | varchar(500) | YES | | 公告文件 URL | | publish_time | datetime | YES | | 发布时间 | | remark | varchar(500) | YES | | 备注 | | status | char(1) | YES | 1 | 状态(0保存 1发布) | | rating_time | datetime | YES | | 发布时间 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(id)、idx_pub_project(project_id)、idx_pub_project_no(project_no)、idx_pub_announce_type(announce_type)、idx_pub_title(title)、idx_pub_create_time(create_time) --- ### 5.2 / 5.3 biz_publicity_support_intent / biz_publicity_execution_intent — 公示页意向(匿名) 公示页两个匿名意向按钮,独立建表,允许 `user_id=NULL`(不强制登录)。两表结构一致。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | intent_id | bigint | NO | | 意向 ID | | project_id | bigint | YES | | 项目 ID | | project_no | varchar(64) | YES | | 项目编号(冗余) | | project_name | varchar(255) | YES | | 项目名称(冗余) | | user_id | bigint | YES | | 用户 ID(按 phone 关联) | | name | varchar(50) | YES | | 姓名 | | phone | varchar(20) | YES | | 手机号 | | work_unit | varchar(200) | YES | | 工作单位 | | department | varchar(100) | YES | | 部门 | | position | varchar(100) | YES | | 职务 | | source | varchar(32) | YES | publicity | 来源 publicity=公示页 | | intent_status | varchar(32) | YES | 待审核 | 状态:待审核/已通过/已拒绝 | | remark | varchar(500) | YES | | 备注 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(intent_id)、idx_project_phone(project_id,phone,source)、idx_user_id(user_id) --- ### 5.4 biz_execution_intent — 执行意向表 登录视角的执行意向(强绑用户),用 `del_flag` 软删(参会人新增/导入时建幽灵占位记录)。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | intent_id | bigint | NO | 0 | 主键(雪花 ID) | | user_id | bigint | YES | | 用户 ID(sys_user.user_id) | | project_no | varchar(50) | YES | | 意向项目编号 | | project_name | varchar(200) | YES | | 意向项目名称 | | name | varchar(50) | NO | | 姓名 | | work_unit | varchar(200) | YES | | 工作单位名称 | | department | varchar(100) | YES | | 部门 | | position | varchar(50) | YES | | 职务 | | phone | varchar(20) | NO | | 手机号 | | onboard_status | varchar(20) | YES | 未入库 | 是否入库:已入库/未入库 | | del_flag | char(1) | NO | 0 | 删除标记 0正常 1删除 | | create_time / create_by / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(intent_id)、idx_user_id(user_id)、idx_ei_phone(phone)、idx_ei_project(project_no)、idx_ei_create_time(create_time) --- ## 六、会议域 ### 6.1 biz_meeting — 会议表 会议核心表,含阶段流转、材料审核、费用汇总等状态机。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | meeting_id | bigint | NO | | 会议 ID | | business_id | varchar(50) | NO | | 业务会议 ID(UNI,如 5643145673) | | project_id | bigint | YES | | 所属项目 ID | | execution_unit_id | bigint | YES | | 执行方归属(biz_org.org_id) | | project_no | varchar(50) | YES | | 项目编号 | | project_name | varchar(200) | YES | | 项目名称 | | meeting_name | varchar(200) | YES | | 会议名称 | | period_no | int | YES | 1 | 期数 | | total_periods | int | YES | 1 | 总期数 | | project_form | varchar(20) | YES | | 项目形式 | | start_time | datetime | YES | | 会议开始时间 | | end_time | datetime | YES | | 会议结束时间 | | address | varchar(500) | YES | | 会议地址 | | current_stage | varchar(20) | YES | 0 | 当前阶段:未执行/待监管/监管通过/待整改/待结算/已结算/已结题 | | supervision_opinion | varchar(500) | YES | | 监察意见 | | supervision_by | varchar(64) | YES | | 监察人 | | supervision_time | datetime | YES | | 监察时间 | | invitation_url | varchar(500) | YES | | 邀请函 URL | | schedule_url | varchar(500) | YES | | 日程海报 URL | | poster_url | varchar(500) | YES | | 生成的海报 URL | | labor_signed | char(1) | YES | N | 签署劳务 N未签 Y已签 | | is_executed | tinyint | NO | 0 | 是否已执行 | | execute_time | datetime | YES | | 执行时间 | | material_audit_stage | varchar(32) | YES | NOT_SUBMITTED | 材料审核阶段 | | material_audit_time | datetime | YES | | 材料最近审核时间 | | material_compliance_approved | tinyint | NO | 0 | 材料合规是否已通过(区分 SUBMITTED 内部层级) | | labor_audit_stage | varchar(32) | YES | NOT_SUBMITTED | 劳务材料审核阶段 | | service_audit_stage | varchar(32) | YES | NOT_SUBMITTED | 会务材料审核阶段 | | labor_compliance_approved | tinyint | NO | 0 | 劳务材料合规(一级)是否通过 | | service_compliance_approved | tinyint | NO | 0 | 会务材料合规(一级)是否通过 | | submit_deadline | datetime | YES | | 提交截止时间 | | is_settled | tinyint | NO | 0 | 是否结算 0否 1是 | | settle_time | datetime | YES | | 结算时间 | | is_finished | tinyint | NO | 0 | 是否完结 0否 1是 | | finish_time | datetime | YES | | 完结时间 | | is_frozen | tinyint | NO | 0 | 是否冻结 0否 1是 | | freeze_time | datetime | YES | | 冻结时间 | | labor_fee | decimal(15,2) | NO | 0.00 | 劳务费用(应发金额合计) | | meeting_fee | decimal(15,2) | NO | 0.00 | 会务费用(总发票覆盖 SUB) | | total_fee | decimal(15,2) | NO | 0.00 | 总费用 = 劳务 + 会务 | | fee_calc_status | tinyint | NO | 0 | 费用汇总状态 0未汇总 1已汇总 | | remark | varchar(500) | YES | | 备注 | | is_deleted | tinyint | YES | 0 | 软删除 0否 1是 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(meeting_id)、uk_business_id(business_id)、idx_meeting_project(project_id)、idx_meeting_stage(current_stage) **关联**:`biz_meeting_attendee` / `biz_meeting_material` / `biz_meeting_audit_log` / `biz_meeting_settlement` / `biz_labor_voucher` 均以 `meeting_id` 关联。 --- ### 6.2 biz_meeting_attendee — 会议参会人 参会人(专家)快照,含银行/费用/签字/协议信息。`uk_meeting_user` 保证一人一会唯一。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 主键 | | meeting_id | bigint | NO | | 会议 ID(FK biz_meeting.meeting_id) | | user_id | bigint | NO | | 参会人 user_id(FK sys_user.user_id) | | name | varchar(50) | YES | | 姓名(快照) | | phone | varchar(20) | YES | | 手机号(快照) | | work_unit | varchar(200) | YES | | 工作单位(快照) | | department | varchar(100) | YES | | 科室(快照) | | title | varchar(50) | YES | | 医务职称(快照) | | id_card | varchar(50) | YES | | 身份证号(快照) | | bank_card | varchar(30) | YES | | 银行卡号(快照) | | bank_name | varchar(100) | YES | | 银行名称(快照) | | bank_branch | varchar(100) | YES | | 开户银行支行(快照) | | bank_region | varchar(100) | YES | | 开户行省/市(/ 分隔) | | bank_address | varchar(200) | YES | | 开户地址(快照) | | account_name | varchar(100) | YES | | 账户名称/持卡人姓名(快照) | | id_card_attachments | varchar(1000) | YES | | 身份证正反面 URL(逗号分隔) | | labor_form | varchar(500) | YES | | 劳务形式(checkboxOther,逗号分隔) | | fee_pre_tax | decimal(15,2) | YES | | 税前费用 | | tax | decimal(15,2) | YES | | 税费 | | fee | decimal(15,2) | YES | | 税后费用(实际支付) | | vat_and_surcharge | decimal(15,2) | YES | | 增值税及附加成本 | | summary | varchar(500) | YES | | 摘要 | | on_site_photos | text | YES | | 现场照片 | | signed_at | datetime | YES | | 签字时间 | | signed_ip | varchar(64) | YES | | 签字 IP | | handsign | longtext | YES | | 手写签名 Base64 | | labor_protocol | varchar(500) | YES | | 劳务协议 URL(OSS) | | labor_protocol_masked | varchar(500) | YES | | 脱敏版协议 URL(身份证/银行卡用 * 替换) | | is_esigned | tinyint(1) | NO | 0 | 是否已电子签 | | is_invited | tinyint(1) | NO | 0 | 是否已邀请参会 0否 1是 | | invitation_url | varchar(512) | YES | | 盖章后个性化邀请函 URL | | is_deleted | tinyint | YES | 0 | 软删除标记 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(id)、uk_meeting_user(meeting_id,user_id)、idx_user_id(user_id) --- ### 6.3 biz_meeting_material — 会议材料(单表) 材料/凭证/发票统一单表,靠 `material_type` + `sub_type` 分类。发票金额通过 `biz_meeting_invoice` 回写。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 记录 ID | | meeting_id | bigint | NO | | 会议 ID | | material_type | varchar(32) | NO | | SERVICE=会务材料 LABOR=劳务材料 SERVICE_VOUCHER=会务凭证 LABOR_VOUCHER=劳务凭证 | | sub_type | varchar(32) | NO | | M_MATERIAL/M_HOTEL/M_TRAFFIC_BIG/M_TRAFFIC_SMALL/M_EXECUTION/M_DESIGN/M_OTHER/M_SETTLEMENT/M_INVOICE/L_DETAIL/L_AGREEMENT/SV_PAYMENT/LV_PAYMENT | | file_name | varchar(255) | YES | | 文件名称 | | oss_url | varchar(500) | NO | | OSS URL | | amount | decimal(15,2) | YES | 0.00 | 金额(发票专用,其他类型=0) | | creator_id | bigint | YES | | 提交人 user_id | | fee_status | tinyint | NO | 1 | 该材料发票金额是否已计算 0未计算 1已计算 | | extra_oss_url | varchar(500) | YES | | 脱敏版 URL(签到表高斯模糊) | | masked_json | text | YES | | 电子签到表解析后脱敏 JSON(表头+行,sponsor 预览用) | | is_deleted | tinyint | YES | 0 | 软删除标记 | | create_time | datetime | YES | | 创建时间 | **索引**:PRIMARY(id)、uk_meeting_type_sub(meeting_id,material_type,sub_type)、idx_meeting_subtype(meeting_id,sub_type) --- ### 6.4 biz_meeting_invoice — 会议发票识别记录 1:1 跟随 material(仅 `is_invoice=1` 时插入),OCR 识别结果回写 material.amount。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 记录 ID | | meeting_id | bigint | NO | | 会议 ID | | material_id | bigint | NO | | FK → biz_meeting_material.id | | oss_url | varchar(500) | NO | | OSS URL | | invoice_type | varchar(16) | YES | SUB | MAIN=主发票 SUB=子发票 | | amount | decimal(15,2) | YES | 0.00 | 价税合计(OCR 识别,同时回写 material) | | creator_id | bigint | YES | | 提交人 user_id | | recognize_status | varchar(16) | NO | RECOGNIZED | UNRECOGNIZED/RECOGNIZED/FAILED | | error_msg | varchar(500) | YES | | 识别失败原因 | | source_filename | varchar(255) | YES | | 原始文件名(zip 解压时记录) | | invoice_no | varchar(32) | YES | | 发票号码 | | invoice_date | varchar(16) | YES | | 开票日期 | | create_time / update_time | | | | 公共字段 | **索引**:PRIMARY(id)、idx_material(material_id)、idx_meeting(meeting_id)、idx_rec_status(recognize_status,create_time) --- ### 6.5 biz_meeting_executor — 会议-执行人员(1:N) | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 记录 ID | | meeting_id | bigint | NO | | 会议 ID(UNI) | | assigned_by | bigint | YES | | 分配人 user_id | | executor_org_id | bigint | YES | | 执行方企业 org_id | | is_deleted | tinyint | YES | 0 | 软删除标记 | | create_time | datetime | YES | | 创建时间 | **索引**:PRIMARY(id)、uk_meeting_user(meeting_id) --- ### 6.6 biz_meeting_supervisor — 会议-监察员(1:N) | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 记录 ID | | meeting_id | bigint | NO | | 会议 ID(UNI) | | assigned_by | bigint | YES | | 分配人 user_id | | sponsor_org_id | bigint | YES | | 支持方企业 org_id | | is_deleted | tinyint | YES | 0 | 软删除标记 | | create_time | datetime | YES | | 创建时间 | **索引**:PRIMARY(id)、uk_meeting_user(meeting_id) --- ### 6.7 biz_meeting_audit_log — 会议审核流程日志 记录每次审核操作及各角色当时展示状态(快照)。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 记录 ID | | meeting_id | bigint | NO | | 会议 ID | | auditor | varchar(64) | YES | | 审核人(username 或人工填入) | | opinion | varchar(2000) | YES | | 审核意见 | | current_stage | varchar(32) | YES | | 当前阶段(INIT / …) | | audit_type | varchar(16) | YES | | MATERIAL/VOUCHER | | audit_result | varchar(16) | YES | | APPROVED/REJECTED | | material_type | varchar(16) | YES | | 材料类型 LABOR/SERVICE;NULL=会议级操作 | | executor_stage | varchar(32) | YES | | 执行方当时展示状态 | | sponsor_stage | varchar(32) | YES | | 支持方当时展示状态 | | manager_stage | varchar(32) | YES | | 合规当时展示状态 | | admin_stage | varchar(32) | YES | | 管理员当时展示状态 | | audit_time | datetime | YES | | 审核时间 | | is_deleted | tinyint | YES | 0 | 软删除标记 | | create_time | datetime | YES | | 创建时间 | **索引**:PRIMARY(id)、idx_meeting(meeting_id)、idx_meeting_stage(meeting_id,current_stage) --- ### 6.8 biz_meeting_settlement — 会议结算明细 按费用项拆分的小计,区分会务/劳务两类。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 主键 | | meeting_id | bigint | YES | | 会议 ID | | project_no | varchar(50) | YES | | 项目编号 | | project_name | varchar(200) | YES | | 项目名称 | | exec_unit | varchar(200) | YES | | 执行单位 | | fee_type | varchar(50) | NO | | 费用项:场地租赁/设备租赁/餐饮服务/资料印刷/其他杂费/专家劳务费/评审费/差旅费/材料费/其他费用 | | unit_price | decimal(15,2) | YES | 0.00 | 单价 | | qty | int | YES | 0 | 数量 | | subtotal | decimal(15,2) | YES | 0.00 | 小计 | | remark | varchar(500) | YES | | 备注 | | audit_status | varchar(20) | YES | 0 | 审核状态:已审核/待审核 | | settlement_type | varchar(20) | YES | meeting | meeting会务 / labor劳务 | **索引**:PRIMARY(id)、idx_st_meeting(meeting_id)、idx_st_type(settlement_type) --- ### 6.9 biz_invitation — 邀请函表 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | invite_id | bigint | NO | 0 | 主键(雪花 ID) | | project_id | bigint | YES | | 项目 ID | | project_no | varchar(50) | YES | | 项目编号 | | title | varchar(200) | YES | | 标题 | | template_url | varchar(500) | YES | | 邀请函模板 URL | | qr_code_url | varchar(500) | YES | | 二维码 URL | | share_url | varchar(500) | YES | | 分享 URL | | publish_time | datetime | YES | | 发布时间 | | remark | varchar(500) | YES | | 备注 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(invite_id)、idx_iv_project(project_id)、idx_iv_project_no(project_no) --- ### 6.10 biz_labor_voucher — 劳务电子签表 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | voucher_id | bigint | NO | 0 | 主键(雪花 ID) | | voucher_no | varchar(50) | NO | | 凭证编号(如 LV-2026-001,UNI) | | meeting_id | bigint | YES | | 会议 ID | | meeting_name | varchar(200) | YES | | 会议名称 | | expert_name | varchar(50) | YES | | 专家姓名 | | id_card | varchar(50) | YES | | 身份证号 | | bank_account | varchar(50) | YES | | 银行账号 | | amount | decimal(15,2) | YES | 0.00 | 金额 | | submit_date | datetime | YES | | 提交日期 | | audit_status | varchar(20) | YES | 0 | 审核状态:待审核/已审核/已驳回 | | audit_opinion | varchar(500) | YES | | 审核意见 | | audit_by | varchar(64) | YES | | 审核人 | | audit_time | datetime | YES | | 审核时间 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(voucher_id)、uk_voucher_no(voucher_no)、idx_lv_meeting(meeting_id)、idx_lv_audit_status(audit_status) --- ### 6.11 biz_labor_protocol_template — 劳务协议模板配置 协议模板 HTML(含占位符),用于生成参会人劳务协议。 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 主键 | | template_name | varchar(100) | NO | | 模板名(前端下拉显示) | | template_content | longtext | NO | | 模板 HTML(含占位符 {name} {phone} 等) | | default_flag | char(1) | YES | N | 默认标记 Y=默认 N=非默认 | | sort_order | int | YES | 0 | 排序(前端下拉顺序) | | status | char(1) | YES | Y | 状态 Y=启用 N=禁用 | | remark | varchar(500) | YES | | 备注 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(id)、idx_default_flag(default_flag)、idx_status(status) --- ## 七、内容与消息域 ### 7.1 biz_article — 平台协议/隐私政策文章 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | id | bigint | NO | | 文章 ID | | title | varchar(200) | NO | | 标题 | | type | varchar(20) | NO | | agreement=用户协议 privacy=隐私政策 | | content | mediumtext | NO | | 正文(HTML/富文本) | | status | char(1) | YES | Y | 状态 Y启用 N停用 | | remark | varchar(500) | YES | | 备注 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(id)、idx_article_create_time(create_time)、idx_biz_article_type(type,status) --- ### 7.2 biz_resource — 资料库表 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | resource_id | bigint | NO | 0 | 主键(雪花 ID) | | name | varchar(200) | NO | | 资料名称 | | category | varchar(50) | YES | | 分类:项目模板/会议材料/合规文档/专家库/培训资料/表单模板 | | file_size | varchar(20) | YES | | 文件大小 | | file_url | varchar(500) | YES | | 文件 URL | | uploader_id | bigint | YES | | 上传人 ID | | uploader_name | varchar(50) | YES | | 上传人 | | upload_time | datetime | YES | | 上传时间 | | status | varchar(20) | YES | 0 | 状态:已发布/草稿 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(resource_id)、idx_res_name(name)、idx_res_category(category)、idx_res_status(status) --- ### 7.3 biz_message — 个人通知消息表 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | msg_id | bigint | NO | | 消息 ID | | receiver_user_id | bigint | NO | | 接收人 user_id | | msg_type | char(1) | YES | 1 | 类型 1通知 2待办 3系统 | | title | varchar(200) | NO | | 标题 | | content | text | YES | | 消息内容 | | biz_type | varchar(50) | YES | | 业务类型 auth/project/meeting/agreement | | biz_id | bigint | YES | | 关联业务 ID | | is_read | char(1) | YES | 0 | 已读 0否 1是 | | read_time | datetime | YES | | 已读时间 | | create_by | varchar(64) | YES | | 发送人 | | create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(msg_id)、idx_receiver_time(receiver_user_id,create_time)、idx_receiver_unread(receiver_user_id,is_read) --- ### 7.4 biz_support_letter — 支持函表 | 列 | 类型 | 空 | 默认 | 说明 | |---|---|---|---|---| | letter_id | bigint | NO | 0 | 主键(雪花 ID) | | project_id | bigint | YES | | 项目 ID | | project_no | varchar(50) | YES | | 项目编号 | | title | varchar(200) | YES | | 标题 | | file_url | varchar(500) | YES | | 支持函图片 URL | | publish_time | datetime | YES | | 发布时间 | | support_count | int | YES | 0 | 支持次数 | | create_by / create_time / update_by / update_time | | | | 公共字段 | **索引**:PRIMARY(letter_id)、idx_sl_project(project_id)、idx_sl_project_no(project_no) --- ## 八、核心关系速览(逻辑外键) ``` biz_org (org_id) ──┬──< biz_person (org_id) ├──< biz_project.sponsor_org_id ├──< biz_meeting.execution_unit_id ├──< biz_meeting_executor.executor_org_id ├──< biz_meeting_supervisor.sponsor_org_id ├──< biz_project_executor_assign.executor_org_id └──< biz_project_assign.execution_unit_id biz_project (project_id) ──┬──< biz_meeting (project_id) ├──< biz_project_assign (project_id) ├──< biz_project_sponsor_assign (project_id) ├──< biz_project_executor_assign (project_id) ├──< biz_project_rating (project_id) ├──< biz_publicity (project_id) ├──< biz_publicity_support_intent (project_id) ├──< biz_publicity_execution_intent (project_id) ├──< biz_invitation (project_id) └──< biz_support_letter (project_id) biz_special_plan (id) ──< biz_project_plan.plan_direction_id biz_meeting (meeting_id) ──┬──< biz_meeting_attendee (meeting_id) ├──< biz_meeting_material (meeting_id) ├──< biz_meeting_audit_log (meeting_id) ├──< biz_meeting_settlement (meeting_id) ├──< biz_labor_voucher (meeting_id) ├──< biz_meeting_executor (meeting_id) └──< biz_meeting_supervisor (meeting_id) biz_meeting_material (id) ──< biz_meeting_invoice.material_id ``` --- ## 九、ER 图(Mermaid) > 说明:以下用 Mermaid `erDiagram`(乌鸦脚)表示。图中只列出主键 / 唯一键 / 外键及少数关键列,`user_id` 均逻辑指向 `sys_user.user_id`(系统表,非本档范围)。`||` 一,`o{` 零或多,`o|` 零或一。 ### 9.1 组织与人员域 ```mermaid erDiagram SYS_USER ||--o| BIZ_PERSON : "user_id 唯一关联" SYS_USER ||--o| BIZ_EXPERT : "user_id 关联" SYS_USER ||--o{ BIZ_ORG : "主账号 user_id" BIZ_ORG ||--o{ BIZ_PERSON : "org_id 归属" SYS_USER { bigint user_id PK varchar user_name varchar role_type } BIZ_ORG { bigint org_id PK varchar org_name varchar org_type bigint user_id } BIZ_PERSON { bigint person_id PK bigint user_id UK varchar name varchar phone UK bigint org_id FK varchar unit_type } BIZ_EXPERT { bigint expert_id PK bigint user_id varchar name varchar phone UK varchar audit_status } BIZ_DEPARTMENT { bigint dept_id PK varchar name } BIZ_DOCTOR_TITLE { bigint title_id PK varchar name } ``` ### 9.2 项目域 ```mermaid erDiagram BIZ_ORG ||--o{ BIZ_PROJECT : "sponsor_org_id 支持方" BIZ_PROJECT ||--o{ BIZ_PROJECT_ASSIGN : "project_id" BIZ_PROJECT ||--o{ BIZ_PROJECT_EXECUTOR_ASSIGN : "project_id" BIZ_PROJECT ||--o{ BIZ_PROJECT_SPONSOR_ASSIGN : "project_id" BIZ_PROJECT ||--o{ BIZ_PROJECT_RATING : "project_id" BIZ_ORG ||--o{ BIZ_PROJECT_ASSIGN : "execution_unit_id" BIZ_ORG ||--o{ BIZ_PROJECT_EXECUTOR_ASSIGN : "executor_org_id" BIZ_ORG ||--o{ BIZ_PROJECT_SPONSOR_ASSIGN : "sponsor_org_id" BIZ_SPECIAL_PLAN ||--o{ BIZ_PROJECT_PLAN : "plan_direction_id" BIZ_PROJECT ||--o{ BIZ_PROJECT_PLAN : "project_no 关联" BIZ_PROJECT { bigint project_id PK varchar project_no UK varchar project_name bigint sponsor_org_id FK bigint lead_user_id } BIZ_ORG { bigint org_id PK varchar org_name varchar org_type } BIZ_PROJECT_ASSIGN { bigint assign_id PK bigint project_id FK bigint execution_unit_id FK } BIZ_PROJECT_EXECUTOR_ASSIGN { bigint id PK bigint project_id FK bigint staff_user_id bigint executor_org_id FK } BIZ_PROJECT_SPONSOR_ASSIGN { bigint id PK bigint project_id FK bigint monitor_user_id bigint sponsor_org_id FK } BIZ_PROJECT_RATING { bigint rating_id PK bigint project_id FK bigint rater_id varchar rater_role } BIZ_SPECIAL_PLAN { bigint id PK varchar title } BIZ_PROJECT_PLAN { bigint plan_id PK varchar plan_name bigint plan_direction_id FK varchar project_no FK bigint submitter_id } ``` ### 9.3 公示与意向域 ```mermaid erDiagram BIZ_PROJECT ||--o{ BIZ_PUBLICITY : "project_id" BIZ_PROJECT ||--o{ BIZ_PUBLICITY_SUPPORT_INTENT : "project_id" BIZ_PROJECT ||--o{ BIZ_PUBLICITY_EXECUTION_INTENT : "project_id" BIZ_PROJECT ||--o{ BIZ_EXECUTION_INTENT : "project_no 关联" BIZ_PROJECT { bigint project_id PK varchar project_no UK varchar project_name } BIZ_PUBLICITY { bigint id PK bigint project_id FK varchar announce_type } BIZ_PUBLICITY_SUPPORT_INTENT { bigint intent_id PK bigint project_id FK bigint user_id varchar phone } BIZ_PUBLICITY_EXECUTION_INTENT { bigint intent_id PK bigint project_id FK bigint user_id varchar phone } BIZ_EXECUTION_INTENT { bigint intent_id PK bigint user_id varchar project_no FK varchar phone } ``` ### 9.4 会议域 ```mermaid erDiagram BIZ_PROJECT ||--o{ BIZ_MEETING : "project_id" BIZ_PROJECT ||--o{ BIZ_INVITATION : "project_id" BIZ_MEETING ||--o{ BIZ_MEETING_ATTENDEE : "meeting_id" BIZ_MEETING ||--o{ BIZ_MEETING_MATERIAL : "meeting_id" BIZ_MEETING_MATERIAL ||--o| BIZ_MEETING_INVOICE : "material_id" BIZ_MEETING ||--o{ BIZ_MEETING_AUDIT_LOG : "meeting_id" BIZ_MEETING ||--o{ BIZ_MEETING_SETTLEMENT : "meeting_id" BIZ_MEETING ||--o{ BIZ_LABOR_VOUCHER : "meeting_id" BIZ_MEETING ||--o{ BIZ_MEETING_EXECUTOR : "meeting_id" BIZ_MEETING ||--o{ BIZ_MEETING_SUPERVISOR : "meeting_id" BIZ_PROJECT { bigint project_id PK varchar project_no UK varchar project_name } BIZ_MEETING { bigint meeting_id PK varchar business_id UK bigint project_id FK bigint execution_unit_id varchar current_stage } BIZ_MEETING_ATTENDEE { bigint id PK bigint meeting_id FK bigint user_id } BIZ_MEETING_MATERIAL { bigint id PK bigint meeting_id FK varchar material_type varchar sub_type } BIZ_MEETING_INVOICE { bigint id PK bigint meeting_id FK bigint material_id FK } BIZ_MEETING_AUDIT_LOG { bigint id PK bigint meeting_id FK varchar audit_type } BIZ_MEETING_SETTLEMENT { bigint id PK bigint meeting_id FK varchar settlement_type } BIZ_LABOR_VOUCHER { bigint voucher_id PK varchar voucher_no UK bigint meeting_id FK } BIZ_MEETING_EXECUTOR { bigint id PK bigint meeting_id UK bigint executor_org_id } BIZ_MEETING_SUPERVISOR { bigint id PK bigint meeting_id UK bigint sponsor_org_id } BIZ_INVITATION { bigint invite_id PK bigint project_id FK varchar project_no } ``` ### 9.5 内容与消息域 ```mermaid erDiagram BIZ_PROJECT ||--o{ BIZ_SUPPORT_LETTER : "project_id" BIZ_PROJECT { bigint project_id PK varchar project_no UK } BIZ_SUPPORT_LETTER { bigint letter_id PK bigint project_id FK varchar project_no } BIZ_ARTICLE { bigint id PK varchar title varchar type } BIZ_RESOURCE { bigint resource_id PK varchar name varchar category } BIZ_MESSAGE { bigint msg_id PK bigint receiver_user_id varchar biz_type bigint biz_id } ```