From 74232f3f2a69a99c40a1e54854f0ae419a73a3bc Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期五, 01 五月 2026 00:41:24 +0800
Subject: [PATCH] fix:登录注册修改

---
 tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/settings/service/AppSettingsService.java |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/settings/service/AppSettingsService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/settings/service/AppSettingsService.java
index 7a2a934..5cd0c21 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/settings/service/AppSettingsService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/settings/service/AppSettingsService.java
@@ -2,6 +2,7 @@
 
 import cn.dev33.satoken.stp.SaTokenInfo;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.tcm.training.admin.app.auth.dto.AppWechatLoginRequest;
 import com.tcm.training.admin.app.auth.service.AppAuthSessionService;
 import com.tcm.training.admin.app.auth.vo.AppLoginResponse;
@@ -266,12 +267,20 @@
     }
 
     /**
-     * 合并后软删除第三方临时账号,避免产生重复用户。
+     * 合并后清空第三方票据并逻辑删除临时账号,避免同一 openid 或苹果 subject 命中多个账号。
      */
     private void disableMergedTemporaryUser(AppUser currentUser) {
-        currentUser.setStatus(0);
-        currentUser.setDeleted(1);
-        userMapper.updateById(currentUser);
+        userMapper.update(null, new LambdaUpdateWrapper<AppUser>()
+                .eq(AppUser::getId, currentUser.getId())
+                .set(AppUser::getStatus, 0)
+                .set(AppUser::getWechatOpenid, null)
+                .set(AppUser::getWechatNickname, null)
+                .set(AppUser::getWechatAvatar, null)
+                .set(AppUser::getWechatBoundAt, null)
+                .set(AppUser::getAppleUserIdentifier, null)
+                .set(AppUser::getAppleIdentitySubject, null)
+                .set(AppUser::getAppleBoundAt, null)
+                .set(AppUser::getDeleted, 1));
     }
 
     /**

--
Gitblit v1.7.1