Compare commits

..

3 Commits

Author SHA1 Message Date
9ec44dbe5c refactor(recommendation): 删除推荐记录相关模块,清理代码和数据结构
- 移除推荐记录管理后台控制器LeadReferralAdminController
- 删除小程序端推荐记录控制器LeadReferralController
- 删除推荐记录实体LeadReferral及相关实体ReferralSettlement、ReferrerInfo
- 删除对应的数据访问层Mapper接口
- 删除推荐记录查询参数类LeadReferralParam
- 删除推荐记录服务接口LeadReferralService及其实现LeadReferralServiceImpl
- 清理相关注解、导入及依赖,彻底移除推荐记录功能模块
2026-04-16 17:04:31 +08:00
89ac0d109c fix(recommendation): 修正分页参数的有效性判断逻辑
- 将分页参数的非空判断改为大于0判断以保证参数有效
- 修改参数名统一为current和size以保持一致性
- 修正了LeadReferralServiceImpl中分页相关方法的分页逻辑
- 确保当分页参数无效时使用默认分页值1和10
2026-04-16 16:47:18 +08:00
7095c4bf96 feat(recommendation): 实现推荐客户管理全流程功能
- 新增推荐记录、推荐人信息、推荐费结算实体及数据库表结构
- 实现推荐记录小程序端接口,包括新增报备、获取推荐码、查询我的推荐及统计
- 实现后台管理端推荐记录分页查询、确认有效、作废、结算及批量结算接口
- 实现推荐人信息查询及推荐统计汇总逻辑
- 实现推荐记录导出功能,支持导出推荐详情数据
- 完成推荐状态变更时推荐人统计数据同步更新
- 添加相关Mapper接口和Service接口及实现
- 使用MyBatis Plus分页插件支持分页查询
- 集成Spring Security权限校验和操作日志注解
- 优化推荐码生成和唯一性校验机制
2026-04-16 16:40:08 +08:00
2 changed files with 98 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
{
"version": 2,
"sessions": {
"8b8cdf8cb3404efeac18615f9f419cb1": [
{
"expertId": "SeniorDeveloper",
"name": "吴八哥",
"profession": "高级开发工程师",
"avatarUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/avatars/02-Engineering/SeniorDeveloper/SeniorDeveloper.png",
"promptUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/experts/02-Engineering/SeniorDeveloper/SeniorDeveloper_zh.md",
"usedAt": 1776323986694,
"industryId": "02-Engineering"
}
]
},
"lastUpdated": 1776324781452
}

View File

@@ -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 '推荐人用户IDNULL=匿名推荐)',
`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='推荐费结算记录表';