fundplatform/sql/fund_platform_schema.sql

442 lines
25 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ============================================
-- 资金服务平台数据库结构
-- 数据库: fund_platform
-- 字符集: utf8mb4
-- ============================================
USE fund_platform;
-- ============================================
-- 1. 系统管理模块表结构
-- ============================================
-- 租户表
CREATE TABLE IF NOT EXISTS sys_tenant (
tenant_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '租户ID',
tenant_code VARCHAR(50) NOT NULL UNIQUE COMMENT '租户编码',
tenant_name VARCHAR(100) NOT NULL COMMENT '租户名称',
tenant_type TINYINT DEFAULT 1 COMMENT '租户类型1-一库多租户2-一库一租户',
contact_name VARCHAR(50) COMMENT '联系人姓名',
contact_phone VARCHAR(20) COMMENT '联系人电话',
contact_email VARCHAR(100) COMMENT '联系人邮箱',
db_config JSON COMMENT '数据库配置(一库一租户模式使用)',
status TINYINT DEFAULT 1 COMMENT '状态0-禁用1-启用',
expire_time DATETIME COMMENT '过期时间',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
INDEX idx_code (tenant_code),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='租户表';
-- 部门表
CREATE TABLE IF NOT EXISTS sys_dept (
dept_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '部门ID',
tenant_id BIGINT NOT NULL COMMENT '租户ID',
dept_name VARCHAR(100) NOT NULL COMMENT '部门名称',
parent_id BIGINT DEFAULT 0 COMMENT 'ID0',
dept_code VARCHAR(50) COMMENT '',
dept_level INT DEFAULT 1 COMMENT '',
sort_order INT DEFAULT 0 COMMENT '',
leader VARCHAR(50) COMMENT '',
leader_phone VARCHAR(20) COMMENT '',
status TINYINT DEFAULT 1 COMMENT '0-1-',
remark VARCHAR(500) COMMENT '',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
INDEX idx_tenant (tenant_id),
INDEX idx_parent (parent_id),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 用户表
CREATE TABLE IF NOT EXISTS sys_user (
user_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
username VARCHAR(50) NOT NULL COMMENT '',
password VARCHAR(100) NOT NULL COMMENT '',
real_name VARCHAR(50) NOT NULL COMMENT '',
gender TINYINT DEFAULT 0 COMMENT '0-1-2-',
phone VARCHAR(20) COMMENT '',
email VARCHAR(100) COMMENT '',
dept_id BIGINT COMMENT 'ID',
position VARCHAR(50) COMMENT '/',
avatar VARCHAR(255) COMMENT 'URL',
status TINYINT DEFAULT 1 COMMENT '0-1-',
last_login_time DATETIME COMMENT '',
last_login_ip VARCHAR(50) COMMENT 'IP',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
UNIQUE KEY uk_tenant_username (tenant_id, username),
INDEX idx_tenant (tenant_id),
INDEX idx_dept (dept_id),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 角色表
CREATE TABLE IF NOT EXISTS sys_role (
role_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
role_code VARCHAR(50) NOT NULL COMMENT '',
role_name VARCHAR(100) NOT NULL COMMENT '',
role_type VARCHAR(20) DEFAULT 'custom' COMMENT 'system-custom-',
data_scope VARCHAR(20) DEFAULT 'self' COMMENT 'all-dept-self-',
sort_order INT DEFAULT 0 COMMENT '',
status TINYINT DEFAULT 1 COMMENT '0-1-',
remark VARCHAR(500) COMMENT '',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
UNIQUE KEY uk_tenant_code (tenant_id, role_code),
INDEX idx_tenant (tenant_id),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 菜单表
CREATE TABLE IF NOT EXISTS sys_menu (
menu_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT DEFAULT 0 COMMENT 'ID0',
menu_name VARCHAR(100) NOT NULL COMMENT '',
menu_type VARCHAR(20) NOT NULL COMMENT 'dir-menu-button-',
parent_id BIGINT DEFAULT 0 COMMENT 'ID0',
menu_level INT DEFAULT 1 COMMENT '',
icon VARCHAR(100) COMMENT '',
path VARCHAR(200) COMMENT '',
component VARCHAR(200) COMMENT '',
permission VARCHAR(100) COMMENT 'user:list',
sort_order INT DEFAULT 0 COMMENT '',
status TINYINT DEFAULT 1 COMMENT '0-1-',
remark VARCHAR(500) COMMENT '',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
INDEX idx_tenant (tenant_id),
INDEX idx_parent (parent_id),
INDEX idx_type (menu_type),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 用户角色关联表
CREATE TABLE IF NOT EXISTS sys_user_role (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
user_id BIGINT NOT NULL COMMENT 'ID',
role_id BIGINT NOT NULL COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
UNIQUE KEY uk_user_role (tenant_id, user_id, role_id),
INDEX idx_user (user_id),
INDEX idx_role (role_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 角色菜单关联表
CREATE TABLE IF NOT EXISTS sys_role_menu (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
role_id BIGINT NOT NULL COMMENT 'ID',
menu_id BIGINT NOT NULL COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
UNIQUE KEY uk_role_menu (tenant_id, role_id, menu_id),
INDEX idx_role (role_id),
INDEX idx_menu (menu_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 操作日志表
CREATE TABLE IF NOT EXISTS sys_operation_log (
log_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
user_id BIGINT COMMENT 'ID',
username VARCHAR(50) COMMENT '',
operation VARCHAR(100) COMMENT '',
method VARCHAR(200) COMMENT '',
params TEXT COMMENT 'JSON格式',
ip VARCHAR(50) COMMENT 'IP',
user_agent VARCHAR(500) COMMENT '',
operation_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
cost_time BIGINT DEFAULT 0 COMMENT '',
result VARCHAR(20) DEFAULT 'success' COMMENT 'success-fail-',
error_msg TEXT COMMENT '',
INDEX idx_tenant (tenant_id),
INDEX idx_user (user_id),
INDEX idx_time (operation_time),
INDEX idx_result (result)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- ============================================
-- 2. 客户管理模块表结构
-- ============================================
-- 客户表
CREATE TABLE IF NOT EXISTS customer (
customer_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
customer_code VARCHAR(50) NOT NULL COMMENT '',
customer_name VARCHAR(200) NOT NULL COMMENT '',
customer_short VARCHAR(100) COMMENT '',
customer_type VARCHAR(20) DEFAULT 'enterprise' COMMENT 'enterprise-individual-',
industry VARCHAR(50) COMMENT '',
scale VARCHAR(20) COMMENT 'small-medium-large-',
level VARCHAR(20) DEFAULT 'normal' COMMENT 'A/B/C/D/normal',
tax_no VARCHAR(50) COMMENT '',
legal_person VARCHAR(50) COMMENT '',
address VARCHAR(500) COMMENT '',
phone VARCHAR(20) COMMENT '',
email VARCHAR(100) COMMENT '',
website VARCHAR(200) COMMENT '',
status TINYINT DEFAULT 1 COMMENT '0-1-',
remark VARCHAR(500) COMMENT '',
cooperation_start DATE COMMENT '',
cooperation_end DATE COMMENT '',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
UNIQUE KEY uk_tenant_code (tenant_id, customer_code),
INDEX idx_tenant (tenant_id),
INDEX idx_status (status),
INDEX idx_level (level)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 客户联系人表
CREATE TABLE IF NOT EXISTS customer_contact (
contact_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
customer_id BIGINT NOT NULL COMMENT 'ID',
contact_name VARCHAR(50) NOT NULL COMMENT '',
position VARCHAR(50) COMMENT '/',
department VARCHAR(100) COMMENT '',
phone VARCHAR(20) COMMENT '',
mobile VARCHAR(20) COMMENT '',
email VARCHAR(100) COMMENT '',
wechat VARCHAR(50) COMMENT '',
qq VARCHAR(20) COMMENT 'QQ号',
is_primary TINYINT DEFAULT 0 COMMENT '0-1-',
sort_order INT DEFAULT 0 COMMENT '',
status TINYINT DEFAULT 1 COMMENT '0-1-',
remark VARCHAR(200) COMMENT '',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
INDEX idx_tenant (tenant_id),
INDEX idx_customer (customer_id),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- ============================================
-- 3. 项目管理模块表结构
-- ============================================
-- 项目表
CREATE TABLE IF NOT EXISTS project (
project_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
project_code VARCHAR(50) NOT NULL COMMENT '',
project_name VARCHAR(200) NOT NULL COMMENT '',
project_short VARCHAR(100) COMMENT '',
customer_id BIGINT NOT NULL COMMENT 'ID',
project_type VARCHAR(20) DEFAULT 'development' COMMENT 'development-maintenance-consulting-',
project_manager_id BIGINT COMMENT 'ID',
start_date DATE COMMENT '',
end_date DATE COMMENT '',
budget_amount DECIMAL(15,2) DEFAULT 0.00 COMMENT '',
contract_amount DECIMAL(15,2) DEFAULT 0.00 COMMENT '',
status VARCHAR(20) DEFAULT 'preparing' COMMENT 'preparing-ongoing-completed-archived-cancelled-',
progress INT DEFAULT 0 COMMENT '0-100',
description TEXT COMMENT '',
remark VARCHAR(500) COMMENT '',
attachment_url VARCHAR(500) COMMENT 'URL',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
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)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 项目成员表
CREATE TABLE IF NOT EXISTS project_member (
member_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
project_id BIGINT NOT NULL COMMENT 'ID',
user_id BIGINT NOT NULL COMMENT 'ID',
role VARCHAR(50) DEFAULT 'member' COMMENT 'pm-dev-test-finance-member-',
join_date DATE COMMENT '',
leave_date DATE COMMENT '',
workload DECIMAL(5,2) DEFAULT 0.00 COMMENT '0-100',
status TINYINT DEFAULT 1 COMMENT '0-1-',
remark VARCHAR(200) COMMENT '',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
UNIQUE KEY uk_project_user (tenant_id, project_id, user_id),
INDEX idx_project (project_id),
INDEX idx_user (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- ============================================
-- 4. 需求工单模块表结构
-- ============================================
-- 需求工单表
CREATE TABLE IF NOT EXISTS requirement (
requirement_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
requirement_code VARCHAR(50) NOT NULL COMMENT '',
requirement_name VARCHAR(200) NOT NULL COMMENT '',
description TEXT COMMENT '',
project_id BIGINT NOT NULL COMMENT 'ID',
customer_id BIGINT NOT NULL COMMENT 'ID',
priority VARCHAR(20) DEFAULT 'normal' COMMENT 'high-normal-low-',
estimated_hours DECIMAL(8,2) DEFAULT 0.00 COMMENT '',
actual_hours DECIMAL(8,2) DEFAULT 0.00 COMMENT '',
planned_start DATE COMMENT '',
planned_end DATE COMMENT '',
actual_start DATE COMMENT '',
actual_end DATE COMMENT '',
delivery_date DATE COMMENT '',
receivable_amount DECIMAL(15,2) DEFAULT 0.00 COMMENT '',
receivable_date DATE COMMENT '',
status VARCHAR(20) DEFAULT 'pending' COMMENT 'pending-developing-delivered-completed-',
progress INT DEFAULT 0 COMMENT '0-100',
attachment_url VARCHAR(500) COMMENT 'URL',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
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)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- ============================================
-- 5. 支出管理模块表结构
-- ============================================
-- 支出类型表
CREATE TABLE IF NOT EXISTS expense_type (
type_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
type_code VARCHAR(50) COMMENT '',
type_name VARCHAR(100) NOT NULL COMMENT '',
parent_id BIGINT DEFAULT 0 COMMENT 'ID0',
type_level INT DEFAULT 1 COMMENT '',
sort_order INT DEFAULT 0 COMMENT '',
description VARCHAR(200) COMMENT '',
status TINYINT DEFAULT 1 COMMENT '0-1-',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
INDEX idx_tenant (tenant_id),
INDEX idx_parent (parent_id),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 支出表
CREATE TABLE IF NOT EXISTS expense (
expense_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
expense_code VARCHAR(50) NOT NULL COMMENT '',
expense_type_id BIGINT NOT NULL COMMENT 'ID',
expense_amount DECIMAL(15,2) DEFAULT 0.00 COMMENT '',
expense_date DATE COMMENT '',
expense_reason TEXT COMMENT '',
project_id BIGINT COMMENT 'ID',
applicant_id BIGINT NOT NULL COMMENT 'ID',
department_id BIGINT COMMENT 'ID',
payment_method VARCHAR(20) DEFAULT 'transfer' COMMENT 'transfer-cash-check-other-',
payment_account VARCHAR(100) COMMENT '',
attachment_url VARCHAR(500) COMMENT 'URL',
status VARCHAR(20) DEFAULT 'pending' COMMENT 'pending-paid-completed-cancelled-',
payment_date DATE COMMENT '',
payment_voucher VARCHAR(255) COMMENT '',
remark VARCHAR(500) COMMENT '',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
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)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- ============================================
-- 6. 应收款管理模块表结构
-- ============================================
-- 应收款表
CREATE TABLE IF NOT EXISTS receivable (
receivable_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
receivable_code VARCHAR(50) NOT NULL COMMENT '',
requirement_id BIGINT NOT NULL COMMENT 'ID',
project_id BIGINT NOT NULL COMMENT 'ID',
customer_id BIGINT NOT NULL COMMENT 'ID',
receivable_amount DECIMAL(15,2) DEFAULT 0.00 COMMENT '',
receivable_date DATE COMMENT '',
payment_due_date DATE COMMENT '',
payment_method VARCHAR(20) COMMENT 'transfer-cash-check-other-',
bank_account VARCHAR(100) COMMENT '',
status VARCHAR(20) DEFAULT 'pending' COMMENT 'pending-partial-received-overdue-',
received_amount DECIMAL(15,2) DEFAULT 0.00 COMMENT '',
unpaid_amount DECIMAL(15,2) DEFAULT 0.00 COMMENT '',
overdue_days INT DEFAULT 0 COMMENT '',
remark VARCHAR(500) COMMENT '',
created_by BIGINT COMMENT 'ID',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
updated_by BIGINT COMMENT 'ID',
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
deleted TINYINT DEFAULT 0 COMMENT '0-1-',
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)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';
-- 收款记录表
CREATE TABLE IF NOT EXISTS receipt (
receipt_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
tenant_id BIGINT NOT NULL COMMENT 'ID',
receipt_code VARCHAR(50) NOT NULL COMMENT '',
receivable_id BIGINT NOT NULL COMMENT 'ID',
receipt_amount DECIMAL(15,2) DEFAULT 0.00 COMMENT '',
receipt_date DATE COMMENT '',
receipt_method VARCHAR(20) DEFAULT 'transfer' COMMENT 'transfer-cash-check-other-',
receipt_account VARCHAR(100) COMMENT '',
payer_name VARCHAR(100) COMMENT '',
receipt_voucher VARCHAR(255) COMMENT 'URL',
operator_id BIGINT COMMENT 'ID',
remark VARCHAR(200) COMMENT '',
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '',
UNIQUE KEY uk_tenant_code (tenant_id, receipt_code),
INDEX idx_tenant (tenant_id),
INDEX idx_receivable (receivable_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='';