Skip to content

返回用户信息,增加了avatarId#116

Merged
DevVoyagerNext merged 2 commits intomainfrom
feature/user
Mar 2, 2026
Merged

返回用户信息,增加了avatarId#116
DevVoyagerNext merged 2 commits intomainfrom
feature/user

Conversation

@DevVoyagerNext
Copy link
Copy Markdown
Collaborator

@DevVoyagerNext DevVoyagerNext commented Mar 2, 2026

返回用户信息,增加了avatarId

Summary by CodeRabbit

发布说明

  • 新增功能
    • 用户信息响应中新增头像ID字段,用于标识和跟踪用户头像。此字段在用户档案查询、登录、注册等所有相关接口中返回,提供更完整的用户数据,增强头像管理能力。

@DevVoyagerNext DevVoyagerNext merged commit ed1a4dc into main Mar 2, 2026
3 of 4 checks passed
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 2, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1ad5629 and d5c1598.

⛔ Files ignored due to path filters (2)
  • app/user/rpc/pb/pb/user.pb.go is excluded by !**/*.pb.go, !**/*.pb.go
  • app/user/rpc/pb/pb/user_grpc.pb.go is excluded by !**/*.pb.go, !**/*.pb.go, !**/*_grpc.pb.go
📒 Files selected for processing (8)
  • app/user/api/desc/user.api
  • app/user/api/internal/logic/user/get_user_info_logic.go
  • app/user/api/internal/logic/user/update_user_info_logic.go
  • app/user/api/internal/types/types.go
  • app/user/rpc/internal/logic/userbasicservice/get_user_info_logic.go
  • app/user/rpc/internal/logic/userbasicservice/login_logic.go
  • app/user/rpc/internal/logic/userbasicservice/register_logic.go
  • app/user/rpc/user.proto

📝 Walkthrough

概览

本 PR 在用户系统的 protobuf、RPC 和 API 层中添加并传播了 AvatarId 字段,使得客户端能够在获取用户信息时获得头像 ID 标识。整个变更范围清晰、改动最小化,是一个纯粹的字段扩展。

变更详情

Cohort / File(s) 摘要
Proto 消息定义
app/user/rpc/user.proto
UserInfo 消息中添加了 avatar_id 字段(field number 13),扩展了用户数据模型的公共契约。
RPC 服务 Logic
app/user/rpc/internal/logic/userbasicservice/get_user_info_logic.go, app/user/rpc/internal/logic/userbasicservice/login_logic.go, app/user/rpc/internal/logic/userbasicservice/register_logic.go
在三个关键 RPC 方法的响应中添加了 AvatarId 字段传播,确保所有用户信息接口都包含头像 ID。
API 类型定义
app/user/api/desc/user.api, app/user/api/internal/types/types.go
在 API 层的 UserInfo 结构体中添加了 AvatarId 字段,保持与 RPC 层的一致性。
API 服务 Logic
app/user/api/internal/logic/user/get_user_info_logic.go, app/user/api/internal/logic/user/update_user_info_logic.go
在 API 响应中添加了 AvatarId 字段的传播,确保客户端能够访问到头像 ID。

代码审查反馈

👍 好的地方:

  • 变更最小化:每个文件仅添加一行字段定义,改动集中且易于追踪,降低了引入问题的风险。
  • 一致性保持:从 proto → RPC → API 的层次中,AvatarId 字段的命名和类型保持一致,便于维护。
  • 字段编号规范:proto 文件中选用了 field number 13,这说明有考虑现有字段的演进。

需要关注的点:

  1. 版本兼容性:虽然添加 proto 字段通常是向后兼容的,但需要确认 gRPC 客户端和服务端版本的同步更新,避免部分客户端收不到 avatar_id 字段。

  2. 字段初始化:在 RPC logic 中从 user.AvatarID 赋值时,需要确认源字段在所有路径上都能被正确初始化,特别是在错误恢复路径(如 login_logic.go 中的 fallback 逻辑)中。

  3. JSON 标签一致性:API types 中的 json:"avatarId" 采用了驼峰式,这与 proto 中的 avatar_id 命名约定不同,虽然在 API 层合理,但跨层通信时需要确保序列化/反序列化逻辑正确。

估算评审工作量

🎯 1 (轻微) | ⏱️ ~3 分钟

可能相关的 PR

  • Feature/user #88:同样在登录/注册逻辑中处理头像相关数据,本 PR 的字段传播补充了头像 ID 的完整链路。
  • Feature/user #85:在协议和类型层面修改头像处理,与本 PR 在数据模型层的扩展直接相关。
  • Feature/user #103:修改用户更新流程中的字段绑定,本 PR 添加的 AvatarId 传播可能涉及到请求验证的考量。
✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/user

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant