Files
guoju0808/数据库设计文档2.0.md
郭庆泰 5a0a892574 feat: 邀请函邮件发送 + 首次设密/密码为空 + 姓名单一可信源
邀请发送 (菜单暂隐藏, 待确认参数见 发送邀请-待确认参数.md):
- 后端: BizInvite / BizInviteRecipient + Controller/Service/Mapper/XML
- 邮件: InviteMailSender (spring-boot-starter-mail SMTP) + application*.yml 邮件配置
- 上传进度: UploadProgressRegistry + UploadProgressController
- 前端: InviteList / InviteNew / InviteDetail / InviteView + api/business/invite.js
- 原型: proto/html/components/invite-detail / new-invitation / send-invitation

登录/账号:
- 首次设密: /getInfo 返回 isPasswordEmpty, SysProfileController 密码为空时跳过旧密码校验, ForcePasswordDialog 强制弹窗
- 姓名单一可信源 resolveDisplayName: doctor→biz_expert.name, sponsor/executor→biz_person.name, 其余回退 nick_name
- OA compliance 门禁改为按手机号查 ecology 视图 (不再限定 manager/leader)

其它:
- OSS zip 在线查看 (列清单+取单文件, 公开只读) + SecurityConfig permitAll
- doctor 项目详情 ProjectDetail.vue
- 数据库/测试/设计文档 (md) 入库
2026-09-10 20:40:49 +08:00

48 KiB
Raw Permalink Blame History

数据库设计文档 V2.0

版本:V2.0 范围:业务数据库(biz_* 业务表),共 31 张 说明:本文档字段以数据库实际结构为准。


一、设计约定

约定项 说明
表命名 业务表统一 biz_ 前缀,与系统表 sys_ 区分
主键 业务大表采用 bigint 雪花 IDintent_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/NY=是/启用,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_typeexecution/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_idbiz_project.sponsor_org_idbiz_meeting.execution_unit_idbiz_meeting_executor.executor_org_idbiz_meeting_supervisor.sponsor_org_idbiz_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 关联系统用户 IDUNI
name varchar(50) NO 姓名
phone varchar(20) NO 手机号(UNI
org_id bigint YES 所属公司 IDFK 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 身份证正反面 URLCSV
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-658UNI
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_idrole_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_idJOIN 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 BizAuditStatusEnum1待审核 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 上传文件 URLPDF/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 用户 IDsys_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 业务会议 IDUNI,如 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 会议 IDFK biz_meeting.meeting_id
user_id bigint NO 参会人 user_idFK 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 劳务协议 URLOSS
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 会议 IDUNI
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 会议 IDUNI
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/SERVICENULL=会议级操作
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-001UNI
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 组织与人员域

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 项目域

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 公示与意向域

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 会议域

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 内容与消息域

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
    }