173 lines
9.8 KiB
SQL
173 lines
9.8 KiB
SQL
CREATE TABLE `t_businessunit` (
|
||
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
|
||
`BuName` VARCHAR ( 128 ) NOT NULL COMMENT '公司名称',
|
||
`BUGUID` CHAR ( 36 ) NOT NULL COMMENT '公司GUID',
|
||
`HierarchicalCode` VARCHAR ( 128 ) NOT NULL COMMENT '层级编码',
|
||
`ParentGUID` CHAR ( 36 ) DEFAULT NULL COMMENT '父级GUID',
|
||
`IfEnd` INT DEFAULT NULL COMMENT '是否末级',
|
||
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
|
||
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
|
||
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
|
||
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
|
||
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志(0存在 1删除)',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '公司表';
|
||
CREATE TABLE `t_project` (
|
||
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
|
||
`ProjName` VARCHAR ( 128 ) NOT NULL COMMENT '项目名称',
|
||
`ProjGUID` CHAR ( 36 ) NOT NULL COMMENT '项目GUID',
|
||
`BUGUID` CHAR ( 36 ) NOT NULL COMMENT '公司GUID',
|
||
`HierarchicalCode` VARCHAR ( 128 ) NOT NULL COMMENT '层级编码',
|
||
`ParentGUID` CHAR ( 36 ) DEFAULT NULL COMMENT '父级GUID',
|
||
`IfEnd` INT DEFAULT NULL COMMENT '是否末级',
|
||
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
|
||
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
|
||
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
|
||
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
|
||
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志(0存在 1删除)',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '项目表';
|
||
CREATE TABLE `t_room` (
|
||
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
|
||
`Name` VARCHAR ( 128 ) NOT NULL COMMENT '房间名称',
|
||
`RoomGUID` CHAR ( 36 ) NOT NULL COMMENT '房间GUID',
|
||
`ProjGUID` CHAR ( 36 ) NOT NULL COMMENT '项目GUID',
|
||
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
|
||
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
|
||
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
|
||
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
|
||
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志(0存在 1删除)',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '房间表';
|
||
CREATE TABLE `t_periodicpolicy` (
|
||
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
|
||
`scheme_name` VARCHAR ( 128 ) DEFAULT NULL COMMENT '方案名称',
|
||
`filling_instruction` TEXT COMMENT '填报说明',
|
||
`effective_date` DATE DEFAULT NULL COMMENT '生效日期',
|
||
`invalid_date` DATE DEFAULT NULL COMMENT '失效日期',
|
||
`creator` VARCHAR ( 128 ) DEFAULT NULL COMMENT '创建人',
|
||
`create_date` DATE DEFAULT NULL COMMENT '创建日期',
|
||
`ProjGUIDs` TEXT COMMENT '分期GUID',
|
||
`ProjNames` TEXT COMMENT '分期名称',
|
||
`approveStatus` VARCHAR ( 128 ) DEFAULT NULL COMMENT '审批状态',
|
||
`scheme_type` VARCHAR ( 128 ) DEFAULT NULL COMMENT '分期方案类型',
|
||
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
|
||
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
|
||
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
|
||
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
|
||
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志(0存在 1删除)',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '分期方案表';
|
||
CREATE TABLE t_policy (
|
||
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
|
||
`periodicPolicyId` INT DEFAULT NULL COMMENT '分期方案主键ID',
|
||
`policy_name` VARCHAR ( 128 ) DEFAULT NULL COMMENT '政策名称',
|
||
`building_names` TEXT COMMENT '楼栋名称',
|
||
`building_ids` TEXT COMMENT '楼栋Id',
|
||
`effective_date` DATE DEFAULT NULL COMMENT '生效日期',
|
||
`expiration_date` DATE DEFAULT NULL COMMENT '失效日期',
|
||
`usable_houses_count` INT DEFAULT NULL COMMENT '可使用房源(套数)',
|
||
`creator` VARCHAR ( 128 ) DEFAULT NULL COMMENT '创建人',
|
||
`create_date` DATE DEFAULT NULL COMMENT '创建日期',
|
||
`remarks` TEXT COMMENT '备注',
|
||
`description` TEXT COMMENT '说明',
|
||
`category` VARCHAR ( 128 ) NOT NULL COMMENT '类别',
|
||
`payment_type` VARCHAR ( 128 ) NOT NULL COMMENT '付款方式类型',
|
||
`down_payment_ratio` VARCHAR(20) DEFAULT NULL COMMENT '首付比例(%)',
|
||
`payment_method` VARCHAR ( 50 ) DEFAULT NULL COMMENT '付款方式',
|
||
`policy_type` VARCHAR ( 50 ) DEFAULT NULL COMMENT '政策类型',
|
||
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
|
||
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
|
||
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
|
||
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
|
||
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志(0存在 1删除)',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '分期政策表';
|
||
CREATE TABLE `t_payment_details` (
|
||
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
|
||
`policy_id` VARCHAR ( 36 ) DEFAULT NULL COMMENT '政策主键ID',
|
||
`policy_name` VARCHAR ( 128 ) DEFAULT NULL COMMENT '政策名称',
|
||
`building_name` VARCHAR ( 128 ) DEFAULT NULL COMMENT '楼栋名称',
|
||
`effective_date` DATE DEFAULT NULL COMMENT '生效日期',
|
||
`available_units` INT DEFAULT NULL COMMENT '可使用房源(套数)',
|
||
`creatorId` VARCHAR ( 36 ) DEFAULT NULL COMMENT '创建人Id',
|
||
`creator` VARCHAR ( 128 ) DEFAULT NULL COMMENT '创建人',
|
||
`remark` TEXT COMMENT '备注',
|
||
`category` VARCHAR ( 128 ) DEFAULT NULL COMMENT '类别',
|
||
`payment_time` VARCHAR ( 100 ) DEFAULT NULL COMMENT '付款时间(如"小订/认购签署日期")',
|
||
`days_within` INT DEFAULT NULL COMMENT '几天内',
|
||
`months_within` INT DEFAULT NULL COMMENT '几个月内',
|
||
`payment_type` VARCHAR ( 50 ) DEFAULT NULL COMMENT '款项类型(如"非贷款类房款")',
|
||
`item_name` VARCHAR ( 50 ) DEFAULT NULL COMMENT '款项名称(如"定金")',
|
||
`ratio` DECIMAL ( 10, 4 ) DEFAULT NULL COMMENT '比例(保留4位小数)',
|
||
`currency` VARCHAR ( 50 ) DEFAULT NULL COMMENT '币种(如"合同币种")',
|
||
`installment` INT DEFAULT NULL COMMENT '分期',
|
||
`amount` DECIMAL ( 10, 2 ) DEFAULT NULL COMMENT '金额(保留2位小数)',
|
||
`deduct_deposit` TINYINT ( 1 ) DEFAULT NULL COMMENT '是否扣除定金(1为是,0为否)',
|
||
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
|
||
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
|
||
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
|
||
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
|
||
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志(0存在 1删除)',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '付款明细表';
|
||
|
||
-- 添加索引优化查询性能
|
||
-- 分期方案表索引
|
||
CREATE INDEX idx_periodicpolicy_scheme_name ON t_periodicpolicy(scheme_name);
|
||
CREATE INDEX idx_periodicpolicy_effective_date ON t_periodicpolicy(effective_date);
|
||
CREATE INDEX idx_periodicpolicy_invalid_date ON t_periodicpolicy(invalid_date);
|
||
CREATE INDEX idx_periodicpolicy_scheme_type ON t_periodicpolicy(scheme_type);
|
||
CREATE INDEX idx_periodicpolicy_tenant_id ON t_periodicpolicy(tenant_id);
|
||
CREATE INDEX idx_periodicpolicy_del_flag ON t_periodicpolicy(del_flag);
|
||
|
||
-- 分期政策表索引
|
||
CREATE INDEX idx_policy_periodicPolicyId ON t_policy(periodicPolicyId);
|
||
CREATE INDEX idx_policy_effective_date ON t_policy(effective_date);
|
||
CREATE INDEX idx_policy_expiration_date ON t_policy(expiration_date);
|
||
CREATE INDEX idx_policy_category ON t_policy(category);
|
||
CREATE INDEX idx_policy_payment_type ON t_policy(payment_type);
|
||
CREATE INDEX idx_policy_down_payment_ratio ON t_policy(down_payment_ratio);
|
||
CREATE INDEX idx_policy_tenant_id ON t_policy(tenant_id);
|
||
CREATE INDEX idx_policy_del_flag ON t_policy(del_flag);
|
||
|
||
-- 付款明细表索引
|
||
CREATE INDEX idx_payment_details_policy_id ON t_payment_details(policy_id);
|
||
CREATE INDEX idx_payment_details_payment_type ON t_payment_details(payment_type);
|
||
CREATE INDEX idx_payment_details_item_name ON t_payment_details(item_name);
|
||
CREATE INDEX idx_payment_details_days_within ON t_payment_details(days_within);
|
||
CREATE INDEX idx_payment_details_months_within ON t_payment_details(months_within);
|
||
CREATE INDEX idx_payment_details_tenant_id ON t_payment_details(tenant_id);
|
||
CREATE INDEX idx_payment_details_del_flag ON t_payment_details(del_flag);
|
||
|
||
-- 项目表索引
|
||
CREATE INDEX idx_project_projguid ON t_project(ProjGUID);
|
||
CREATE INDEX idx_project_buguid ON t_project(BUGUID);
|
||
CREATE INDEX idx_project_tenant_id ON t_project(tenant_id);
|
||
CREATE INDEX idx_project_del_flag ON t_project(del_flag);
|
||
|
||
-- 房间表索引
|
||
CREATE INDEX idx_room_roomguid ON t_room(RoomGUID);
|
||
CREATE INDEX idx_room_projguid ON t_room(ProjGUID);
|
||
CREATE INDEX idx_room_tenant_id ON t_room(tenant_id);
|
||
CREATE INDEX idx_room_del_flag ON t_room(del_flag);
|
||
|
||
-- 业务单元表索引
|
||
CREATE INDEX idx_businessunit_buguid ON t_businessunit(BUGUID);
|
||
CREATE INDEX idx_businessunit_tenant_id ON t_businessunit(tenant_id);
|
||
CREATE INDEX idx_businessunit_del_flag ON t_businessunit(del_flag);
|