数据库字典
本系统使用PostgreSQL作为数据库,采用多租户架构,每个企业数据通过tenant_id进行隔离。
主键
所有表使用UUID作为主键
外键
使用外键保证数据完整性
索引
为常用查询字段建立索引
核心数据表
users
数据表用户表,存储所有用户信息(平台管理员、合作伙伴、企业管理员、员工)
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 用户ID,主键 |
| role | enum | NO | 用户角色:platform/partner/tenant/employee | |
| username | varchar(50) | NO | 用户名 | |
varchar(100) | NO | 邮箱 | ||
| phone | varchar(20) | YES | 手机号 | |
| password_hash | varchar(255) | NO | 密码哈希 | |
| tenant_id | uuid | YES | FK | 所属企业ID,外键关联tenants |
| agent_id | uuid | YES | FK | 所属合作伙伴ID,外键关联agents |
| status | enum | NO | 状态:active/inactive/banned | |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
agents
数据表合作伙伴表,存储合作伙伴信息
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 合作伙伴ID,主键 |
| name | varchar(100) | NO | 合作伙伴名称 | |
| code | varchar(20) | NO | 合作伙伴编码,唯一 | |
| contact_name | varchar(50) | NO | 联系人姓名 | |
| contact_phone | varchar(20) | NO | 联系电话 | |
| logo_url | varchar(500) | YES | 品牌Logo URL | |
| custom_domain | varchar(100) | YES | 自定义域名 | |
| status | enum | NO | 状态:pending/active/suspended | |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
tenants
数据表企业表,存储企业客户信息
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 企业ID,主键 |
| name | varchar(100) | NO | 企业名称 | |
| code | varchar(20) | NO | 企业编码,唯一 | |
| agent_id | uuid | YES | FK | 所属合作伙伴ID,外键关联agents |
| industry | varchar(50) | YES | 所属行业 | |
| region | varchar(50) | YES | 所在地区 | |
| contact_name | varchar(50) | NO | 联系人姓名 | |
| contact_phone | varchar(20) | NO | 联系电话 | |
| package_id | uuid | YES | FK | 套餐ID,外键关联packages |
| expire_date | date | YES | 服务到期日期 | |
| status | enum | NO | 状态:trial/active/expired/suspended | |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
employees
数据表员工表,存储员工信息
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 员工ID,主键 |
| tenant_id | uuid | NO | FK | 所属企业ID,外键关联tenants |
| user_id | uuid | YES | FK | 关联用户ID,外键关联users |
| employee_no | varchar(20) | NO | 员工编号 | |
| name | varchar(50) | NO | 姓名 | |
| id_card | varchar(18) | YES | 身份证号 | |
| department | varchar(50) | YES | 部门 | |
| position | varchar(50) | YES | 职位 | |
| join_date | date | YES | 入职日期 | |
| phone | varchar(20) | YES | 手机号 | |
varchar(100) | YES | 邮箱 | ||
| status | enum | NO | 状态:active/inactive/resigned | |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
payroll_sheets
数据表工资表表,存储工资表信息
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 工资表ID,主键 |
| tenant_id | uuid | NO | FK | 所属企业ID,外键关联tenants |
| name | varchar(100) | NO | 工资表名称 | |
| period | varchar(7) | NO | 发放月份,格式:YYYY-MM | |
| employee_count | int | NO | 员工人数 | |
| total_amount | decimal(12,2) | NO | 总金额 | |
| status | enum | NO | 状态:draft/calculated/approved/sent | |
| created_by | uuid | NO | FK | 创建人ID,外键关联users |
| approved_by | uuid | YES | FK | 审批人ID,外键关联users |
| approved_at | timestamp | YES | 审批时间 | |
| sent_at | timestamp | YES | 发送时间 | |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
payroll_items
数据表工资明细表,存储员工工资明细
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 明细ID,主键 |
| payroll_sheet_id | uuid | NO | FK | 工资表ID,外键关联payroll_sheets |
| employee_id | uuid | NO | FK | 员工ID,外键关联employees |
| basic_salary | decimal(10,2) | YES | 基本工资 | |
| overtime_pay | decimal(10,2) | YES | 加班费 | |
| bonus | decimal(10,2) | YES | 奖金 | |
| social_security | decimal(10,2) | YES | 社保扣除 | |
| housing_fund | decimal(10,2) | YES | 公积金扣除 | |
| income_tax | decimal(10,2) | YES | 个人所得税 | |
| other_deduction | decimal(10,2) | YES | 其他扣除 | |
| net_pay | decimal(10,2) | NO | 实发工资 | |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
packages
数据表套餐表,存储服务套餐信息
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 套餐ID,主键 |
| name | varchar(50) | NO | 套餐名称 | |
| code | varchar(20) | NO | 套餐编码 | |
| price | decimal(10,2) | NO | 价格 | |
| employee_limit | int | NO | 员工数量上限 | |
| features | jsonb | YES | 功能列表,JSON格式 | |
| status | enum | NO | 状态:active/inactive | |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
orders
数据表订单表,存储订单信息
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 订单ID,主键 |
| order_no | varchar(32) | NO | 订单号,唯一 | |
| tenant_id | uuid | NO | FK | 企业ID,外键关联tenants |
| package_id | uuid | NO | FK | 套餐ID,外键关联packages |
| amount | decimal(10,2) | NO | 订单金额 | |
| payment_method | enum | NO | 支付方式:alipay/wechat/balance | |
| payment_status | enum | NO | 支付状态:unpaid/paid/refunded | |
| paid_at | timestamp | YES | 支付时间 | |
| expire_date | date | YES | 服务到期日期 | |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
miniprogram_upload_tasks
数据表小程序代码上传任务表
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 任务ID,主键 |
| version | varchar(20) | NO | 版本号 | |
| file_name | varchar(255) | NO | 文件名 | |
| description | text | YES | 版本描述 | |
| status | enum | NO | 状态:uploading/success/failed | |
| progress | int | NO | 上传进度(0-100) | |
| user_id | uuid | NO | FK | 操作用户ID |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
miniprogram_audit_tasks
数据表小程序审核任务表
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 任务ID,主键 |
| version | varchar(20) | NO | 版本号 | |
| upload_task_id | uuid | NO | FK | 上传任务ID |
| description | text | YES | 版本描述 | |
| status | enum | NO | 状态:pending/auditing/approved/rejected | |
| status_text | varchar(50) | YES | 状态文本 | |
| reject_reason | text | YES | 拒绝原因 | |
| submitted_at | timestamp | YES | 提交审核时间 | |
| audit_time | timestamp | YES | 审核完成时间 | |
| user_id | uuid | NO | FK | 操作用户ID |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
miniprogram_publish_tasks
数据表小程序发布任务表
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 任务ID,主键 |
| version | varchar(20) | NO | 版本号 | |
| audit_task_id | uuid | NO | FK | 审核任务ID |
| description | text | YES | 版本描述 | |
| status | enum | NO | 状态:draft/published/rollback | |
| is_gray_release | boolean | NO | 是否灰度发布 | |
| gray_percent | int | YES | 灰度比例(0-100) | |
| published_at | timestamp | YES | 发布时间 | |
| user_id | uuid | NO | FK | 操作用户ID |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
miniprogram_payment_config
数据表小程序支付配置表
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 配置ID,主键 |
| mch_id | varchar(20) | NO | 商户号 | |
| api_key | varchar(255) | NO | API密钥(MD5) | |
| api_v3_key | varchar(255) | NO | API v3密钥 | |
| cert_serial_no | varchar(100) | YES | 证书序列号 | |
| notify_url | varchar(500) | NO | 支付回调地址 | |
| refund_notify_url | varchar(500) | YES | 退款回调地址 | |
| unified_order_url | varchar(500) | YES | 统一下单API | |
| query_order_url | varchar(500) | YES | 查询订单API | |
| refund_url | varchar(500) | YES | 退款API | |
| close_order_url | varchar(500) | YES | 关闭订单API | |
| cert_valid_until | date | YES | 证书有效期至 | |
| payment_types | jsonb | YES | 支付类型配置(JSON) | |
| user_id | uuid | NO | FK | 操作用户ID |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
miniprogram_payment_orders
数据表小程序支付订单表
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 订单ID,主键 |
| order_no | varchar(32) | NO | 订单号,唯一 | |
| transaction_id | varchar(64) | YES | 微信交易号 | |
| tenant_id | uuid | NO | FK | 企业ID |
| user_id | uuid | NO | FK | 用户ID |
| amount | decimal(10,2) | NO | 订单金额 | |
| description | varchar(255) | YES | 订单描述 | |
| payment_type | enum | NO | 支付类型:jsapi/miniprogram/h5/native/app | |
| status | enum | NO | 状态:pending/paid/refunded/closed | |
| paid_at | timestamp | YES | 支付时间 | |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |
miniprogram_payment_refunds
数据表小程序退款记录表
| 字段名 | 类型 | 可空 | 约束 | 说明 |
|---|---|---|---|---|
| id | uuid | NO | PK | 退款ID,主键 |
| refund_no | varchar(32) | NO | 退款号,唯一 | |
| order_id | uuid | NO | FK | 原订单ID |
| transaction_id | varchar(64) | YES | 微信交易号 | |
| refund_id | varchar(64) | YES | 微信退款号 | |
| amount | decimal(10,2) | NO | 退款金额 | |
| reason | varchar(255) | YES | 退款原因 | |
| status | enum | NO | 状态:pending/success/failed | |
| refunded_at | timestamp | YES | 退款成功时间 | |
| user_id | uuid | NO | FK | 操作用户ID |
| created_at | timestamp | NO | 创建时间 | |
| updated_at | timestamp | NO | 更新时间 |