dongasai 61601c69ba 1 há 6 meses atrás
..
TestRelationCacheFixCommand.php 61601c69ba 1 há 6 meses atrás
UrsPartnerDividendCommand.php f44d0e5133 分红发放 há 6 meses atrás
UrsRebuildRelationCacheCommand.php 79d5be90f9 改进URS关系缓存重建命令和逻辑 há 6 meses atrás
UrsReferralSyncCommand.php 5c74e5251f 农场注册/登陆 há 6 meses atrás
UrsTestRelationCacheCommand.php 62fd04716d 实现URS推广模块多级关系缓存机制 há 6 meses atrás
UrsUpdateActiveStatusCommand.php 3ff81ade0f 实现URS推广模块活跃用户功能 há 6 meses atrás
UrsUpdateTalentLevelCommand.php c323b74e35 1 há 6 meses atrás
readme.md c323b74e35 1 há 6 meses atrás

readme.md

Urs推广模块命令行工具

URS用户达人等级更新命令 (UrsUpdateTalentLevelCommand)

功能描述

用于计算并更新用户的达人等级的命令行工具。支持更新指定用户或批量更新所有用户的达人等级。

命令签名

php artisan urs:update-talent-level [user_id] [options]

参数说明

  • user_id (可选): 农场用户ID,不指定则更新所有用户

选项说明

  • --batch-size=100: 批处理大小,默认100
  • --force: 强制重新计算等级
  • --dry-run: 仅模拟运行,不实际执行更新

使用示例

1. 更新指定用户

# 更新用户ID为12345的达人等级
php artisan urs:update-talent-level 12345

# 强制重新计算等级
php artisan urs:update-talent-level 12345 --force

# 模拟运行,查看将要执行的操作
php artisan urs:update-talent-level 12345 --dry-run

2. 批量更新所有用户

# 更新所有用户的达人等级
php artisan urs:update-talent-level

# 指定批处理大小为50
php artisan urs:update-talent-level --batch-size=50

# 强制重新计算所有用户等级
php artisan urs:update-talent-level --force

# 模拟运行批量更新
php artisan urs:update-talent-level --dry-run

技术实现

  1. 调用 UrsTalentService::updateTalentLevel() 方法
  2. 使用 UrsUserMappingService 获取用户映射关系
  3. 通过 UrsReferralServiceUrsActiveUserService 获取团队统计
  4. 支持批量处理,避免内存溢出
  5. 提供详细的进度显示和错误处理

注意事项

  • 只有有URS映射关系的用户才能更新达人等级
  • 会自动计算团队统计数据并更新等级
  • 批量更新时会显示进度条和统计结果
  • 所有操作都会记录详细日志

URS推荐关系同步命令 (UrsReferralSyncCommand)

功能描述

用于从URS获取用户上级关系,同步到本地数据库的命令行工具。支持同步指定用户或所有用户的推荐关系。

命令签名

php artisan urs:sync-referral [urs_user_id] [options]

参数说明

  • urs_user_id (可选): URS用户ID,不指定则同步所有用户

选项说明

  • --batch-size=100: 批处理大小,默认100
  • --force: 强制重新同步已存在的关系
  • --dry-run: 仅模拟运行,不实际执行同步

使用示例

1. 同步指定用户

# 同步URS用户ID为1001的推荐关系
php artisan urs:sync-referral 1001

# 强制重新同步已存在的关系
php artisan urs:sync-referral 1001 --force

# 模拟运行,查看将要执行的操作
php artisan urs:sync-referral 1001 --dry-run

2. 批量同步所有用户

# 同步所有用户的推荐关系
php artisan urs:sync-referral

# 指定批处理大小为50
php artisan urs:sync-referral --batch-size=50

# 强制重新同步所有用户
php artisan urs:sync-referral --force

# 模拟运行批量同步
php artisan urs:sync-referral --dry-run

技术实现

  1. 调用 \App\Module\AppGame\Handler\Public\Login4uHandler::syncReferralRelations 方法
  2. 使用 UrsUserMappingService 获取用户映射关系
  3. 通过 UrsService::getUserTeam() 获取URS上级关系
  4. 支持批量处理,避免内存溢出
  5. 提供详细的进度显示和错误处理

注意事项

  • 只有已进入农场的用户才能同步推荐关系
  • 已存在的推荐关系默认会跳过,除非使用 --force 选项
  • 批量同步时会显示进度条和统计结果
  • 所有操作都会记录详细日志