This commit is contained in:
2025-12-12 13:14:04 +08:00
parent a1859fdeb9
commit 5109b12d8e

View File

@@ -709,18 +709,28 @@ func (l *QueryServiceLogic) CacheData(params map[string]interface{}, Product str
return outTradeNo, nil
}
// GetOrCreateUser 鑾峰彇鎴栧垱寤虹敤鎴?
// 1. 濡傛灉涓婁笅鏂囦腑宸叉湁鐢ㄦ埛ID锛岀洿鎺ヨ繑鍥?
// 2. 濡傛灉鏄唬鐞嗘煡璇㈡垨APP璇锋眰锛屽垱寤烘柊鐢ㄦ埛
// 3. 鍏朵粬鎯呭喌杩斿洖鏈櫥褰曢敊璇?
// GetOrCreateUser 获取或创建用户
// 1. 如果已登录,使用当前登录用户
// 2. 如果未登录创建临时用户UUID用户
// 注意:查询服务不负责手机号绑定,手机号绑定由用户在其他地方自主选择
func (l *QueryServiceLogic) GetOrCreateUser() (string, error) {
// 获取当前登录态
claims, err := ctxdata.GetClaimsFromCtx(l.ctx)
if err == nil && claims != nil {
logx.Infof("claims: %+v", claims)
if err != nil && !errors.Is(err, ctxdata.ErrNoInCtx) {
return "", errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "获取用户信息失败: %v", err)
}
// 如果已登录,使用当前登录用户
if claims != nil {
return claims.UserId, nil
}
userID, regErr := l.svcCtx.UserService.RegisterUUIDUser(l.ctx)
if regErr != nil {
return "", regErr
// 未登录创建临时用户UUID用户
userID, err := l.svcCtx.UserService.RegisterUUIDUser(l.ctx)
if err != nil {
return "", errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "创建临时用户失败: %v", err)
}
return userID, nil
}