|
|
@@ -1,4 +1,4 @@
|
|
|
-# URS推广模块数据库设计
|
|
|
+# URS推广模块数据库设计 (三代推广版本)
|
|
|
|
|
|
## 1. 数据库表概览
|
|
|
|
|
|
@@ -9,11 +9,14 @@ URS推广模块包含以下核心数据表:
|
|
|
3. **urs_promotion_profits** - URS团队收益记录表
|
|
|
4. **urs_promotion_referral_codes** - URS推荐码表
|
|
|
5. **urs_promotion_talent_configs** - URS达人等级配置表
|
|
|
-6. **urs_promotion_profit_rules** - URS收益分成规则表
|
|
|
-7. **urs_promotion_referral_changes** - URS推荐关系修改记录表
|
|
|
-8. **urs_promotion_user_relation_cache** - URS用户关系缓存表
|
|
|
-9. **urs_promotion_invite_rewards** - URS邀请奖励记录表
|
|
|
-10. **urs_promotion_referral_code_usages** - URS邀请码使用记录表
|
|
|
+
|
|
|
+## 1.1 版本更新说明
|
|
|
+
|
|
|
+**v2.0.0 (三代推广版本) 主要变更:**
|
|
|
+- 支持三代推广关系(直推、间推、三推)
|
|
|
+- 新增两种收益类型:推广收益和种植收益
|
|
|
+- 达人等级配置支持不同收益类型的分成比例
|
|
|
+- 优化数据库表结构,提升查询性能
|
|
|
|
|
|
## 2. 表结构详细设计
|
|
|
|
|
|
@@ -49,6 +52,8 @@ URS推广模块包含以下核心数据表:
|
|
|
| user_id | bigint unsigned | - | - | 用户ID |
|
|
|
| talent_level | tinyint | - | 0 | URS达人等级:0无,1初级,2中级,3高级,4资深,5顶级 |
|
|
|
| direct_count | int | - | 0 | 直推人数 |
|
|
|
+| indirect_count | int | - | 0 | 间推人数 |
|
|
|
+| third_count | int | - | 0 | 三推人数 |
|
|
|
| promotion_count | int | - | 0 | 团队总人数 |
|
|
|
| last_level_update_time | timestamp | - | NULL | 最后等级更新时间 |
|
|
|
| created_at | timestamp | - | CURRENT_TIMESTAMP | 创建时间 |
|
|
|
@@ -72,8 +77,8 @@ URS推广模块包含以下核心数据表:
|
|
|
| promotion_member_id | bigint unsigned | - | - | 团队成员ID(产生收益的用户) |
|
|
|
| source_id | bigint unsigned | - | - | 收益来源ID |
|
|
|
| source_type | varchar | 32 | - | 收益来源类型 |
|
|
|
-| relation_type | varchar | 16 | - | 关系类型:direct直推,indirect间推 |
|
|
|
-| relation_level | tinyint | - | 1 | 推荐层级:1直推,2-20间推 |
|
|
|
+| profit_type | varchar | 32 | - | 收益类型:promotion_reward推广收益,planting_reward种植收益 |
|
|
|
+| relation_level | tinyint | - | 1 | 推荐层级:1直推,2间推,3三推 |
|
|
|
| original_amount | decimal | 30,10 | 0.0000000000 | 原始收益金额 |
|
|
|
| profit_amount | decimal | 30,10 | 0.0000000000 | 分成收益金额 |
|
|
|
| profit_rate | decimal | 8,6 | 0.000000 | 分成比例 |
|
|
|
@@ -87,8 +92,10 @@ URS推广模块包含以下核心数据表:
|
|
|
- KEY `idx_user_id` (`user_id`)
|
|
|
- KEY `idx_promotion_member_id` (`promotion_member_id`)
|
|
|
- KEY `idx_source` (`source_type`,`source_id`)
|
|
|
-- KEY `idx_relation_type` (`relation_type`)
|
|
|
+- KEY `idx_profit_type` (`profit_type`)
|
|
|
+- KEY `idx_relation_level` (`relation_level`)
|
|
|
- KEY `idx_created_at` (`created_at`)
|
|
|
+- KEY `idx_status` (`status`)
|
|
|
|
|
|
### 2.4 URS推荐码表 (urs_promotion_referral_codes)
|
|
|
|
|
|
@@ -125,8 +132,8 @@ URS推广模块包含以下核心数据表:
|
|
|
| name | varchar | 32 | - | 等级名称 |
|
|
|
| direct_count_required | int | - | 0 | 所需直推人数 |
|
|
|
| promotion_count_required | int | - | 0 | 所需团队总人数 |
|
|
|
-| profit_rate | decimal | 8,6 | 0.000000 | 间推分成比例 |
|
|
|
-| benefits | json | - | NULL | 等级权益JSON |
|
|
|
+| promotion_reward_rates | json | - | NULL | 推广收益分成比例配置 |
|
|
|
+| planting_reward_rates | json | - | NULL | 种植收益分成比例配置 |
|
|
|
| icon | varchar | 255 | NULL | 等级图标 |
|
|
|
| description | text | - | NULL | 等级描述 |
|
|
|
| sort_order | int | - | 0 | 排序权重 |
|
|
|
@@ -140,6 +147,11 @@ URS推广模块包含以下核心数据表:
|
|
|
- KEY `idx_sort_order` (`sort_order`)
|
|
|
- KEY `idx_status` (`status`)
|
|
|
|
|
|
+**分成比例配置说明:**
|
|
|
+- `promotion_reward_rates`: 推广收益分成比例,JSON格式:`{"1": 0.05, "2": 0.03, "3": 0.01}`
|
|
|
+- `planting_reward_rates`: 种植收益分成比例,JSON格式:`{"1": 0.05, "2": 0.03, "3": 0.01}`
|
|
|
+- 键值对应推荐层级:1=直推,2=间推,3=三推
|
|
|
+
|
|
|
## 3. 索引设计说明
|
|
|
|
|
|
### 3.1 主要查询场景
|
|
|
@@ -171,21 +183,52 @@ URS推广模块包含以下核心数据表:
|
|
|
|
|
|
### 5.1 URS达人等级配置初始化
|
|
|
```sql
|
|
|
-INSERT INTO `kku_urs_promotion_talent_configs` (`level`, `name`, `direct_count_required`, `promotion_count_required`, `profit_rate`, `sort_order`) VALUES
|
|
|
-(0, '非URS达人', 0, 0, 0.000000, 0),
|
|
|
-(1, 'URS初级达人', 5, 10, 0.010000, 1),
|
|
|
-(2, 'URS中级达人', 10, 30, 0.015000, 2),
|
|
|
-(3, 'URS高级达人', 20, 100, 0.020000, 3),
|
|
|
-(4, 'URS资深达人', 50, 300, 0.025000, 4),
|
|
|
-(5, 'URS顶级达人', 100, 1000, 0.030000, 5);
|
|
|
-```
|
|
|
-
|
|
|
-### 5.2 URS收益分成规则初始化
|
|
|
-```sql
|
|
|
-INSERT INTO `kku_urs_promotion_profit_rules` (`source_type`, `name`, `direct_profit_rate`, `max_indirect_level`, `sort_order`) VALUES
|
|
|
-('urs_farm_harvest', 'URS农场收获', 0.050000, 20, 1),
|
|
|
-('urs_task_complete', 'URS任务完成', 0.030000, 10, 2),
|
|
|
-('urs_item_sell', 'URS物品出售', 0.020000, 5, 3);
|
|
|
+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}',
|
|
|
+ '初级达人,享有基础推广收益', 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}',
|
|
|
+ '中级达人,享有更高推广收益', 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}',
|
|
|
+ '高级达人,享有优质推广收益', 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}',
|
|
|
+ '资深达人,享有专业推广收益', 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}',
|
|
|
+ '顶级达人,享有最高推广收益', 5, 1);
|
|
|
```
|
|
|
|
|
|
## 6. 性能优化建议
|