From a88154e8e2222dba5099fa6079849fbc09a6a28e Mon Sep 17 00:00:00 2001 From: liangzai <2440983361@qq.com> Date: Sat, 28 Feb 2026 19:24:18 +0800 Subject: [PATCH] f --- app/main/api/internal/logic/user/bindmobilelogic.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/main/api/internal/logic/user/bindmobilelogic.go b/app/main/api/internal/logic/user/bindmobilelogic.go index f05a750..07dc622 100644 --- a/app/main/api/internal/logic/user/bindmobilelogic.go +++ b/app/main/api/internal/logic/user/bindmobilelogic.go @@ -90,6 +90,9 @@ func (l *BindMobileLogic) BindMobile(req *types.BindMobileReq) (resp *types.Bind if _, err := l.svcCtx.UserAuthModel.Insert(l.ctx, nil, &model.UserAuth{Id: uuid.NewString(), UserId: finalUserID, AuthType: model.UserAuthTypeMobile, AuthKey: encryptedMobile}); err != nil { return nil, errors.Wrapf(xerr.NewErrCode(xerr.DB_ERROR), "创建手机号认证失败: %v", err) } + // 使 UserModel.FindOneByMobile 的缓存失效,避免后续流程(如代理注册)仍命中“手机号不存在”的旧缓存 + userMobileCacheKey := fmt.Sprintf("cache:bdqr:user:mobile:%v", sql.NullString{String: encryptedMobile, Valid: true}) + _, _ = l.svcCtx.Redis.DelCtx(l.ctx, userMobileCacheKey) // 发放token(userType会根据mobile字段动态计算) token, err := l.svcCtx.UserService.GeneralUserToken(l.ctx, finalUserID) if err != nil {