fundplatform/doc/数据库设计文档.md

37 KiB
Raw Blame History

资金服务平台数据库设计文档

版本: v1.0
更新日期: 2026-02-13
作者: zhangjf
数据库: MySQL 8.0
字符集: utf8mb4


一、数据库概览

1.1 数据库信息

项目
数据库名 fund_platform
字符集 utf8mb4
排序规则 utf8mb4_unicode_ci
存储引擎 InnoDB
时区 +08:00

1.2 表清单

模块 表名 说明 记录数
系统管理 sys_tenant 租户表 2
sys_dept 部门表 7
sys_user 用户表 6
sys_role 角色表 7
sys_menu 菜单表 38
sys_user_role 用户角色关联表 6
sys_role_menu 角色菜单关联表 动态
sys_operation_log 操作日志表 动态
客户管理 customer 客户表 3
customer_contact 客户联系人表 0
项目管理 project 项目表 3
project_member 项目成员表 6
需求工单 requirement 需求工单表 0
支出管理 expense_type 支出类型表 12
expense 支出表 0
应收款管理 receivable 应收款表 0
receipt 收款记录表 0

二、ER 图

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                              资金服务平台数据库 ER 图                                      │
├─────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                         │
│  ┌──────────────┐         ┌──────────────┐         ┌──────────────┐                    │
│  │  sys_tenant  │         │   sys_user   │         │   sys_role   │                    │
│  │  (租户表)     │         │   (用户表)    │         │   (角色表)    │                    │
│  ├──────────────┤         ├──────────────┤         ├──────────────┤                    │
│  │ PK tenant_id │◄────────┤ FK tenant_id │         │ FK tenant_id │                    │
│  │    code      │         │ PK user_id   │◄───────►│ PK role_id   │                    │
│  │    name      │         │    username  │         │    code      │                    │
│  │    type      │         │    password  │         │    name      │                    │
│  │    status    │         │    real_name │         │    type      │                    │
│  └──────────────┘         │    dept_id   │────────►│    scope     │                    │
│                           │    status    │         └──────────────┘                    │
│                           └──────────────┘                ▲                            │
│                                  ▲                        │                            │
│                                  │                        │                            │
│                           ┌──────┴──────┐          ┌──────┴──────┐                      │
│                           │  sys_dept   │          │sys_user_role│                      │
│                           │  (部门表)    │          │(用户角色关联)│                      │
│                           ├─────────────┤          ├─────────────┤                      │
│                           │ PK dept_id  │          │ PK id       │                      │
│                           │ FK tenant_id│          │ FK user_id  │                      │
│                           │    name     │          │ FK role_id  │                      │
│                           │ parent_id   │          └─────────────┘                      │
│                           └─────────────┘                                               │
│                                                                                         │
│  ┌──────────────┐         ┌──────────────┐         ┌──────────────┐                    │
│  │   customer   │         │   project    │         │  requirement │                    │
│  │   (客户表)    │         │   (项目表)    │         │  (需求工单表) │                    │
│  ├──────────────┤         ├──────────────┤         ├──────────────┤                    │
│  │ PK customer_id│◄───────┤ FK customer_id│◄───────┤ FK customer_id│                   │
│  │ FK tenant_id │         │ FK tenant_id │         │ FK tenant_id │                    │
│  │    code      │         │ PK project_id│◄───────┤ FK project_id│                    │
│  │    name      │         │    code      │         │ PK req_id    │                    │
│  │    type      │         │    name      │         │    code      │                    │
│  │    level     │         │    manager_id│         │    name      │                    │
│  └──────────────┘         │    status    │         │    amount    │                    │
│           │               └──────────────┘         │    status    │                    │
│           │                      ▲                 └──────────────┘                    │
│           │                      │                                                      │
│           │               ┌──────┴──────┐                                              │
│           │               │project_member│                                             │
│           │               │(项目成员表)  │                                             │
│           │               ├─────────────┤                                              │
│           │               │ PK member_id│                                              │
│           │               │ FK project_id│                                             │
│           │               │ FK user_id  │                                              │
│           │               │    role     │                                              │
│           │               └─────────────┘                                              │
│           │                                                                             │
│           ▼                                                                             │
│  ┌──────────────┐                                                                      │
│  │customer_contact│                                                                     │
│  │(客户联系人表)  │                                                                     │
│  ├──────────────┤                                                                      │
│  │ PK contact_id │                                                                      │
│  │ FK customer_id│                                                                      │
│  │    name       │                                                                      │
│  │    phone      │                                                                      │
│  │    is_primary │                                                                      │
│  └──────────────┘                                                                      │
│                                                                                         │
│  ┌──────────────┐         ┌──────────────┐         ┌──────────────┐                    │
│  │ expense_type │         │   expense    │         │  receivable  │                    │
│  │ (支出类型表)  │         │   (支出表)    │         │  (应收款表)   │                    │
│  ├──────────────┤         ├──────────────┤         ├──────────────┤                    │
│  │ PK type_id   │◄────────┤ FK type_id   │         │ PK receiv_id │                    │
│  │ FK tenant_id │         │ FK tenant_id │         │ FK tenant_id │                    │
│  │    code      │         │ PK expense_id│         │ FK project_id│                    │
│  │    name      │         │    code      │         │ FK customer_id│                   │
│  │ parent_id    │         │    amount    │         │ FK req_id    │                    │
│  └──────────────┘         │    date      │         │    amount    │                    │
│                           │    status    │         │    status    │                    │
│                           └──────────────┘         └──────┬───────┘                    │
│                                                           │                            │
│                                                    ┌──────┴──────┐                      │
│                                                    │   receipt   │                      │
│                                                    │ (收款记录表) │                      │
│                                                    ├─────────────┤                      │
│                                                    │ PK receipt_id│                      │
│                                                    │ FK receiv_id │                      │
│                                                    │    amount    │                      │
│                                                    │    date      │                      │
│                                                    └─────────────┘                      │
│                                                                                         │
└─────────────────────────────────────────────────────────────────────────────────────────┘

