feat: 自动生成并更新用户缺失的推荐码
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m33s

This commit is contained in:
shanshanzhong 2026-03-15 19:43:53 -07:00
parent 3d732c0361
commit 79a1eeca1f

View File

@ -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