161149-URS推广模块后台Action按钮功能.md 4.0 KB

URS推广模块后台Action按钮功能

任务概述

为URS推广模块的后台管理页面添加Action按钮功能,参考物品模块的实现方式,提供更便捷的操作功能。

实现内容

1. 创建Action类目录结构

app/Module/UrsPromotion/AdminControllers/Actions/
├── UpdateTalentAction.php          # 更新单个用户达人等级
├── BatchUpdateTalentAction.php     # 批量更新达人等级
├── ViewSourceDetailAction.php      # 查看收益来源详情
├── RecalculateProfitAction.php     # 重新计算收益
├── ViewReferralTreeAction.php      # 查看推荐关系树
├── ValidateReferralAction.php      # 验证推荐关系
├── SyncUserInfoAction.php          # 同步用户信息
└── ValidateMappingAction.php       # 验证映射关系

2. 各控制器Action功能

UrsUserTalentController (达人等级管理)

  • UpdateTalentAction: 更新单个用户达人等级
    • 调用UrsTalentService::updateUserTalent()
    • 显示等级变化信息
    • 支持等级名称显示
  • BatchUpdateTalentAction: 批量更新所有用户达人等级
    • 工具栏按钮,支持批量操作
    • 显示进度和结果统计
    • 添加确认对话框

UrsProfitController (收益记录管理)

  • ViewSourceDetailAction: 查看收益来源详情
    • 根据source_type跳转到对应详情页
    • 支持land_harvest、user_register、promotion_reward等类型
    • 只对有来源信息的记录显示
  • RecalculateProfitAction: 重新计算收益
    • 重新计算分成金额和比例
    • 显示计算前后的变化
    • 只对正常状态记录可用

UrsUserReferralController (推荐关系管理)

  • ViewReferralTreeAction: 查看推荐关系树
    • 显示三级推荐关系树结构
    • 包含直推、间推、三推用户信息
    • 支持农场用户信息显示
    • 使用Modal弹窗展示
  • ValidateReferralAction: 验证推荐关系
    • 验证推荐关系有效性
    • 更新状态并显示验证结果
    • 提供详细的验证信息

UrsUserMappingController (用户绑定关系管理)

  • SyncUserInfoAction: 同步用户信息
    • 从URS系统同步用户信息到本地
    • 显示更新字段和同步时间
    • 只对有效映射关系可用
  • ValidateMappingAction: 验证映射关系
    • 验证URS用户与农场用户的映射有效性
    • 更新状态并显示验证结果
    • 提供详细的验证信息

3. 技术实现特点

Action类设计

  • 继承自UCore\DcatAdmin\RowActionHandlerDcat\Admin\Grid\Tools\AbstractTool
  • 实现allowed()方法控制按钮显示条件
  • 实现handle()方法处理具体业务逻辑
  • 支持确认对话框和响应消息

控制器集成

  • 移除$grid->disableActions()调用,确保操作列显示
  • $grid->actions()中添加自定义Action
  • 为批量操作添加路由方法和注解

用户体验优化

  • 提供中文操作提示和确认对话框
  • 显示操作结果和详细信息
  • 支持页面刷新和状态更新
  • 错误处理和异常捕获

4. 修复的问题

  • 移除了错误的$grid->disableActions()调用
  • 确保所有控制器的操作列正常显示
  • 修复Action按钮不显示的问题

测试验证

通过浏览器测试验证了所有页面的Action按钮功能:

  1. ✅ URS达人等级页面 - 显示"更新等级"和"批量更新达人等级"按钮
  2. ✅ URS收益记录页面 - 显示"查看来源"和"重新计算"按钮
  3. ✅ URS推荐关系页面 - 显示"关系树"和"验证关系"按钮
  4. ✅ URS用户绑定关系页面 - 显示"同步信息"和"验证映射"按钮

技术要点

  • 参考物品模块的Action实现模式
  • 使用Dcat Admin的Action机制
  • 支持行级操作和工具栏操作
  • 提供丰富的用户交互体验
  • 遵循模块化设计原则

后续建议

  1. 可以根据实际使用情况调整Action的显示条件
  2. 可以添加更多的批量操作功能
  3. 可以优化Action的响应速度和用户体验
  4. 可以添加操作日志记录功能