三、表结构详细说明

3.1 系统管理模块

3.1.1 sys_tenant租户表

字段名 类型 长度 必填 默认值 说明
tenant_id BIGINT - 自增 主键租户ID
tenant_code VARCHAR 50 - 租户编码(唯一)
tenant_name VARCHAR 100 - 租户名称
tenant_type TINYINT - 1 租户类型1-一库多租户2-一库一租户
contact_name VARCHAR 50 - 联系人姓名
contact_phone VARCHAR 20 - 联系人电话
contact_email VARCHAR 100 - 联系人邮箱
db_config JSON - - 数据库配置(一库一租户模式使用)
status TINYINT - 1 状态0-禁用1-启用
expire_time DATETIME - - 过期时间
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间

索引:

  • PRIMARY KEY (tenant_id)
  • UNIQUE KEY uk_code (tenant_code)
  • INDEX idx_status (status)

3.1.2 sys_dept部门表

字段名 类型 长度 必填 默认值 说明
dept_id BIGINT - 自增 主键部门ID
tenant_id BIGINT - - 租户ID外键
dept_name VARCHAR 100 - 部门名称
parent_id BIGINT - 0 父部门ID0表示顶级部门
dept_code VARCHAR 50 - 部门编码
dept_level INT - 1 部门层级
sort_order INT - 0 排序顺序
leader VARCHAR 50 - 部门负责人
leader_phone VARCHAR 20 - 负责人电话
status TINYINT - 1 状态0-禁用1-启用
remark VARCHAR 500 - 备注说明
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (dept_id)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_parent (parent_id)
  • INDEX idx_status (status)

3.1.3 sys_user用户表

