diff --git a/internal/logic/public/user/queryUserInfoLogic.go b/internal/logic/public/user/queryUserInfoLogic.go index 51a49e8..7ddf548 100644 --- a/internal/logic/public/user/queryUserInfoLogic.go +++ b/internal/logic/public/user/queryUserInfoLogic.go @@ -9,6 +9,7 @@ import ( "github.com/perfect-panel/server/pkg/constant" "github.com/perfect-panel/server/pkg/kutt" + "github.com/perfect-panel/server/pkg/uuidx" "github.com/perfect-panel/server/pkg/xerr" "github.com/pkg/errors" @@ -49,6 +50,16 @@ func (l *QueryUserInfoLogic) QueryUserInfo() (resp *types.User, err error) { resp.UserDevices[i].DeviceNo = tool.DeviceIdToHash(d.Id) } } + // refer_code 为空时自动生成 + if resp.ReferCode == "" { + resp.ReferCode = uuidx.UserInviteCode(u.Id) + if err := l.svcCtx.DB.Model(&user.User{}).Where("id = ?", u.Id).Update("refer_code", resp.ReferCode).Error; err != nil { + l.Errorw("auto generate refer_code failed", logger.Field("user_id", u.Id), logger.Field("error", err.Error())) + } else { + _ = l.svcCtx.UserModel.ClearUserCache(l.ctx, u) + } + } + ownerEmailMethod := l.fillFamilyContext(resp, u.Id) var userMethods []types.UserAuthMethod