@@ -0,0 +1,81 @@
-- ============================================================
-- 推荐客户模块 SQL
-- 包: app
-- 创建时间: 2026-04-16
-- ============================================================
-- 1. 推荐记录表
CREATE TABLE ` app_lead_referral ` (
` id ` BIGINT NOT NULL AUTO_INCREMENT COMMENT ' 主键ID ' ,
` referral_code ` VARCHAR ( 32 ) DEFAULT NULL COMMENT ' 推荐码(推荐人分享给客户的码) ' ,
` referrer_id ` INT DEFAULT NULL COMMENT ' 推荐人用户ID( NULL=匿名推荐) ' ,
` referrer_name ` VARCHAR ( 64 ) DEFAULT NULL COMMENT ' 推荐人姓名 ' ,
` referrer_phone ` VARCHAR ( 20 ) DEFAULT NULL COMMENT ' 推荐人手机号 ' ,
` customer_name ` VARCHAR ( 64 ) NOT NULL COMMENT ' 客户姓名 ' ,
` customer_phone ` VARCHAR ( 20 ) NOT NULL COMMENT ' 客户手机号 ' ,
` customer_company ` VARCHAR ( 255 ) DEFAULT NULL COMMENT ' 客户公司名称 ' ,
` requirement ` TEXT DEFAULT NULL COMMENT ' 客户需求描述 ' ,
` appointment_time ` DATETIME DEFAULT NULL COMMENT ' 预约联系时间 ' ,
` remarks ` VARCHAR ( 500 ) DEFAULT NULL COMMENT ' 推荐人备注 ' ,
` referral_fee ` DECIMAL ( 10 , 2 ) DEFAULT ' 0.00 ' COMMENT ' 推荐费(元) ' ,
` referral_status ` TINYINT NOT NULL DEFAULT ' 0 ' COMMENT ' 推荐状态: 0=待确认, 1=有效, 2=无效/作废, 3=已结算 ' ,
` invalid_reason ` VARCHAR ( 255 ) DEFAULT NULL COMMENT ' 作废原因 ' ,
` invalid_time ` DATETIME DEFAULT NULL COMMENT ' 作废时间 ' ,
` confirmed_time ` DATETIME DEFAULT NULL COMMENT ' 确认有效时间 ' ,
` settled_time ` DATETIME DEFAULT NULL COMMENT ' 结算时间 ' ,
` tenant_id ` INT DEFAULT NULL COMMENT ' 租户ID ' ,
` create_by ` INT DEFAULT NULL COMMENT ' 创建人ID ' ,
` create_time ` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_by ` INT DEFAULT NULL COMMENT ' 更新人ID ' ,
` update_time ` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` deleted ` TINYINT NOT NULL DEFAULT ' 0 ' COMMENT ' 删除标记: 0=未删, 1=已删 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_referrer_id ` ( ` referrer_id ` ) ,
KEY ` idx_customer_phone ` ( ` customer_phone ` ) ,
KEY ` idx_referral_status ` ( ` referral_status ` ) ,
KEY ` idx_create_time ` ( ` create_time ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 推荐记录表 ' ;
-- 2. 推荐人信息表
CREATE TABLE ` app_referrer_info ` (
` id ` BIGINT NOT NULL AUTO_INCREMENT COMMENT ' 主键ID ' ,
` user_id ` INT NOT NULL COMMENT ' 用户ID ' ,
` referral_code ` VARCHAR ( 32 ) NOT NULL COMMENT ' 推荐码(唯一) ' ,
` total_referrals ` INT NOT NULL DEFAULT ' 0 ' COMMENT ' 累计推荐人数 ' ,
` valid_referrals ` INT NOT NULL DEFAULT ' 0 ' COMMENT ' 有效推荐数 ' ,
` settled_count ` INT NOT NULL DEFAULT ' 0 ' COMMENT ' 已结算数 ' ,
` total_earned ` DECIMAL ( 10 , 2 ) NOT NULL DEFAULT ' 0.00 ' COMMENT ' 累计获得推荐费(元) ' ,
` pending_amount ` DECIMAL ( 10 , 2 ) NOT NULL DEFAULT ' 0.00 ' COMMENT ' 待结算金额(元) ' ,
` tenant_id ` INT DEFAULT NULL COMMENT ' 租户ID ' ,
` create_by ` INT DEFAULT NULL COMMENT ' 创建人ID ' ,
` create_time ` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
` update_by ` INT DEFAULT NULL COMMENT ' 更新人ID ' ,
` update_time ` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 ' ,
` deleted ` TINYINT NOT NULL DEFAULT ' 0 ' COMMENT ' 删除标记: 0=未删, 1=已删 ' ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE KEY ` uk_user_id ` ( ` user_id ` ) ,
UNIQUE KEY ` uk_referral_code ` ( ` referral_code ` ) ,
KEY ` idx_create_time ` ( ` create_time ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 推荐人信息表 ' ;
-- 3. 推荐费结算记录表
CREATE TABLE ` app_referral_settlement ` (
` id ` BIGINT NOT NULL AUTO_INCREMENT COMMENT ' 主键ID ' ,
` referral_id ` BIGINT NOT NULL COMMENT ' 关联推荐记录ID ' ,
` referrer_id ` INT NOT NULL COMMENT ' 推荐人用户ID ' ,
` amount ` DECIMAL ( 10 , 2 ) NOT NULL COMMENT ' 结算金额(元) ' ,
` settlement_no ` VARCHAR ( 32 ) DEFAULT NULL COMMENT ' 结算单号 ' ,
` remarks ` VARCHAR ( 500 ) DEFAULT NULL COMMENT ' 结算备注 ' ,
` tenant_id ` INT DEFAULT NULL COMMENT ' 租户ID ' ,
` create_by ` INT DEFAULT NULL COMMENT ' 结算操作人ID ' ,
` create_time ` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT ' 结算时间 ' ,
` deleted ` TINYINT NOT NULL DEFAULT ' 0 ' COMMENT ' 删除标记: 0=未删, 1=已删 ' ,
PRIMARY KEY ( ` id ` ) ,
KEY ` idx_referral_id ` ( ` referral_id ` ) ,
KEY ` idx_referrer_id ` ( ` referrer_id ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 推荐费结算记录表 ' ;