字段名 类型 长度 必填 默认值 说明
user_id BIGINT - 自增 主键用户ID
tenant_id BIGINT - - 租户ID外键
username VARCHAR 50 - 用户名(登录账号)
password VARCHAR 100 - 密码BCrypt加密存储
real_name VARCHAR 50 - 真实姓名
gender TINYINT - 0 性别0-未知1-男2-女
phone VARCHAR 20 - 手机号码
email VARCHAR 100 - 邮箱地址
dept_id BIGINT - - 所属部门ID外键
position VARCHAR 50 - 岗位/职位
avatar VARCHAR 255 - 头像URL
status TINYINT - 1 状态0-禁用1-启用
last_login_time DATETIME - - 最后登录时间
last_login_ip VARCHAR 50 - 最后登录IP
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (user_id)
  • UNIQUE KEY uk_tenant_username (tenant_id, username)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_dept (dept_id)
  • INDEX idx_status (status)

3.1.4 sys_role角色表

字段名 类型 长度 必填 默认值 说明
role_id BIGINT - 自增 主键角色ID
tenant_id BIGINT - - 租户ID外键
role_code VARCHAR 50 - 角色编码
role_name VARCHAR 100 - 角色名称
role_type VARCHAR 20 custom 角色类型system-系统角色custom-自定义角色
data_scope VARCHAR 20 self 数据范围all-全部dept-本部门self-本人
sort_order INT - 0 排序顺序
status TINYINT - 1 状态0-禁用1-启用
remark VARCHAR 500 - 备注说明
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (role_id)
  • UNIQUE KEY uk_tenant_code (tenant_id, role_code)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_status (status)

3.1.5 sys_menu菜单表

字段名 类型 长度 必填 默认值 说明
menu_id BIGINT - 自增 主键菜单ID
tenant_id BIGINT - 0 租户ID0表示系统通用菜单
menu_name VARCHAR 100 - 菜单名称
menu_type VARCHAR 20 - 菜单类型dir-目录menu-菜单button-按钮
parent_id BIGINT - 0 父菜单ID0表示顶级菜单
menu_level INT - 1 菜单层级
icon VARCHAR 100 - 菜单图标
path VARCHAR 200 - 路由路径
component VARCHAR 200 - 组件路径
permission VARCHAR 100 - 权限标识user:list
sort_order INT - 0 排序顺序
status TINYINT - 1 状态0-禁用1-启用
remark VARCHAR 500 - 备注说明
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (menu_id)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_parent (parent_id)
  • INDEX idx_type (menu_type)
  • INDEX idx_status (status)

3.1.6 sys_user_role用户角色关联表

字段名 类型 长度 必填 默认值 说明
id BIGINT - 自增 主键ID
tenant_id BIGINT - - 租户ID外键
user_id BIGINT - - 用户ID外键
role_id BIGINT - - 角色ID外键
created_time DATETIME - CURRENT_TIMESTAMP 创建时间

索引:

  • PRIMARY KEY (id)
  • UNIQUE KEY uk_user_role (tenant_id, user_id, role_id)
  • INDEX idx_user (user_id)
  • INDEX idx_role (role_id)

3.1.7 sys_role_menu角色菜单关联表

字段名 类型 长度 必填 默认值 说明
id BIGINT - 自增 主键ID
tenant_id BIGINT - - 租户ID外键
role_id BIGINT - - 角色ID外键
menu_id BIGINT - - 菜单ID外键
created_time DATETIME - CURRENT_TIMESTAMP 创建时间

索引:

  • PRIMARY KEY (id)
  • UNIQUE KEY uk_role_menu (tenant_id, role_id, menu_id)
  • INDEX idx_role (role_id)
  • INDEX idx_menu (menu_id)

3.1.8 sys_operation_log操作日志表

字段名 类型 长度 必填 默认值 说明
log_id BIGINT - 自增 主键日志ID
tenant_id BIGINT - - 租户ID外键
user_id BIGINT - - 操作人ID外键
username VARCHAR 50 - 操作人用户名
operation VARCHAR 100 - 操作描述
method VARCHAR 200 - 操作方法
params TEXT - - 操作参数JSON格式
ip VARCHAR 50 - 操作IP
user_agent VARCHAR 500 - 用户代理
operation_time DATETIME - CURRENT_TIMESTAMP 操作时间
cost_time BIGINT - 0 耗时(毫秒)
result VARCHAR 20 success 操作结果success-成功fail-失败
error_msg TEXT - - 错误信息

