|
|
@@ -0,0 +1,37 @@
|
|
|
+# URS推荐关系同步机制
|
|
|
+
|
|
|
+## 核心流程
|
|
|
+
|
|
|
+```
|
|
|
+用户登录 → 创建用户映射 → 请求URS获取上级关系 → 验证和创建推荐关系 → 生成关系缓存 → 更新团队统计 → 触发事件
|
|
|
+```
|
|
|
+
|
|
|
+### 1. 创建用户映射
|
|
|
+- 建立URS用户ID与农场用户ID的映射关系
|
|
|
+- 为后续推荐关系提供农场用户ID
|
|
|
+
|
|
|
+### 2. 请求URS获取上级关系
|
|
|
+- 调用 `UrsService::getUserTeam($ursUserId)`
|
|
|
+- URS返回20级上级关系:level1、level2、level3.....
|
|
|
+
|
|
|
+### 3. 验证和创建推荐关系
|
|
|
+- **创建记录**: 补充缺失的推荐关系记录(20代关系)
|
|
|
+- **数据表**: `urs_promotion_user_referrals`
|
|
|
+
|
|
|
+### 4. 生成关系缓存
|
|
|
+- 创建直接关系缓存(depth=1)
|
|
|
+- 继承推荐人的上级关系缓存(depth=2,3,4...最多20级)
|
|
|
+- 存储到 `urs_promotion_user_relation_cache` 表
|
|
|
+
|
|
|
+### 5. 更新团队统计
|
|
|
+- 更新推荐人的团队统计数据
|
|
|
+- 包含直推、间推、三推和20代总人数
|
|
|
+- 存储到 `urs_promotion_user_talents` 表
|
|
|
+
|
|
|
+### 6. 触发事件
|
|
|
+- 条件触发 `UrsReferralCreatedEvent` 事件(双方都进入农场时)
|
|
|
+- 用于达人等级向上传播更新
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 详细流程
|