190609-修改urs_promotion_user_talents表字段名.md 4.1 KB

修改 urs_promotion_user_talents 表字段名:urs_user_id 改为 user_id

任务概述

urs_promotion_user_talents 表的 urs_user_id 字段改为 user_id,并修复所有相关的创建、查询代码。

执行时间

2025-06-19 06:09

修改内容

1. 数据库表结构修改

ALTER TABLE `kku_urs_promotion_user_talents` CHANGE `urs_user_id` `user_id` int(11) NOT NULL COMMENT '用户ID';

2. 模型层修改

  • 文件: app/Module/UrsPromotion/Models/UrsUserTalent.php
  • 修改内容:
    • 更新 @property 注释:urs_user_iduser_id
    • 更新 $fillable 数组中的字段名
    • 更新 $casts 数组中的字段名
    • 修改 userMapping() 关联关系的外键字段

3. Service 层修改

  • 文件: app/Module/UrsPromotion/Services/UrsTalentService.php
  • 修改内容:
    • firstOrCreate() 查询条件:['urs_user_id' => $ursUserId]['user_id' => $ursUserId]
    • where() 查询条件:where('urs_user_id', $ursUserId)where('user_id', $ursUserId)

4. 后台管理控制器修改

  • 文件: app/Module/UrsPromotion/AdminControllers/UrsUserTalentController.php
  • 修改内容:
    • 列表页面字段显示:urs_user_iduser_id
    • 链接参数:urs_user_id=user_id=
    • 详情页面链接生成
    • 表单字段名称
    • 批量操作中的字段引用
    • 修复详情页面推荐关系树显示功能

5. DTO 层修改

  • 文件: app/Module/UrsPromotion/Dtos/UrsUserTalentDto.php
  • 修改内容:
    • fromModel() 方法中的字段映射:$model->urs_user_id$model->user_id

6. 其他服务修改

  • 文件: app/Module/UrsPromotion/Services/UrsRewardDistributionService.php
  • 修改内容:
    • 查询条件:where('urs_user_id', $ursUserId)where('user_id', $ursUserId)

7. 后台管理 Actions 修改

  • 文件: app/Module/UrsPromotion/AdminControllers/Actions/UpdateTalentAction.php
  • 修改内容:

    • 服务调用:$talent->urs_user_id$talent->user_id
  • 文件: app/Module/UrsPromotion/AdminControllers/Actions/BatchUpdateTalentAction.php

  • 修改内容:

    • 字段提取:pluck('urs_user_id')pluck('user_id')
    • 查询条件:where('urs_user_id', $ursUserId)where('user_id', $ursUserId)

测试验证

1. 数据库表结构验证

DESCRIBE kku_urs_promotion_user_talents;

确认字段名已成功修改为 user_id

2. 模型功能测试

use App\Module\UrsPromotion\Models\UrsUserTalent;
$talent = UrsUserTalent::first();
echo $talent->user_id; // 正常输出用户ID

3. Service 层测试

use App\Module\UrsPromotion\Services\UrsTalentService;
$dto = UrsTalentService::getTalentInfo(10003);
echo $dto->ursUserId; // 正常输出用户ID

4. 后台管理界面测试

  • 访问 http://kku_laravel.local.gd/admin/urs-promotion/user-talents
  • 列表页面正常显示,字段名为"用户ID"
  • 详情页面正常显示,推荐关系树功能正常
  • 链接参数正确使用 user_id

影响范围

  • ✅ 数据库表结构
  • ✅ UrsUserTalent 模型
  • ✅ UrsTalentService 服务
  • ✅ 后台管理控制器
  • ✅ DTO 数据传输对象
  • ✅ 奖励分发服务
  • ✅ 后台管理操作

注意事项

  1. 此修改不影响业务逻辑,仅是字段名称的统一
  2. 所有相关查询和创建操作已同步更新
  3. 后台管理界面显示和链接已正确修改
  4. 推荐关系树功能已修复并正常工作

Git 提交信息

修改 urs_promotion_user_talents 表字段名:urs_user_id 改为 user_id

- 修改数据库表结构:将 urs_user_id 字段改为 user_id
- 更新 UrsUserTalent 模型:字段定义、fillable、casts 和关联关系
- 修改 UrsTalentService 中的查询条件
- 更新后台管理控制器中的字段引用和链接
- 修改 UrsUserTalentDto 中的字段映射
- 更新 UrsRewardDistributionService 中的查询
- 修复后台管理 Actions 中的字段引用
- 修复详情页面的推荐关系树显示功能

完成状态

✅ 任务已完成,所有相关代码已修改并测试通过