索引:

  • PRIMARY KEY (log_id)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_user (user_id)
  • INDEX idx_time (operation_time)
  • INDEX idx_result (result)

3.2 客户管理模块

3.2.1 customer客户表

字段名 类型 长度 必填 默认值 说明
customer_id BIGINT - 自增 主键客户ID
tenant_id BIGINT - - 租户ID外键
customer_code VARCHAR 50 - 客户编码(唯一)
customer_name VARCHAR 200 - 客户名称
customer_short VARCHAR 100 - 客户简称
customer_type VARCHAR 20 enterprise 客户类型enterprise-企业individual-个人
industry VARCHAR 50 - 所属行业
scale VARCHAR 20 - 企业规模small-小型medium-中型large-大型
level VARCHAR 20 normal 客户等级A/B/C/D/normal
tax_no VARCHAR 50 - 纳税人识别号
legal_person VARCHAR 50 - 法定代表人
address VARCHAR 500 - 公司地址
phone VARCHAR 20 - 联系电话
email VARCHAR 100 - 邮箱地址
website VARCHAR 200 - 公司网站
status TINYINT - 1 状态0-禁用1-启用
remark VARCHAR 500 - 备注说明
cooperation_start DATE - - 合作开始日期
cooperation_end DATE - - 合作结束日期
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (customer_id)
  • UNIQUE KEY uk_tenant_code (tenant_id, customer_code)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_status (status)
  • INDEX idx_level (level)

3.2.2 customer_contact客户联系人表

字段名 类型 长度 必填 默认值 说明
contact_id BIGINT - 自增 主键联系人ID
tenant_id BIGINT - - 租户ID外键
customer_id BIGINT - - 客户ID外键
contact_name VARCHAR 50 - 联系人姓名
position VARCHAR 50 - 职位/职务
department VARCHAR 100 - 所属部门
phone VARCHAR 20 - 联系电话
mobile VARCHAR 20 - 手机号码
email VARCHAR 100 - 邮箱地址
wechat VARCHAR 50 - 微信号
qq VARCHAR 20 - QQ号
is_primary TINYINT - 0 是否主要联系人0-否1-是
sort_order INT - 0 排序顺序
status TINYINT - 1 状态0-禁用1-启用
remark VARCHAR 200 - 备注说明
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (contact_id)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_customer (customer_id)
  • INDEX idx_status (status)

3.3 项目管理模块

3.3.1 project项目表

字段名 类型 长度 必填 默认值 说明
project_id BIGINT - 自增 主键项目ID
tenant_id BIGINT - - 租户ID外键
project_code VARCHAR 50 - 项目编号(唯一)
project_name VARCHAR 200 - 项目名称
project_short VARCHAR 100 - 项目简称
customer_id BIGINT - - 客户ID外键
project_type VARCHAR 20 development 项目类型development-开发maintenance-维护consulting-咨询
project_manager_id BIGINT - - 项目经理ID外键
start_date DATE - - 项目开始日期
end_date DATE - - 项目结束日期
budget_amount DECIMAL 15,2 0.00 项目预算金额
contract_amount DECIMAL 15,2 0.00 合同金额
status VARCHAR 20 preparing 项目状态preparing-筹备中ongoing-进行中completed-已完成archived-已归档cancelled-已取消
progress INT - 0 项目进度0-100
description TEXT - - 项目描述
remark VARCHAR 500 - 备注说明
attachment_url VARCHAR 500 - 附件URL
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (project_id)
  • UNIQUE KEY uk_tenant_code (tenant_id, project_code)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_customer (customer_id)
  • INDEX idx_manager (project_manager_id)
  • INDEX idx_status (status)

3.3.2 project_member项目成员表

