notfff 7 bulan lalu
induk
melakukan
58f3596202

+ 0 - 181
app/Module/UrsPromotion/Databases/createsql/create.sql

@@ -1,181 +0,0 @@
--- URS推广模块数据库创建脚本
--- 创建时间: 2025-06-14
--- 版本: v1.0.0
-
--- 1. URS用户推荐关系表
-CREATE TABLE `kku_urs_promotion_user_referrals` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID(核心)',
-  `user_id` bigint unsigned NOT NULL COMMENT '农场用户ID(辅助)',
-  `urs_referrer_id` bigint unsigned NOT NULL COMMENT 'URS推荐人ID(核心)',
-  `referrer_id` bigint unsigned NOT NULL COMMENT '农场推荐人ID(辅助)',
-  `referral_code` varchar(32) DEFAULT NULL COMMENT '使用的推荐码(历史记录)',
-  `referral_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '推荐时间',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1有效,0无效',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  UNIQUE KEY `uk_user_id` (`user_id`),
-  KEY `idx_urs_referrer_id` (`urs_referrer_id`),
-  KEY `idx_referrer_id` (`referrer_id`),
-  KEY `idx_referral_code` (`referral_code`),
-  KEY `idx_referral_time` (`referral_time`),
-  KEY `idx_status` (`status`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS用户推荐关系表';
-
--- 2. URS达人等级表
-CREATE TABLE `kku_urs_promotion_user_talents` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID(核心)',
-  `user_id` bigint unsigned NOT NULL COMMENT '农场用户ID(辅助)',
-  `talent_level` tinyint NOT NULL DEFAULT '0' COMMENT 'URS达人等级:0无,1初级,2中级,3高级,4资深,5顶级',
-  `direct_count` int NOT NULL DEFAULT '0' COMMENT '直推人数',
-  `promotion_count` int NOT NULL DEFAULT '0' COMMENT '团队总人数',
-  `last_level_update_time` timestamp NULL DEFAULT NULL COMMENT '最后等级更新时间',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  UNIQUE KEY `uk_user_id` (`user_id`),
-  KEY `idx_talent_level` (`talent_level`),
-  KEY `idx_direct_count` (`direct_count`),
-  KEY `idx_promotion_count` (`promotion_count`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS达人等级表';
-
--- 3. URS团队收益记录表
-CREATE TABLE `kku_urs_promotion_profits` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT '获得收益的URS用户ID(核心)',
-  `user_id` bigint unsigned NOT NULL COMMENT '获得收益的农场用户ID(辅助)',
-  `urs_promotion_member_id` bigint unsigned NOT NULL COMMENT '团队成员URS用户ID(核心)',
-  `promotion_member_id` bigint unsigned NOT NULL COMMENT '团队成员农场用户ID(辅助)',
-  `source_id` bigint unsigned NOT NULL COMMENT '收益来源ID',
-  `source_type` varchar(32) NOT NULL COMMENT '收益来源类型',
-  `relation_type` varchar(16) NOT NULL COMMENT '关系类型:direct直推,indirect间推',
-  `relation_level` tinyint NOT NULL DEFAULT '1' COMMENT '推荐层级:1直推,2-20间推',
-  `original_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '原始收益金额',
-  `profit_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '分成收益金额',
-  `profit_rate` decimal(8,6) NOT NULL DEFAULT '0.000000' COMMENT '分成比例',
-  `talent_level` tinyint NOT NULL DEFAULT '0' COMMENT '获得收益时的达人等级',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1正常,0取消',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  KEY `idx_urs_user_id` (`urs_user_id`),
-  KEY `idx_user_id` (`user_id`),
-  KEY `idx_urs_promotion_member_id` (`urs_promotion_member_id`),
-  KEY `idx_promotion_member_id` (`promotion_member_id`),
-  KEY `idx_source` (`source_type`,`source_id`),
-  KEY `idx_relation_type` (`relation_type`),
-  KEY `idx_relation_level` (`relation_level`),
-  KEY `idx_created_at` (`created_at`),
-  KEY `idx_status` (`status`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS团队收益记录表';
-
--- 4. URS达人等级配置表
-CREATE TABLE `kku_urs_promotion_talent_configs` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `level` tinyint NOT NULL COMMENT '等级:0无,1初级,2中级,3高级,4资深,5顶级',
-  `name` varchar(32) NOT NULL COMMENT '等级名称',
-  `direct_count_required` int NOT NULL DEFAULT '0' COMMENT '所需直推人数',
-  `promotion_count_required` int NOT NULL DEFAULT '0' COMMENT '所需团队总人数',
-  `profit_rate` decimal(8,6) NOT NULL DEFAULT '0.000000' COMMENT '间推分成比例',
-  `benefits` json DEFAULT NULL COMMENT '等级权益JSON',
-  `icon` varchar(255) DEFAULT NULL COMMENT '等级图标',
-  `description` text COMMENT '等级描述',
-  `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序权重',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1启用,0禁用',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_level` (`level`),
-  KEY `idx_sort_order` (`sort_order`),
-  KEY `idx_status` (`status`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS达人等级配置表';
-
--- 6. URS收益分成规则表
-CREATE TABLE `kku_urs_promotion_profit_rules` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `source_type` varchar(32) NOT NULL COMMENT '收益来源类型',
-  `name` varchar(64) NOT NULL COMMENT '规则名称',
-  `direct_profit_rate` decimal(8,6) NOT NULL DEFAULT '0.050000' COMMENT '直推分成比例',
-  `max_indirect_level` tinyint NOT NULL DEFAULT '20' COMMENT '最大间推层级',
-  `min_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '最小分成金额',
-  `max_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '最大分成金额,0为无限制',
-  `rules` json DEFAULT NULL COMMENT '扩展规则JSON',
-  `description` text COMMENT '规则描述',
-  `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序权重',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1启用,0禁用',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_source_type` (`source_type`),
-  KEY `idx_status` (`status`),
-  KEY `idx_sort_order` (`sort_order`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS收益分成规则表';
-
--- 7. URS推荐关系修改记录表
-CREATE TABLE `kku_urs_promotion_referral_changes` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `user_id` bigint unsigned NOT NULL COMMENT '用户ID',
-  `old_referrer_id` bigint unsigned DEFAULT NULL COMMENT '原推荐人ID',
-  `new_referrer_id` bigint unsigned DEFAULT NULL COMMENT '新推荐人ID',
-  `change_reason` varchar(64) NOT NULL COMMENT '修改原因',
-  `change_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
-  `operator_id` bigint unsigned DEFAULT NULL COMMENT '操作人ID',
-  `remark` text COMMENT '备注',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  KEY `idx_user_id` (`user_id`),
-  KEY `idx_old_referrer_id` (`old_referrer_id`),
-  KEY `idx_new_referrer_id` (`new_referrer_id`),
-  KEY `idx_change_time` (`change_time`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS推荐关系修改记录表';
-
--- 8. URS用户关系缓存表
-CREATE TABLE `kku_urs_promotion_user_relation_cache` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `user_id` bigint unsigned NOT NULL COMMENT '用户ID',
-  `related_user_id` bigint unsigned NOT NULL COMMENT '关联用户ID',
-  `relation_type` varchar(16) NOT NULL COMMENT '关系类型:referrer上级,member下级',
-  `level` tinyint NOT NULL DEFAULT '1' COMMENT '关系层级:1直接,2-20间接',
-  `depth` tinyint NOT NULL DEFAULT '1' COMMENT '关系深度',
-  `path` text COMMENT '关系路径',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_user_related` (`user_id`,`related_user_id`,`relation_type`),
-  KEY `idx_user_id` (`user_id`),
-  KEY `idx_related_user_id` (`related_user_id`),
-  KEY `idx_relation_type` (`relation_type`),
-  KEY `idx_level` (`level`),
-  KEY `idx_depth` (`depth`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS用户关系缓存表';
-
--- 9. URS邀请奖励记录表
-CREATE TABLE `kku_urs_promotion_invite_rewards` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `user_id` bigint unsigned NOT NULL COMMENT '获得奖励的用户ID',
-  `invited_user_id` bigint unsigned NOT NULL COMMENT '被邀请用户ID',
-  `reward_type` varchar(32) NOT NULL COMMENT '奖励类型',
-  `reward_source` varchar(32) NOT NULL COMMENT '奖励来源',
-  `reward_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '奖励数量',
-  `reward_item_id` bigint unsigned DEFAULT NULL COMMENT '奖励物品ID',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1已发放,0待发放,2已取消',
-  `granted_at` timestamp NULL DEFAULT NULL COMMENT '发放时间',
-  `expire_at` timestamp NULL DEFAULT NULL COMMENT '过期时间',
-  `remark` text COMMENT '备注',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  KEY `idx_user_id` (`user_id`),
-  KEY `idx_invited_user_id` (`invited_user_id`),
-  KEY `idx_reward_type` (`reward_type`),
-  KEY `idx_reward_source` (`reward_source`),
-  KEY `idx_status` (`status`),
-  KEY `idx_created_at` (`created_at`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS邀请奖励记录表';
-
-

+ 0 - 97
app/Module/UrsPromotion/Databases/createsql/create_urs_promotion_tables.sql

@@ -1,97 +0,0 @@
--- URS推广模块数据库表创建SQL
--- 创建时间: 2025-06-15
--- 版本: v2.0.0 (三代推广版本)
-
--- 1. URS用户推荐关系表
-CREATE TABLE `kku_urs_promotion_user_referrals` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID(核心)',
-  `user_id` bigint unsigned NOT NULL COMMENT '农场用户ID(辅助)',
-  `urs_referrer_id` bigint unsigned NOT NULL COMMENT 'URS推荐人ID(核心)',
-  `referrer_id` bigint unsigned NOT NULL COMMENT '农场推荐人ID(辅助)',
-  `referral_code` varchar(32) DEFAULT NULL COMMENT '使用的推荐码(历史记录)',
-  `referral_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '推荐时间',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1有效,0无效',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  UNIQUE KEY `uk_user_id` (`user_id`),
-  KEY `idx_urs_referrer_id` (`urs_referrer_id`),
-  KEY `idx_referrer_id` (`referrer_id`),
-  KEY `idx_referral_code` (`referral_code`),
-  KEY `idx_referral_time` (`referral_time`),
-  KEY `idx_status` (`status`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS用户推荐关系表';
-
--- 2. URS达人等级表
-CREATE TABLE `kku_urs_promotion_user_talents` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID(核心)',
-  `user_id` bigint unsigned NOT NULL COMMENT '农场用户ID(辅助)',
-  `talent_level` tinyint NOT NULL DEFAULT '0' COMMENT 'URS达人等级:0无,1初级,2中级,3高级,4资深,5顶级',
-  `direct_count` int NOT NULL DEFAULT '0' COMMENT '直推人数',
-  `indirect_count` int NOT NULL DEFAULT '0' COMMENT '间推人数',
-  `third_count` int NOT NULL DEFAULT '0' COMMENT '三推人数',
-  `promotion_count` int NOT NULL DEFAULT '0' COMMENT '团队总人数',
-  `last_level_update_time` timestamp NULL DEFAULT NULL COMMENT '最后等级更新时间',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  UNIQUE KEY `uk_user_id` (`user_id`),
-  KEY `idx_talent_level` (`talent_level`),
-  KEY `idx_direct_count` (`direct_count`),
-  KEY `idx_promotion_count` (`promotion_count`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS达人等级表';
-
--- 3. URS团队收益记录表
-CREATE TABLE `kku_urs_promotion_profits` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT '获得收益的URS用户ID(核心)',
-  `user_id` bigint unsigned NOT NULL COMMENT '获得收益的农场用户ID(辅助)',
-  `urs_promotion_member_id` bigint unsigned NOT NULL COMMENT '团队成员URS用户ID(核心)',
-  `promotion_member_id` bigint unsigned NOT NULL COMMENT '团队成员农场用户ID(辅助)',
-  `source_id` bigint unsigned NOT NULL COMMENT '收益来源ID',
-  `source_type` varchar(32) NOT NULL COMMENT '收益来源类型',
-  `profit_type` varchar(32) NOT NULL COMMENT '收益类型:promotion_reward推广收益,planting_reward种植收益',
-  `relation_level` tinyint NOT NULL DEFAULT '1' COMMENT '推荐层级:1直推,2间推,3三推',
-  `original_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '原始收益金额',
-  `profit_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '分成收益金额',
-  `profit_rate` decimal(8,6) NOT NULL DEFAULT '0.000000' COMMENT '分成比例',
-  `talent_level` tinyint NOT NULL DEFAULT '0' COMMENT '获得收益时的达人等级',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1正常,0取消',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  KEY `idx_urs_user_id` (`urs_user_id`),
-  KEY `idx_user_id` (`user_id`),
-  KEY `idx_urs_promotion_member_id` (`urs_promotion_member_id`),
-  KEY `idx_promotion_member_id` (`promotion_member_id`),
-  KEY `idx_source` (`source_type`,`source_id`),
-  KEY `idx_profit_type` (`profit_type`),
-  KEY `idx_relation_level` (`relation_level`),
-  KEY `idx_created_at` (`created_at`),
-  KEY `idx_status` (`status`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS团队收益记录表';
-
--- 4. URS达人等级配置表
-CREATE TABLE `kku_urs_promotion_talent_configs` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `level` tinyint NOT NULL COMMENT '等级:0无,1初级,2中级,3高级,4资深,5顶级',
-  `name` varchar(32) NOT NULL COMMENT '等级名称',
-  `direct_count_required` int NOT NULL DEFAULT '0' COMMENT '所需直推人数',
-  `promotion_count_required` int NOT NULL DEFAULT '0' COMMENT '所需团队总人数',
-  `promotion_reward_rates` json DEFAULT NULL COMMENT '推广收益分成比例配置',
-  `planting_reward_rates` json DEFAULT NULL COMMENT '种植收益分成比例配置',
-  `icon` varchar(255) DEFAULT NULL COMMENT '等级图标',
-  `description` text COMMENT '等级描述',
-  `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序权重',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1启用,0禁用',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_level` (`level`),
-  KEY `idx_sort_order` (`sort_order`),
-  KEY `idx_status` (`status`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS达人等级配置表';

+ 0 - 106
app/Module/UrsPromotion/Databases/createsql/create_urs_promotion_tables_v3.sql

@@ -1,106 +0,0 @@
--- URS推广模块数据库表创建SQL (重构版本)
--- 创建时间: 2025-06-15
--- 版本: v3.0.0 (分离映射关系版本)
--- 重构说明: 分离用户映射关系,推荐关系只存储URS用户ID
-
--- 1. URS用户与农场用户关系映射表
-CREATE TABLE `kku_urs_promotion_user_mappings` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID',
-  `user_id` bigint unsigned NOT NULL COMMENT '农场用户ID',
-  `mapping_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '映射建立时间(用户进入农场时间)',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1有效,0无效',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  UNIQUE KEY `uk_user_id` (`user_id`),
-  KEY `idx_status` (`status`),
-  KEY `idx_mapping_time` (`mapping_time`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS用户与农场用户关系映射表';
-
--- 2. URS用户推荐关系表(只存储URS用户ID)
-CREATE TABLE `kku_urs_promotion_user_referrals` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID',
-  `urs_referrer_id` bigint unsigned NOT NULL COMMENT 'URS推荐人ID',
-  `referral_code` varchar(32) DEFAULT NULL COMMENT '使用的推荐码(历史记录)',
-  `referral_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '推荐时间',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1有效,0无效',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  KEY `idx_urs_referrer_id` (`urs_referrer_id`),
-  KEY `idx_referral_code` (`referral_code`),
-  KEY `idx_status` (`status`),
-  KEY `idx_referral_time` (`referral_time`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS用户推荐关系表';
-
--- 3. URS达人等级表(只存储URS用户ID)
-CREATE TABLE `kku_urs_promotion_user_talents` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID',
-  `talent_level` tinyint NOT NULL DEFAULT '0' COMMENT 'URS达人等级:0无,1初级,2中级,3高级,4资深,5顶级',
-  `direct_count` int NOT NULL DEFAULT '0' COMMENT '直推人数',
-  `indirect_count` int NOT NULL DEFAULT '0' COMMENT '间推人数',
-  `third_count` int NOT NULL DEFAULT '0' COMMENT '三推人数',
-  `promotion_count` int NOT NULL DEFAULT '0' COMMENT '团队总人数',
-  `last_level_update_time` timestamp NULL DEFAULT NULL COMMENT '最后等级更新时间',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  KEY `idx_talent_level` (`talent_level`),
-  KEY `idx_direct_count` (`direct_count`),
-  KEY `idx_promotion_count` (`promotion_count`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS达人等级表';
-
--- 4. URS团队收益记录表(只存储URS用户ID)
-CREATE TABLE `kku_urs_promotion_profits` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT '获得收益的URS用户ID',
-  `urs_promotion_member_id` bigint unsigned NOT NULL COMMENT '团队成员URS用户ID(产生收益的用户)',
-  `source_id` bigint unsigned NOT NULL COMMENT '收益来源ID',
-  `source_type` varchar(32) NOT NULL COMMENT '收益来源类型',
-  `profit_type` varchar(32) NOT NULL COMMENT '收益类型:promotion_reward推广收益,planting_reward种植收益',
-  `relation_level` tinyint NOT NULL DEFAULT '1' COMMENT '推荐层级:1直推,2间推,3三推',
-  `original_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '原始收益金额',
-  `profit_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '分成收益金额',
-  `profit_rate` decimal(8,6) NOT NULL DEFAULT '0.000000' COMMENT '分成比例',
-  `talent_level` tinyint NOT NULL DEFAULT '0' COMMENT '获得收益时的达人等级',
-  `farm_user_id` bigint unsigned DEFAULT NULL COMMENT '实际发放奖励的农场用户ID(冗余字段,便于查询)',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1正常,0取消,2跳过(用户未进入农场)',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  KEY `idx_urs_user_id` (`urs_user_id`),
-  KEY `idx_urs_promotion_member_id` (`urs_promotion_member_id`),
-  KEY `idx_farm_user_id` (`farm_user_id`),
-  KEY `idx_source` (`source_type`,`source_id`),
-  KEY `idx_profit_type` (`profit_type`),
-  KEY `idx_relation_level` (`relation_level`),
-  KEY `idx_created_at` (`created_at`),
-  KEY `idx_status` (`status`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS团队收益记录表';
-
--- 5. URS达人等级配置表
-CREATE TABLE `kku_urs_promotion_talent_configs` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `level` tinyint NOT NULL COMMENT '等级:0无,1初级,2中级,3高级,4资深,5顶级',
-  `name` varchar(32) NOT NULL COMMENT '等级名称',
-  `direct_count_required` int NOT NULL DEFAULT '0' COMMENT '所需直推人数',
-  `promotion_count_required` int NOT NULL DEFAULT '0' COMMENT '所需团队总人数',
-  `promotion_reward_rates` json DEFAULT NULL COMMENT '推广收益分成比例配置',
-  `planting_reward_rates` json DEFAULT NULL COMMENT '种植收益分成比例配置',
-  `icon` varchar(255) DEFAULT NULL COMMENT '等级图标',
-  `description` text COMMENT '等级描述',
-  `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序权重',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1启用,0禁用',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_level` (`level`),
-  KEY `idx_sort_order` (`sort_order`),
-  KEY `idx_status` (`status`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS达人等级配置表';

+ 0 - 56
app/Module/UrsPromotion/Databases/createsql/init_data.sql

@@ -1,56 +0,0 @@
--- URS推广模块初始化数据脚本
--- 创建时间: 2025-06-14
--- 版本: v1.0.0
-
--- 1. 初始化URS达人等级配置
-INSERT INTO `kku_urs_promotion_talent_configs` (`level`, `name`, `direct_count_required`, `promotion_count_required`, `profit_rate`, `benefits`, `icon`, `description`, `sort_order`, `status`) VALUES
-(0, '非URS达人', 0, 0, 0.000000, '{"description": "普通用户,无特殊权益"}', 'fa-user', '普通用户等级,无推广权益', 0, 1),
-(1, 'URS初级达人', 5, 10, 0.010000, '{"description": "初级达人权益", "benefits": ["1%间推分成", "专属推荐码", "团队数据查看"]}', 'fa-star', '需要5个直推和10个团队成员,享受1%间推分成', 1, 1),
-(2, 'URS中级达人', 10, 30, 0.015000, '{"description": "中级达人权益", "benefits": ["1.5%间推分成", "高级推荐码", "团队数据分析", "专属客服"]}', 'fa-star-half-alt', '需要10个直推和30个团队成员,享受1.5%间推分成', 2, 1),
-(3, 'URS高级达人', 20, 100, 0.020000, '{"description": "高级达人权益", "benefits": ["2%间推分成", "自定义推荐码", "高级数据分析", "优先客服", "专属活动"]}', 'fa-crown', '需要20个直推和100个团队成员,享受2%间推分成', 3, 1),
-(4, 'URS资深达人', 50, 300, 0.025000, '{"description": "资深达人权益", "benefits": ["2.5%间推分成", "多个推荐码", "全面数据分析", "VIP客服", "专属活动", "线下聚会"]}', 'fa-gem', '需要50个直推和300个团队成员,享受2.5%间推分成', 4, 1),
-(5, 'URS顶级达人', 100, 1000, 0.030000, '{"description": "顶级达人权益", "benefits": ["3%间推分成", "无限推荐码", "实时数据监控", "专属客户经理", "所有活动", "合作伙伴资格"]}', 'fa-trophy', '需要100个直推和1000个团队成员,享受3%间推分成', 5, 1);
-
--- 2. 初始化URS收益分成规则
-INSERT INTO `kku_urs_promotion_profit_rules` (`source_type`, `name`, `direct_profit_rate`, `max_indirect_level`, `min_amount`, `max_amount`, `rules`, `description`, `sort_order`, `status`) VALUES
-('urs_farm_harvest', 'URS农场收获分成', 0.050000, 20, 1.0000000000, 0.0000000000, '{"min_harvest_amount": 10, "max_daily_profit": 1000, "excluded_crops": []}', 'URS用户农场收获时的团队分成规则,直推5%,间推根据达人等级', 1, 1),
-('urs_task_complete', 'URS任务完成分成', 0.030000, 10, 0.5000000000, 500.0000000000, '{"min_task_reward": 5, "max_task_profit": 500, "excluded_tasks": []}', 'URS用户完成任务时的团队分成规则,直推3%,最多10层间推', 2, 1),
-('urs_item_sell', 'URS物品出售分成', 0.020000, 5, 0.1000000000, 100.0000000000, '{"min_sell_amount": 1, "max_sell_profit": 100, "excluded_items": [1001, 1002]}', 'URS用户出售物品时的团队分成规则,直推2%,最多5层间推', 3, 1),
-('urs_shop_purchase', 'URS商店购买分成', 0.015000, 3, 0.1000000000, 50.0000000000, '{"min_purchase_amount": 10, "max_purchase_profit": 50, "excluded_categories": []}', 'URS用户商店购买时的团队分成规则,直推1.5%,最多3层间推', 4, 1),
-('urs_activity_reward', 'URS活动奖励分成', 0.025000, 15, 1.0000000000, 200.0000000000, '{"min_activity_reward": 20, "max_activity_profit": 200, "excluded_activities": []}', 'URS用户获得活动奖励时的团队分成规则,直推2.5%,最多15层间推', 5, 1);
-
--- 3. 创建系统默认推荐码(可选)
--- 注意:这里的user_id需要根据实际系统用户ID调整
--- INSERT INTO `kku_urs_promotion_referral_codes` (`user_id`, `code`, `type`, `max_usage`, `status`) VALUES
--- (1, 'URS_SYSTEM_001', 'system', 0, 1),
--- (1, 'URS_WELCOME_2025', 'system', 1000, 1);
-
--- 4. 创建示例邀请奖励配置(可选)
--- 这些数据可以根据实际业务需求进行调整
--- INSERT INTO `kku_urs_promotion_invite_rewards` (`user_id`, `invited_user_id`, `reward_type`, `reward_source`, `reward_amount`, `status`) VALUES
--- (1, 2, 'welcome_bonus', 'system', 100.0000000000, 1);
-
--- 验证数据插入
-SELECT 'URS达人等级配置' as table_name, COUNT(*) as count FROM `kku_urs_promotion_talent_configs`
-UNION ALL
-SELECT 'URS收益分成规则' as table_name, COUNT(*) as count FROM `kku_urs_promotion_profit_rules`;
-
--- 显示插入的配置数据
-SELECT 
-    level,
-    name,
-    direct_count_required,
-    promotion_count_required,
-    profit_rate,
-    status
-FROM `kku_urs_promotion_talent_configs` 
-ORDER BY level;
-
-SELECT 
-    source_type,
-    name,
-    direct_profit_rate,
-    max_indirect_level,
-    status
-FROM `kku_urs_promotion_profit_rules` 
-ORDER BY sort_order;

+ 0 - 71
app/Module/UrsPromotion/Databases/createsql/init_urs_promotion_data.sql

@@ -1,71 +0,0 @@
--- URS推广模块初始化数据SQL
--- 创建时间: 2025-06-15
--- 版本: v2.0.0 (三代推广版本)
-
--- 1. 初始化URS达人等级配置
-INSERT INTO `kku_urs_promotion_talent_configs` (
-    `level`, 
-    `name`, 
-    `direct_count_required`, 
-    `promotion_count_required`, 
-    `promotion_reward_rates`, 
-    `planting_reward_rates`,
-    `description`,
-    `sort_order`,
-    `status`
-) VALUES
--- 0级:非达人
-(0, '非达人', 0, 0, 
- '{"1": 0, "2": 0, "3": 0}', 
- '{"1": 0, "2": 0, "3": 0}',
- '普通用户,无达人等级,无推广收益', 0, 1),
-
--- 1级:初级达人
-(1, 'URS初级达人', 3, 5, 
- '{"1": 0.05, "2": 0.02, "3": 0.01}', 
- '{"1": 0.03, "2": 0.01, "3": 0.005}',
- '初级达人,享有基础推广收益:直推5%,间推2%,三推1%', 1, 1),
-
--- 2级:中级达人
-(2, 'URS中级达人', 8, 15, 
- '{"1": 0.08, "2": 0.04, "3": 0.02}', 
- '{"1": 0.05, "2": 0.02, "3": 0.01}',
- '中级达人,享有更高推广收益:直推8%,间推4%,三推2%', 2, 1),
-
--- 3级:高级达人
-(3, 'URS高级达人', 15, 30, 
- '{"1": 0.12, "2": 0.06, "3": 0.03}', 
- '{"1": 0.08, "2": 0.04, "3": 0.02}',
- '高级达人,享有优质推广收益:直推12%,间推6%,三推3%', 3, 1),
-
--- 4级:资深达人
-(4, 'URS资深达人', 30, 80, 
- '{"1": 0.15, "2": 0.08, "3": 0.04}', 
- '{"1": 0.10, "2": 0.05, "3": 0.025}',
- '资深达人,享有专业推广收益:直推15%,间推8%,三推4%', 4, 1),
-
--- 5级:顶级达人
-(5, 'URS顶级达人', 50, 150, 
- '{"1": 0.20, "2": 0.10, "3": 0.05}', 
- '{"1": 0.15, "2": 0.08, "3": 0.04}',
- '顶级达人,享有最高推广收益:直推20%,间推10%,三推5%', 5, 1);
-
--- 注释说明:
--- promotion_reward_rates: 推广收益分成比例
---   "1": 直推分成比例
---   "2": 间推分成比例  
---   "3": 三推分成比例
--- 
--- planting_reward_rates: 种植收益分成比例
---   "1": 直推分成比例
---   "2": 间推分成比例
---   "3": 三推分成比例
---
--- 收益类型说明:
--- 1. 推广收益(promotion_reward):下级用户进入农场时发放的奖励
--- 2. 种植收益(planting_reward):下级用户收获作物时发放的奖励
---
--- 推荐层级说明:
--- 1. 直推(level=1):用户A直接推荐用户B
--- 2. 间推(level=2):用户A推荐用户B,用户B推荐用户C,A获得C的间推收益
--- 3. 三推(level=3):用户A推荐用户B,用户B推荐用户C,用户C推荐用户D,A获得D的三推收益

+ 0 - 56
app/Module/UrsPromotion/Databases/createsql/migrate_to_dual_id_system.sql

@@ -1,56 +0,0 @@
--- URS推广模块双ID系统迁移脚本
--- 迁移时间: 2025-06-15
--- 版本: v2.1.0
--- 说明: 移除推荐码功能,实现双用户ID系统
-
--- 1. 备份现有数据(如果表存在)
--- CREATE TABLE `kku_urs_promotion_user_referrals_backup` AS SELECT * FROM `kku_urs_promotion_user_referrals`;
--- CREATE TABLE `kku_urs_promotion_user_talents_backup` AS SELECT * FROM `kku_urs_promotion_user_talents`;
--- CREATE TABLE `kku_urs_promotion_profits_backup` AS SELECT * FROM `kku_urs_promotion_profits`;
-
--- 2. 删除推荐码相关表(如果存在)
-DROP TABLE IF EXISTS `kku_urs_promotion_referral_codes`;
-DROP TABLE IF EXISTS `kku_urs_promotion_referral_code_usages`;
-
--- 3. 修改用户推荐关系表结构
-ALTER TABLE `kku_urs_promotion_user_referrals` 
-ADD COLUMN `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID(核心)' AFTER `id`,
-ADD COLUMN `urs_referrer_id` bigint unsigned NOT NULL COMMENT 'URS推荐人ID(核心)' AFTER `referrer_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`);
-
--- 4. 修改达人等级表结构
-ALTER TABLE `kku_urs_promotion_user_talents`
-ADD COLUMN `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID(核心)' AFTER `id`,
-MODIFY COLUMN `user_id` bigint unsigned NOT NULL COMMENT '农场用户ID(辅助)',
-ADD UNIQUE KEY `uk_urs_user_id` (`urs_user_id`);
-
--- 5. 修改收益记录表结构
-ALTER TABLE `kku_urs_promotion_profits`
-ADD COLUMN `urs_user_id` bigint unsigned NOT NULL COMMENT '获得收益的URS用户ID(核心)' AFTER `id`,
-ADD COLUMN `urs_promotion_member_id` bigint unsigned NOT NULL COMMENT '团队成员URS用户ID(核心)' AFTER `promotion_member_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`);
-
--- 6. 数据迁移示例(需要根据实际业务逻辑调整)
--- 注意:以下SQL仅为示例,实际迁移时需要根据URS系统和农场系统的用户ID映射关系进行调整
-
--- 示例:假设urs_user_id = user_id(需要根据实际情况修改)
--- UPDATE `kku_urs_promotion_user_referrals` SET `urs_user_id` = `user_id`, `urs_referrer_id` = `referrer_id`;
--- UPDATE `kku_urs_promotion_user_talents` SET `urs_user_id` = `user_id`;
--- UPDATE `kku_urs_promotion_profits` SET `urs_user_id` = `user_id`, `urs_promotion_member_id` = `promotion_member_id`;
-
--- 7. 验证数据完整性
--- SELECT COUNT(*) as total_referrals FROM `kku_urs_promotion_user_referrals`;
--- SELECT COUNT(*) as total_talents FROM `kku_urs_promotion_user_talents`;
--- SELECT COUNT(*) as total_profits FROM `kku_urs_promotion_profits`;
-
--- 8. 清理备份表(迁移成功后执行)
--- DROP TABLE IF EXISTS `kku_urs_promotion_user_referrals_backup`;
--- DROP TABLE IF EXISTS `kku_urs_promotion_user_talents_backup`;
--- DROP TABLE IF EXISTS `kku_urs_promotion_profits_backup`;

+ 0 - 149
app/Module/UrsPromotion/Databases/createsql/migrate_to_separated_mapping_v3.sql

@@ -1,149 +0,0 @@
--- URS推广模块分离映射关系迁移脚本
--- 迁移时间: 2025-06-15
--- 版本: v3.0.0 (分离映射关系版本)
--- 说明: 创建独立的用户映射表,推荐关系只存储URS用户ID
-
--- 1. 备份现有数据(如果表存在)
--- CREATE TABLE `kku_urs_promotion_user_referrals_backup_v3` AS SELECT * FROM `kku_urs_promotion_user_referrals`;
--- CREATE TABLE `kku_urs_promotion_user_talents_backup_v3` AS SELECT * FROM `kku_urs_promotion_user_talents`;
--- CREATE TABLE `kku_urs_promotion_profits_backup_v3` AS SELECT * FROM `kku_urs_promotion_profits`;
-
--- 2. 创建用户映射表
-CREATE TABLE `kku_urs_promotion_user_mappings` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID',
-  `user_id` bigint unsigned NOT NULL COMMENT '农场用户ID',
-  `mapping_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '映射建立时间(用户进入农场时间)',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1有效,0无效',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  UNIQUE KEY `uk_user_id` (`user_id`),
-  KEY `idx_status` (`status`),
-  KEY `idx_mapping_time` (`mapping_time`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS用户与农场用户关系映射表';
-
--- 3. 从现有数据中提取映射关系(如果表存在且有数据)
--- INSERT INTO `kku_urs_promotion_user_mappings` (`urs_user_id`, `user_id`, `mapping_time`, `status`)
--- SELECT DISTINCT `urs_user_id`, `user_id`, `created_at`, `status`
--- FROM `kku_urs_promotion_user_referrals`
--- WHERE `urs_user_id` IS NOT NULL AND `user_id` IS NOT NULL
--- ON DUPLICATE KEY UPDATE 
---   `mapping_time` = VALUES(`mapping_time`),
---   `status` = VALUES(`status`);
-
--- 4. 修改推荐关系表结构(移除农场用户ID字段)
--- 注意:这会删除数据,请确保已备份
-DROP TABLE IF EXISTS `kku_urs_promotion_user_referrals_temp`;
-CREATE TABLE `kku_urs_promotion_user_referrals_temp` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID',
-  `urs_referrer_id` bigint unsigned NOT NULL COMMENT 'URS推荐人ID',
-  `referral_code` varchar(32) DEFAULT NULL COMMENT '使用的推荐码(历史记录)',
-  `referral_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '推荐时间',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1有效,0无效',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  KEY `idx_urs_referrer_id` (`urs_referrer_id`),
-  KEY `idx_referral_code` (`referral_code`),
-  KEY `idx_status` (`status`),
-  KEY `idx_referral_time` (`referral_time`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS用户推荐关系表';
-
--- 迁移推荐关系数据
--- INSERT INTO `kku_urs_promotion_user_referrals_temp` 
--- (`urs_user_id`, `urs_referrer_id`, `referral_code`, `referral_time`, `status`, `created_at`, `updated_at`)
--- SELECT `urs_user_id`, `urs_referrer_id`, `referral_code`, `referral_time`, `status`, `created_at`, `updated_at`
--- FROM `kku_urs_promotion_user_referrals`
--- WHERE `urs_user_id` IS NOT NULL AND `urs_referrer_id` IS NOT NULL;
-
--- 替换原表
--- DROP TABLE `kku_urs_promotion_user_referrals`;
--- RENAME TABLE `kku_urs_promotion_user_referrals_temp` TO `kku_urs_promotion_user_referrals`;
-
--- 5. 修改达人等级表结构(移除农场用户ID字段)
-DROP TABLE IF EXISTS `kku_urs_promotion_user_talents_temp`;
-CREATE TABLE `kku_urs_promotion_user_talents_temp` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT 'URS用户ID',
-  `talent_level` tinyint NOT NULL DEFAULT '0' COMMENT 'URS达人等级:0无,1初级,2中级,3高级,4资深,5顶级',
-  `direct_count` int NOT NULL DEFAULT '0' COMMENT '直推人数',
-  `indirect_count` int NOT NULL DEFAULT '0' COMMENT '间推人数',
-  `third_count` int NOT NULL DEFAULT '0' COMMENT '三推人数',
-  `promotion_count` int NOT NULL DEFAULT '0' COMMENT '团队总人数',
-  `last_level_update_time` timestamp NULL DEFAULT NULL COMMENT '最后等级更新时间',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_urs_user_id` (`urs_user_id`),
-  KEY `idx_talent_level` (`talent_level`),
-  KEY `idx_direct_count` (`direct_count`),
-  KEY `idx_promotion_count` (`promotion_count`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS达人等级表';
-
--- 迁移达人等级数据
--- INSERT INTO `kku_urs_promotion_user_talents_temp`
--- (`urs_user_id`, `talent_level`, `direct_count`, `indirect_count`, `third_count`, `promotion_count`, `last_level_update_time`, `created_at`, `updated_at`)
--- SELECT `urs_user_id`, `talent_level`, `direct_count`, `indirect_count`, `third_count`, `promotion_count`, `last_level_update_time`, `created_at`, `updated_at`
--- FROM `kku_urs_promotion_user_talents`
--- WHERE `urs_user_id` IS NOT NULL;
-
--- 替换原表
--- DROP TABLE `kku_urs_promotion_user_talents`;
--- RENAME TABLE `kku_urs_promotion_user_talents_temp` TO `kku_urs_promotion_user_talents`;
-
--- 6. 修改收益记录表结构(移除农场用户ID字段,添加farm_user_id冗余字段)
-DROP TABLE IF EXISTS `kku_urs_promotion_profits_temp`;
-CREATE TABLE `kku_urs_promotion_profits_temp` (
-  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-  `urs_user_id` bigint unsigned NOT NULL COMMENT '获得收益的URS用户ID',
-  `urs_promotion_member_id` bigint unsigned NOT NULL COMMENT '团队成员URS用户ID(产生收益的用户)',
-  `source_id` bigint unsigned NOT NULL COMMENT '收益来源ID',
-  `source_type` varchar(32) NOT NULL COMMENT '收益来源类型',
-  `profit_type` varchar(32) NOT NULL COMMENT '收益类型:promotion_reward推广收益,planting_reward种植收益',
-  `relation_level` tinyint NOT NULL DEFAULT '1' COMMENT '推荐层级:1直推,2间推,3三推',
-  `original_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '原始收益金额',
-  `profit_amount` decimal(30,10) NOT NULL DEFAULT '0.0000000000' COMMENT '分成收益金额',
-  `profit_rate` decimal(8,6) NOT NULL DEFAULT '0.000000' COMMENT '分成比例',
-  `talent_level` tinyint NOT NULL DEFAULT '0' COMMENT '获得收益时的达人等级',
-  `farm_user_id` bigint unsigned DEFAULT NULL COMMENT '实际发放奖励的农场用户ID(冗余字段,便于查询)',
-  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1正常,0取消,2跳过(用户未进入农场)',
-  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  PRIMARY KEY (`id`),
-  KEY `idx_urs_user_id` (`urs_user_id`),
-  KEY `idx_urs_promotion_member_id` (`urs_promotion_member_id`),
-  KEY `idx_farm_user_id` (`farm_user_id`),
-  KEY `idx_source` (`source_type`,`source_id`),
-  KEY `idx_profit_type` (`profit_type`),
-  KEY `idx_relation_level` (`relation_level`),
-  KEY `idx_created_at` (`created_at`),
-  KEY `idx_status` (`status`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS团队收益记录表';
-
--- 迁移收益记录数据
--- INSERT INTO `kku_urs_promotion_profits_temp`
--- (`urs_user_id`, `urs_promotion_member_id`, `source_id`, `source_type`, `profit_type`, `relation_level`, 
---  `original_amount`, `profit_amount`, `profit_rate`, `talent_level`, `farm_user_id`, `status`, `created_at`, `updated_at`)
--- SELECT `urs_user_id`, `urs_promotion_member_id`, `source_id`, `source_type`, `profit_type`, `relation_level`,
---        `original_amount`, `profit_amount`, `profit_rate`, `talent_level`, `user_id`, `status`, `created_at`, `updated_at`
--- FROM `kku_urs_promotion_profits`
--- WHERE `urs_user_id` IS NOT NULL AND `urs_promotion_member_id` IS NOT NULL;
-
--- 替换原表
--- DROP TABLE `kku_urs_promotion_profits`;
--- RENAME TABLE `kku_urs_promotion_profits_temp` TO `kku_urs_promotion_profits`;
-
--- 7. 验证数据完整性
--- SELECT COUNT(*) as mapping_count FROM `kku_urs_promotion_user_mappings`;
--- SELECT COUNT(*) as referral_count FROM `kku_urs_promotion_user_referrals`;
--- SELECT COUNT(*) as talent_count FROM `kku_urs_promotion_user_talents`;
--- SELECT COUNT(*) as profit_count FROM `kku_urs_promotion_profits`;
-
--- 8. 清理备份表(迁移成功后执行)
--- DROP TABLE IF EXISTS `kku_urs_promotion_user_referrals_backup_v3`;
--- DROP TABLE IF EXISTS `kku_urs_promotion_user_talents_backup_v3`;
--- DROP TABLE IF EXISTS `kku_urs_promotion_profits_backup_v3`;

+ 0 - 108
app/Module/UrsPromotion/Databases/createsql/upgrade_to_v3_completed.sql

@@ -1,108 +0,0 @@
--- URS推广模块数据库升级完成记录
--- 升级时间: 2025-06-15 18:01
--- 升级版本: v3.0.0 (分离映射关系版本)
--- 升级说明: 将字段名从user_id/referrer_id/promotion_member_id统一改为urs_user_id/urs_referrer_id/urs_promotion_member_id
-
--- ========================================
--- 升级内容概述
--- ========================================
-
--- 1. kku_urs_promotion_profits表升级
---    - 添加字段: urs_user_id, urs_promotion_member_id, farm_user_id
---    - 删除字段: user_id, promotion_member_id
---    - 数据迁移: 将旧字段数据复制到新字段
---    - 索引重建: 删除旧索引,添加新索引
-
--- 2. kku_urs_promotion_user_referrals表升级
---    - 添加字段: urs_user_id, urs_referrer_id
---    - 删除字段: user_id, referrer_id
---    - 数据迁移: 将旧字段数据复制到新字段
---    - 索引重建: 删除旧索引,添加新索引
-
--- 3. kku_urs_promotion_user_talents表升级
---    - 添加字段: urs_user_id
---    - 删除字段: user_id
---    - 数据迁移: 将旧字段数据复制到新字段
---    - 索引重建: 删除旧索引,添加新索引
-
--- 4. 模型关系修复
---    - UrsProfit模型: 修复关系定义,使用新的字段名
---    - UrsUserTalent模型: 修复关系定义,使用新的字段名
---    - 添加新的关系方法: userMapping(), promotionMemberMapping(), farmUser()
-
--- ========================================
--- 升级后的表结构验证
--- ========================================
-
--- 验证kku_urs_promotion_user_mappings表 (无变化)
--- 字段: id, urs_user_id, user_id, mapping_time, status, created_at, updated_at
-
--- 验证kku_urs_promotion_user_referrals表 (已升级)
--- 字段: id, urs_user_id, urs_referrer_id, referral_code, referral_time, status, created_at, updated_at
-
--- 验证kku_urs_promotion_user_talents表 (已升级)
--- 字段: id, urs_user_id, talent_level, direct_count, indirect_count, third_count, promotion_count, last_level_update_time, created_at, updated_at
-
--- 验证kku_urs_promotion_profits表 (已升级)
--- 字段: id, urs_user_id, urs_promotion_member_id, source_id, source_type, profit_type, relation_level, original_amount, profit_amount, profit_rate, reward_group_id, talent_level, farm_user_id, status, created_at, updated_at
-
--- 验证kku_urs_promotion_talent_configs表 (无变化)
--- 字段: id, level, name, direct_count_required, promotion_count_required, icon, description, sort_order, status, created_at, updated_at, promotion_direct_group, promotion_indirect_group, promotion_third_group, planting_direct_rate, planting_indirect_rate, planting_third_rate
-
--- ========================================
--- 升级验证查询
--- ========================================
-
--- 验证所有表是否存在
-SELECT 'Tables Check' as check_type;
-SHOW TABLES LIKE 'kku_urs_promotion_%';
-
--- 验证关键字段是否存在
-SELECT 'Fields Check' as check_type;
-SELECT 
-    'user_mappings' as table_name,
-    COUNT(*) as field_count
-FROM information_schema.COLUMNS 
-WHERE TABLE_SCHEMA = DATABASE() 
-  AND TABLE_NAME = 'kku_urs_promotion_user_mappings'
-  AND COLUMN_NAME IN ('urs_user_id', 'user_id');
-
-SELECT 
-    'user_referrals' as table_name,
-    COUNT(*) as field_count
-FROM information_schema.COLUMNS 
-WHERE TABLE_SCHEMA = DATABASE() 
-  AND TABLE_NAME = 'kku_urs_promotion_user_referrals'
-  AND COLUMN_NAME IN ('urs_user_id', 'urs_referrer_id');
-
-SELECT 
-    'user_talents' as table_name,
-    COUNT(*) as field_count
-FROM information_schema.COLUMNS 
-WHERE TABLE_SCHEMA = DATABASE() 
-  AND TABLE_NAME = 'kku_urs_promotion_user_talents'
-  AND COLUMN_NAME = 'urs_user_id';
-
-SELECT 
-    'profits' as table_name,
-    COUNT(*) as field_count
-FROM information_schema.COLUMNS 
-WHERE TABLE_SCHEMA = DATABASE() 
-  AND TABLE_NAME = 'kku_urs_promotion_profits'
-  AND COLUMN_NAME IN ('urs_user_id', 'urs_promotion_member_id', 'farm_user_id');
-
--- ========================================
--- 升级状态
--- ========================================
--- 状态: 已完成
--- 数据完整性: 已验证
--- 模型关系: 已修复
--- 索引优化: 已完成
--- 备份状态: 用户已备份数据库
-
--- 注意事项:
--- 1. 本次升级已完成数据迁移,旧字段已删除
--- 2. 模型关系已更新,使用新的字段名
--- 3. 所有索引已重建,查询性能不受影响
--- 4. 升级过程中保持了数据完整性
--- 5. 建议在生产环境使用前进行充分测试