151624-URS推广模块移除推荐码功能并实现双ID系统.md 5.4 KB

URS推广模块移除推荐码功能并实现双ID系统

任务时间: 2025年06月15日 16:24
任务类型: 功能重构
模块: UrsPromotion

📋 任务概述

根据用户需求,对URS推广模块进行重构:

  1. 移除推荐码功能:简化系统架构,移除推荐码生成、验证、使用等相关功能
  2. 实现双用户ID系统:引入urs_user_id作为核心用户ID,user_id作为辅助农场用户ID

🎯 主要变更

1. 移除推荐码功能

1.1 删除数据库表

  • urs_promotion_referral_codes - URS推荐码表
  • urs_promotion_referral_code_usages - URS邀请码使用记录表

1.2 更新文档

  • 📝 README.md:移除推荐码生成功能描述
  • 📝 数据库设计.md:移除推荐码表相关文档
  • 📝 设计概述.md:移除推荐码相关核心实体

2. 实现双用户ID系统

2.1 数据库表结构更新

用户推荐关系表 (urs_promotion_user_referrals)

-- 新增字段
ADD COLUMN `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID(核心)'
ADD COLUMN `urs_referrer_id` bigint unsigned NOT NULL COMMENT 'URS推荐人ID(核心)'

-- 修改字段注释
MODIFY COLUMN `user_id` bigint unsigned NOT NULL COMMENT '农场用户ID(辅助)'
MODIFY COLUMN `referrer_id` bigint unsigned NOT NULL COMMENT '农场推荐人ID(辅助)'
MODIFY COLUMN `referral_code` varchar(32) DEFAULT NULL COMMENT '使用的推荐码(历史记录)'

-- 新增索引
ADD UNIQUE KEY `uk_urs_user_id` (`urs_user_id`)
ADD KEY `idx_urs_referrer_id` (`urs_referrer_id`)

达人等级表 (urs_promotion_user_talents)

-- 新增字段
ADD COLUMN `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID(核心)'

-- 修改字段注释
MODIFY COLUMN `user_id` bigint unsigned NOT NULL COMMENT '农场用户ID(辅助)'

-- 新增索引
ADD UNIQUE KEY `uk_urs_user_id` (`urs_user_id`)

收益记录表 (urs_promotion_profits)

-- 新增字段
ADD COLUMN `urs_user_id` bigint unsigned NOT NULL COMMENT '获得收益的URS用户ID(核心)'
ADD COLUMN `urs_promotion_member_id` bigint unsigned NOT NULL COMMENT '团队成员URS用户ID(核心)'

-- 修改字段注释
MODIFY COLUMN `user_id` bigint unsigned NOT NULL COMMENT '获得收益的农场用户ID(辅助)'
MODIFY COLUMN `promotion_member_id` bigint unsigned NOT NULL COMMENT '团队成员农场用户ID(辅助)'

-- 新增索引
ADD KEY `idx_urs_user_id` (`urs_user_id`)
ADD KEY `idx_urs_promotion_member_id` (`urs_promotion_member_id`)

2.2 模型类更新

UrsUserReferral模型

  • ✅ 新增 urs_user_idurs_referrer_id 字段
  • ✅ 更新字段注释和类型转换
  • ✅ 保留 referral_code 字段用于历史记录

UrsUserTalent模型

  • ✅ 新增 urs_user_id 字段
  • ✅ 更新字段注释和类型转换

UrsProfit模型

  • ✅ 新增 urs_user_idurs_promotion_member_id 字段
  • ✅ 更新字段注释和类型转换

2.3 文档更新

README.md

  • ✅ 更新核心概念,新增"URS用户ID系统"章节
  • ✅ 更新数据表字段说明,体现双ID系统
  • ✅ 移除推荐码服务相关描述

数据库设计.md

  • ✅ 更新版本说明为v2.1.0(双ID系统版本)
  • ✅ 更新所有表结构文档,体现双ID字段
  • ✅ 移除推荐码表相关文档
  • ✅ 更新查询场景和外键约束说明

设计概述.md

  • ✅ 更新核心实体说明,体现双ID系统支持

🔧 技术实现

1. 数据库迁移脚本

  • 📄 migrate_to_dual_id_system.sql:完整的迁移脚本
  • 🔄 包含表结构修改、索引创建、数据迁移示例
  • ⚠️ 数据迁移需要根据实际URS与农场系统的用户ID映射关系调整

2. 核心概念变更

  • 核心用户ID (urs_user_id):对应URS系统的用户ID,作为主要业务标识
  • 辅助用户ID (user_id):对应农场系统的用户ID,用于数据关联
  • 双ID映射:通过两套ID系统实现URS与农场系统的无缝对接

📊 影响评估

1. 功能简化

  • ➖ 移除推荐码生成、验证、使用功能
  • ➖ 移除推荐码管理相关接口
  • ➕ 简化系统架构,降低维护复杂度

2. 数据兼容性

  • ✅ 保留 referral_code 字段用于历史数据
  • ✅ 保持原有 user_id 字段,确保农场系统兼容
  • ✅ 新增 urs_user_id 字段,支持URS系统集成

3. 查询性能

  • ✅ 新增唯一索引确保数据唯一性
  • ✅ 新增查询索引提升查询性能
  • ✅ 支持双向ID查询和映射

🚀 后续工作

1. 代码层面

  • 更新服务层和逻辑层代码,支持双ID系统
  • 更新API接口,支持urs_user_id参数
  • 更新业务逻辑,使用urs_user_id作为核心标识

2. 数据迁移

  • 根据实际业务需求制定用户ID映射策略
  • 执行数据迁移脚本
  • 验证数据完整性和一致性

3. 测试验证

  • 更新单元测试,覆盖双ID系统
  • 进行集成测试,验证URS与农场系统对接
  • 性能测试,确保查询效率

📝 备注

  1. 推荐码功能移除:完全移除推荐码相关功能,简化系统架构
  2. 双ID系统设计:urs_user_id为核心业务ID,user_id为辅助关联ID
  3. 向后兼容:保留历史推荐码字段,确保数据完整性
  4. 扩展性考虑:双ID系统为后续URS系统深度集成奠定基础

任务状态: ✅ 已完成
完成时间: 2025年06月15日 16:24
版本: UrsPromotion v2.1.0