From 4c2dd7fdd86ddfad69611a5e825ff4a0cfab3c06 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期四, 30 四月 2026 22:03:06 +0800
Subject: [PATCH] fix:登录注册修改
---
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppAuthService.java | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppAuthService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppAuthService.java
index bec0650..ed36eac 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppAuthService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppAuthService.java
@@ -12,6 +12,7 @@
import com.tcm.training.admin.app.auth.vo.AppLoginUserVO;
import com.tcm.training.admin.app.auth.vo.AppPasswordResetVerifyResponse;
import com.tcm.training.admin.app.auth.vo.AppSmsCodeSendResponse;
+import com.tcm.training.admin.app.auth.exception.InviteCodeRequiredException;
import com.tcm.training.admin.app.share.service.AppShareService;
import com.tcm.training.admin.member.entity.AppUser;
import com.tcm.training.admin.member.mapper.UserMapper;
@@ -114,6 +115,7 @@
AppWechatUserProfile profile = appWechatAuthClient.resolveUserProfile(request);
AppUser user = findUserByWechatOpenid(profile.getOpenid());
if (user == null) {
+ requireInviteCodeForThirdPartyRegister(request.getInviteCode());
user = buildWechatUser(profile);
bindInviteRelationIfAbsent(user, request.getInviteCode());
userMapper.insert(user);
@@ -134,7 +136,9 @@
AppAppleUserProfile profile = appAppleAuthClient.resolveUserProfile(request);
AppUser user = findUserByAppleSubject(profile.getSubject());
if (user == null) {
+ requireInviteCodeForThirdPartyRegister(request.getInviteCode());
user = buildAppleUser(profile);
+ bindInviteRelationIfAbsent(user, request.getInviteCode());
userMapper.insert(user);
return createLoginResponse(user);
}
@@ -276,6 +280,15 @@
}
/**
+ * 第三方授权首次创建账号时必须携带医生邀请码。
+ */
+ private void requireInviteCodeForThirdPartyRegister(String inviteCode) {
+ if (normalizeInviteCode(inviteCode) == null) {
+ throw new InviteCodeRequiredException();
+ }
+ }
+
+ /**
* 用户尚未绑定诊所关系时,根据医生邀请码补齐上下级关系。
*/
private void bindInviteRelationIfAbsent(AppUser user, String inviteCode) {
--
Gitblit v1.7.1