diff --git a/services/user/internal/logic/authHelper.go b/services/user/internal/logic/authHelper.go index 4a62db0..cfe8af6 100644 --- a/services/user/internal/logic/authHelper.go +++ b/services/user/internal/logic/authHelper.go @@ -248,7 +248,6 @@ func issueLoginToken(ctx context.Context, jwtAuth *config.JWTAuth, row *dao.User return nil, err } - // C 端多小程序共用同一 token:已登录则续期并更新会话;门店/销售仍发新 token if renewed, ok := tryRenewUserLogin(jwtAuth, session, client); ok { return renewed, nil } diff --git a/services/user/internal/logic/bizUser.go b/services/user/internal/logic/bizUser.go index 8db8efb..3d7458c 100644 --- a/services/user/internal/logic/bizUser.go +++ b/services/user/internal/logic/bizUser.go @@ -33,7 +33,7 @@ func ensureClientBizUser(ctx context.Context, svcCtx *svc.ServiceContext, userId return nil } - bizId, err := createBizUser(ctx, svcCtx, clientCode) + bizId, err := createBizUser(ctx, svcCtx, userId, clientCode) if err != nil { return err } @@ -49,26 +49,42 @@ func ensureClientBizUser(ctx context.Context, svcCtx *svc.ServiceContext, userId return err } -func createBizUser(ctx context.Context, svcCtx *svc.ServiceContext, serviceKey string) (int64, error) { +func createBizUser(ctx context.Context, svcCtx *svc.ServiceContext, userId int64, serviceKey string) (int64, error) { switch serviceKey { case "user_skin": - return createAnalysisBizUser(ctx, svcCtx.AnalysisSvcName) + return createAnalysisBizUser(ctx, svcCtx.AnalysisSvcName, userId) default: return utils.NumberZero, nil } } -func createAnalysisBizUser(ctx context.Context, svcName string) (int64, error) { +func createAnalysisBizUser(ctx context.Context, svcName string, userId int64) (int64, error) { cli, err := svc.GetRpcClient(svcName) if err != nil { return utils.NumberZero, err } - res, err := analysispb.NewAnalysisClient(cli.Conn()).InternalCreateUser(ctx, &analysispb.InternalCreateUserReq{}) + client := analysispb.NewAnalysisClient(cli.Conn()) + res, err := client.InternalCreateUser(ctx, &analysispb.InternalCreateUserReq{}) if err != nil { return utils.NumberZero, err } if res == nil || res.Id < utils.NumberOne { return utils.NumberZero, status.Error(codes.Internal, "analysis create user empty id") } - return res.Id, nil + bizId := res.Id + var userRow dao.UserRow + err = model.UserModel{}.Init().GetOne(modelbase.Params{ + Eq: map[string]string{"id": strconv.FormatInt(userId, utils.NumberTen)}, + }, &userRow) + if err != nil { + return utils.NumberZero, err + } + if userRow.Mobile != utils.StringEmpty { + if _, err := client.InternalSetRegistered(ctx, &analysispb.InternalSetRegisteredReq{ + Id: bizId, + }); err != nil { + return utils.NumberZero, err + } + } + return bizId, nil }