修复个人中心问题

This commit is contained in:
2026-09-29 18:25:09 +08:00
parent 0dc5c2f075
commit ca4220f92c
44 changed files with 1793 additions and 310 deletions
+16 -4
View File
@@ -149,9 +149,12 @@ func (c *BackendAuthController) GetCurrentUser() {
return
}
// 令牌里的 user_id 是认证中心 identity_id,而老表 uid 不在 uid 迁移范围内,
// 必须先换算成本租户的老 uid,否则会查不到(甚至按主键误命中他人记录)
uid := services.ResolveTenantUID(uint64(claims.TenantId), uint64(claims.UserID))
var tenantUser models.SystemTenantUser
err = models.Orm.QueryTable(new(models.SystemTenantUser)).
Filter("uid", claims.UserID).
Filter("uid", uid).
Filter("tid", claims.TenantId).
One(&tenantUser)
if err != nil {
@@ -179,17 +182,24 @@ func (c *BackendAuthController) GetCurrentUser() {
tenantName = strings.TrimSpace(tenant.TenantName)
}
// 头像:统一取认证中心身份头像(个人中心上传后写在这里,userinfo 同源)
avatar := services.GetIdentityAvatar(tenantUser.Uid)
c.serveJSON(map[string]interface{}{
"code": 200,
"msg": "success",
"data": map[string]interface{}{
"id": tenantUser.Uid,
// id 统一为认证中心 identity_id,与 /auth/userinfo 保持一致,
// 避免同一字段在不同来源(登录回跳 vs 本接口)含义不同
"id": claims.UserID,
// uid 为老表 yz_system_tenant_user.uid,仅少数按老 uid 存取的场景需要
"uid": tenantUser.Uid,
"account": account,
"name": name,
"tid": tenantUser.Tid,
"tenant_name": tenantName,
"rid": 0,
"avatar": "",
"avatar": avatar,
"role_name": "",
},
})
@@ -220,9 +230,11 @@ func (c *BackendAuthController) GetCurrentUserProfile() {
return
}
// 同上:令牌 user_id 是 identity_id,需换算成本租户的老 uid
uid := services.ResolveTenantUID(uint64(claims.TenantId), uint64(claims.UserID))
var tenantUser models.SystemTenantUser
if err := models.Orm.QueryTable(new(models.SystemTenantUser)).
Filter("uid", claims.UserID).
Filter("uid", uid).
Filter("tid", claims.TenantId).
One(&tenantUser); err != nil {
c.serveJSON(map[string]interface{}{"code": 401, "msg": "用户不存在"})