字段名 类型 长度 必填 默认值 说明
member_id BIGINT - 自增 主键成员关系ID
tenant_id BIGINT - - 租户ID外键
project_id BIGINT - - 项目ID外键
user_id BIGINT - - 用户ID外键
role VARCHAR 50 member 项目角色pm-项目经理dev-开发test-测试finance-财务member-普通成员
join_date DATE - - 加入日期
leave_date DATE - - 离开日期
workload DECIMAL 5,2 0.00 工作量占比0-100
status TINYINT - 1 状态0-已离开1-在职
remark VARCHAR 200 - 备注说明
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (member_id)
  • UNIQUE KEY uk_project_user (tenant_id, project_id, user_id)
  • INDEX idx_project (project_id)
  • INDEX idx_user (user_id)

3.4 需求工单模块

3.4.1 requirement需求工单表

字段名 类型 长度 必填 默认值 说明
requirement_id BIGINT - 自增 主键需求ID
tenant_id BIGINT - - 租户ID外键
requirement_code VARCHAR 50 - 需求编号(唯一)
requirement_name VARCHAR 200 - 需求名称
description TEXT - - 需求描述
project_id BIGINT - - 项目ID外键
customer_id BIGINT - - 客户ID外键
priority VARCHAR 20 normal 优先级high-高normal-中low-低
estimated_hours DECIMAL 8,2 0.00 预估开发工时(小时)
actual_hours DECIMAL 8,2 0.00 实际开发工时(小时)
planned_start DATE - - 计划开始日期
planned_end DATE - - 计划结束日期
actual_start DATE - - 实际开始日期
actual_end DATE - - 实际结束日期
delivery_date DATE - - 交付日期
receivable_amount DECIMAL 15,2 0.00 应收款金额
receivable_date DATE - - 应收款日期
status VARCHAR 20 pending 状态pending-待开发developing-开发中delivered-已交付completed-已完成
progress INT - 0 开发进度0-100
attachment_url VARCHAR 500 - 附件URL
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (requirement_id)
  • UNIQUE KEY uk_tenant_code (tenant_id, requirement_code)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_project (project_id)
  • INDEX idx_customer (customer_id)
  • INDEX idx_status (status)

3.5 支出管理模块

3.5.1 expense_type支出类型表

字段名 类型 长度 必填 默认值 说明
type_id BIGINT - 自增 主键支出类型ID
tenant_id BIGINT - - 租户ID外键
type_code VARCHAR 50 - 支出类型编码
type_name VARCHAR 100 - 支出类型名称
parent_id BIGINT - 0 父类型ID0表示一级类型
type_level INT - 1 类型层级
sort_order INT - 0 排序顺序
description VARCHAR 200 - 类型描述
status TINYINT - 1 状态0-禁用1-启用
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (type_id)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_parent (parent_id)
  • INDEX idx_status (status)

3.5.2 expense支出表

字段名 类型 长度 必填 默认值 说明
expense_id BIGINT - 自增 主键支出ID
tenant_id BIGINT - - 租户ID外键
expense_code VARCHAR 50 - 支出编号(唯一)
expense_type_id BIGINT - - 支出类型ID外键
expense_amount DECIMAL 15,2 0.00 支出金额
expense_date DATE - - 支出日期
expense_reason TEXT - - 支出事由
project_id BIGINT - - 所属项目ID外键
applicant_id BIGINT - - 申请人ID外键
department_id BIGINT - - 申请部门ID外键
payment_method VARCHAR 20 transfer 付款方式transfer-转账cash-现金check-支票other-其他
payment_account VARCHAR 100 - 付款账户
attachment_url VARCHAR 500 - 附件URL
status VARCHAR 20 pending 状态pending-待付款paid-已付款completed-已完成cancelled-已作废
payment_date DATE - - 付款日期
payment_voucher VARCHAR 255 - 付款凭证
remark VARCHAR 500 - 备注说明
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (expense_id)
  • UNIQUE KEY uk_tenant_code (tenant_id, expense_code)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_type (expense_type_id)
  • INDEX idx_project (project_id)
  • INDEX idx_applicant (applicant_id)
  • INDEX idx_status (status)

3.6 应收款管理模块

3.6.1 receivable应收款表

字段名 类型 长度 必填 默认值 说明
receivable_id BIGINT - 自增 主键应收款ID
tenant_id BIGINT - - 租户ID外键
receivable_code VARCHAR 50 - 应收款编号(唯一)
requirement_id BIGINT - - 需求ID外键
project_id BIGINT - - 项目ID外键
customer_id BIGINT - - 客户ID外键
receivable_amount DECIMAL 15,2 0.00 应收款金额
receivable_date DATE - - 应收款日期
payment_due_date DATE - - 付款截止日期
payment_method VARCHAR 20 - 付款方式transfer-转账cash-现金check-支票other-其他
bank_account VARCHAR 100 - 收款账户
status VARCHAR 20 pending 状态pending-待收款partial-部分收款received-已收款overdue-逾期
received_amount DECIMAL 15,2 0.00 已收款金额
unpaid_amount DECIMAL 15,2 0.00 未收款金额
overdue_days INT - 0 逾期天数
remark VARCHAR 500 - 备注说明
created_by BIGINT - - 创建人ID
created_time DATETIME - CURRENT_TIMESTAMP 创建时间
updated_by BIGINT - - 更新人ID
updated_time DATETIME - CURRENT_TIMESTAMP 更新时间
deleted TINYINT - 0 逻辑删除0-未删除1-已删除

索引:

  • PRIMARY KEY (receivable_id)
  • UNIQUE KEY uk_tenant_code (tenant_id, receivable_code)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_requirement (requirement_id)
  • INDEX idx_project (project_id)
  • INDEX idx_customer (customer_id)
  • INDEX idx_status (status)

3.6.2 receipt收款记录表

字段名 类型 长度 必填 默认值 说明
receipt_id BIGINT - 自增 主键收款记录ID
tenant_id BIGINT - - 租户ID外键
receipt_code VARCHAR 50 - 收款编号(唯一)
receivable_id BIGINT - - 应收款ID外键
receipt_amount DECIMAL 15,2 0.00 收款金额
receipt_date DATE - - 收款日期
receipt_method VARCHAR 20 transfer 收款方式transfer-转账cash-现金check-支票other-其他
receipt_account VARCHAR 100 - 收款账户
payer_name VARCHAR 100 - 付款方名称
receipt_voucher VARCHAR 255 - 收款凭证URL
operator_id BIGINT - - 操作人ID外键
remark VARCHAR 200 - 备注说明
created_time DATETIME - CURRENT_TIMESTAMP 创建时间

索引:

  • PRIMARY KEY (receipt_id)
  • UNIQUE KEY uk_tenant_code (tenant_id, receipt_code)
  • INDEX idx_tenant (tenant_id)
  • INDEX idx_receivable (receivable_id)

四、数据库设计规范

4.1 命名规范

项目 规范 示例
数据库名 小写,下划线分隔 fund_platform
表名 小写,下划线分隔 sys_user
字段名 小写,下划线分隔 user_name
索引名 前缀_表名_字段名 uk_tenant_username
外键名 fk_表名_字段名 fk_user_dept

4.2 字段规范

字段类型 使用场景 示例
BIGINT 主键、外键、ID user_id
VARCHAR(50) 编码、用户名、短文本 user_code
VARCHAR(100) 名称、标题 user_name
VARCHAR(200) 长名称、URL project_name
VARCHAR(500) 备注、描述 remark
TEXT 长文本、JSON description
TINYINT 状态、布尔值 status
INT 数量、排序 sort_order
DECIMAL(15,2) 金额 amount
DATETIME 日期时间 created_time
DATE 日期 start_date

4.3 通用字段

所有表必须包含以下字段:

字段名 类型 说明
created_by BIGINT 创建人ID
created_time DATETIME 创建时间DEFAULT CURRENT_TIMESTAMP
updated_by BIGINT 更新人ID
updated_time DATETIME 更新时间DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
deleted TINYINT 逻辑删除标志DEFAULT 0

文档结束