| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370 |
- -- 创建数据库
- CREATE DATABASE IF NOT EXISTS `loan_system` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- USE `loan_system`;
- -- 1. roles 表(角色表)
- CREATE TABLE `roles` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `role_name` VARCHAR(64) UNIQUE,
- `description` VARCHAR(255),
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 2. users 表(用户表)
- CREATE TABLE `users` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `openid` VARCHAR(128),
- `username` VARCHAR(64) UNIQUE,
- `password_hash` VARCHAR(255),
- `real_name` VARCHAR(100),
- `sex` VARCHAR(10),
- `mobile` CHAR(11),
- `role` VARCHAR(255),
- `ext_role_type` VARCHAR(50),
- `dept` VARCHAR(100),
- `status` TINYINT,
- `created_time` DATETIME,
- `updated_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_mobile` (`mobile`)
- );
- -- 3. customers 表(客户表)
- CREATE TABLE `customers` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `openid` VARCHAR(128),
- `name` VARCHAR(100),
- `sex` VARCHAR(10),
- `id_number` CHAR(18),
- `mobile` CHAR(11),
- `register_source` VARCHAR(50),
- `bank_account` VARCHAR(64),
- `face_auth` BOOLEAN,
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_id_number` (`id_number`),
- INDEX `idx_mobile` (`mobile`)
- );
- -- 4. customers_other 表(其他客户表)
- CREATE TABLE `customers_other` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `name` VARCHAR(100),
- `id_number` CHAR(18),
- `mobile` CHAR(11),
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 5. collateral 表(押品表)
- CREATE TABLE `collateral` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `case_id` BIGINT,
- `collateral_type` VARCHAR(30),
- `owner_customer_id` BIGINT,
- `allocated_amount` DECIMAL(18,2),
- `address` VARCHAR(500),
- `eval_price` DECIMAL(18,2),
- `is_involved_in_litigation` BOOLEAN,
- `staus` VARCHAR(20),
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 6. loan_case 表(业务单表)
- CREATE TABLE `loan_case` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `case_no` VARCHAR(50) UNIQUE,
- `customer_id` BIGINT,
- `business_type` VARCHAR(20),
- `business_attrs` VARCHAR(200),
- `channel_name` BIGINT,
- `remark_id` VARCHAR(20),
- `custom1_id` BIGINT,
- `custom2_id` BIGINT,
- `requested_amount` DECIMAL(18,2),
- `total_loan_amount` DECIMAL(18,2),
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 8. documents 表(附件表)
- CREATE TABLE `documents` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `case_id` BIGINT,
- `owner_id` BIGINT,
- `type_id` BIGINT,
- `doc_type` VARCHAR(50),
- `file_path` VARCHAR(500),
- `file_name` VARCHAR(255),
- `file_size` BIGINT,
- `is_current` BOOLEAN,
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_owner_id` (`owner_id`)
- );
- -- 9. approval_record 表(审批记录表)
- CREATE TABLE `approval_record` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `case_id` BIGINT,
- `step_name` VARCHAR(100),
- `approver_id` BIGINT,
- `decision` VARCHAR(20),
- `comments` TEXT,
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_case_id` (`case_id`)
- );
- -- 10. contract 表(合同表)
- CREATE TABLE `contract` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `business_attr` VARCHAR(200),
- `case_id` BIGINT,
- `contract_no` VARCHAR(50) UNIQUE,
- `contract_name` VARCHAR(50),
- `contract_version` INT,
- `contract_amount` DECIMAL(15,2),
- `interest_rate` DECIMAL(5,4),
- `loan_period` INT,
- `content` TEXT,
- `signed_by_customer` BOOLEAN,
- `sifned_id` BIGINT,
- `signed_time` DATETIME,
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_case_id` (`case_id`)
- );
- -- 11. disbursement 表(出款表)
- CREATE TABLE `disbursement` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `case_id` BIGINT,
- `payout_approve_user_id` BIGINT,
- `payout_operator_user_id` BIGINT,
- `apply_by` BIGINT,
- `apply_at` DATETIME,
- `disbursement_type` VARCHAR(10),
- `planned_amount` DECIMAL(18,2),
- `planned_location` VARCHAR(255),
- `disbursement_status` VARCHAR(30),
- `contract_id` BIGINT,
- `payout_time` DATETIME,
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_case_id` (`case_id`),
- INDEX `idx_disbursement_status` (`disbursement_status`)
- );
- -- disbursement_record 表(出款记录表)
- CREATE TABLE `disbursement_record` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `disbursement_id` BIGINT,
- `amount` DECIMAL(18,2),
- `create_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 12. repayment 表(回款表)
- CREATE TABLE `repayment` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `case_id` BIGINT,
- `contract_id` BIGINT,
- `repay_by_customer_id` BIGINT,
- `repayment_plan_user_id` BIGINT,
- `repayment_operator_user_id` BIGINT,
- `repayment_type` VARCHAR(10),
- `repay_amount` DECIMAL(18,2),
- `repay_at` DATETIME,
- `repay_bank` VARCHAR(2000),
- `repay_record_id` BIGINT,
- `confirmed_by` BIGINT,
- `confirmed_at` DATETIME,
- `interest` DECIMAL(18,2),
- `is_cleared` BOOLEAN,
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_case_id` (`case_id`),
- INDEX `idx_repay_at` (`repay_at`),
- INDEX `idx_is_cleared` (`is_cleared`)
- );
- -- repayment_record 表(回款记录表)
- CREATE TABLE `repayment_record` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `repayment_id` BIGINT,
- `amount` DECIMAL(18,2),
- `create_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 14. biz_recommender 表(推荐人表)
- CREATE TABLE `biz_recommender` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `recommender_code` VARCHAR(50) UNIQUE,
- `recommender_name` VARCHAR(100),
- `recommender_type` VARCHAR(50),
- `phone` VARCHAR(20),
- `channel` VARCHAR(50),
- `id_card` VARCHAR(20),
- `bank_account` VARCHAR(50),
- `commission_rate` DECIMAL(5,4),
- `company` VARCHAR(50),
- `remark` TEXT,
- `create_time` DATETIME,
- `update_time` DATETIME,
- `create_user_id` BIGINT,
- `update_user_id` BIGINT,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 15. sys_message 表(消息表)
- CREATE TABLE `sys_message` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `user_id` BIGINT,
- `message_title` VARCHAR(200),
- `message_content` TEXT,
- `message_type` VARCHAR(50),
- `read_status` TINYINT,
- `related_id` BIGINT,
- `related_type` VARCHAR(50),
- `create_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 16. stat_business_snapshot 表(业务统计快照表)
- CREATE TABLE `stat_business_snapshot` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `stat_date` DATE,
- `channel` VARCHAR(50),
- `biz_type` VARCHAR(50),
- `application_count` INT,
- `total_loan_amount` DECIMAL(15,2),
- `user_id` BIGINT,
- `create_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 17. stat_fund_efficiency 表(资金效率统计表)
- CREATE TABLE `stat_fund_efficiency` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `stat_month` VARCHAR(7),
- `daily_loan_balance` DECIMAL(15,2),
- `actual_days` INT,
- `interest_income` DECIMAL(15,2),
- `create_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
- -- 18. dict_business_type 表(业务类型字典)
- CREATE TABLE `dict_business_type` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `code` VARCHAR(50) UNIQUE,
- `name` VARCHAR(100),
- `enabled` BOOLEAN,
- `sort_order` INT,
- `created_at` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_enabled` (`enabled`)
- );
- -- 19. dict_channel 表(渠道字典)
- CREATE TABLE `dict_channel` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `code` VARCHAR(50) UNIQUE,
- `name` VARCHAR(100),
- `enabled` BOOLEAN,
- `sort_order` INT,
- `created_at` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_enabled` (`enabled`)
- );
- -- 20. dict_attribute 表(业务属性字典)
- CREATE TABLE `dict_attribute` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `code` VARCHAR(50) UNIQUE,
- `name` VARCHAR(100),
- `enabled` BOOLEAN,
- `sort_order` INT,
- `created_at` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_enabled` (`enabled`)
- );
- -- 21. dict_location 表(位置字典)
- CREATE TABLE `dict_location` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `code` VARCHAR(50) UNIQUE,
- `name` VARCHAR(100),
- `enabled` BOOLEAN,
- `sort_order` INT,
- `created_at` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_enabled` (`enabled`)
- );
- -- 22. dict_message 表(消息类型字典)
- CREATE TABLE `dict_message` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `code` INT UNIQUE,
- `name` VARCHAR(100),
- `enabled` BOOLEAN,
- `sort_order` INT,
- `created_at` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_enabled` (`enabled`)
- );
- -- 23. dict_type 表(资料类型表)
- CREATE TABLE `dict_type` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `code` INT UNIQUE,
- `name` VARCHAR(100),
- `enabled` BOOLEAN,
- `sort_order` INT,
- `created_at` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_enabled` (`enabled`)
- );
- -- 25. dict_step 表(环节类型)
- CREATE TABLE `dict_step` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `code` INT UNIQUE,
- `name` VARCHAR(50),
- `is_parent` BIGINT,
- `enabled` BOOLEAN,
- `sort_order` INT,
- `created_at` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除',
- INDEX `idx_enabled` (`enabled`)
- );
- -- 26. steps 表
- CREATE TABLE `steps` (
- `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
- `step_name` VARCHAR(50),
- `case_id` BIGINT,
- `status` VARCHAR(50),
- `user_id1` BIGINT,
- `user_id2` BIGINT,
- `begin_time` DATETIME,
- `parent_id` BIGINT,
- `pre_id` BIGINT,
- `next_id` BIGINT,
- `create_time` DATETIME,
- `update_time` DATETIME,
- `is_delete` TINYINT(1) DEFAULT 0 COMMENT '是否删除'
- );
|