From 8b81df3a7638e768b640b7935d9da52b77cd7649 Mon Sep 17 00:00:00 2001
From: 13404089107 <puwei@sinata.cn>
Date: 星期五, 24 四月 2026 20:22:47 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/tcm-training
---
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/settings/service/AppSettingsService.java | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 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 87cbfb4..0af4fed 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
@@ -8,6 +8,7 @@
import com.tcm.training.admin.app.auth.service.AppWechatUserProfile;
import com.tcm.training.admin.app.settings.dto.AppSettingsNotificationUpdateRequest;
import com.tcm.training.admin.app.settings.dto.AppSettingsPasswordUpdateRequest;
+import com.tcm.training.admin.app.settings.dto.AppSettingsPhoneBindRequest;
import com.tcm.training.admin.app.settings.dto.AppSettingsPhoneCodeRequest;
import com.tcm.training.admin.app.settings.dto.AppSettingsPhoneUpdateRequest;
import com.tcm.training.admin.app.settings.dto.AppSettingsProfileUpdateRequest;
@@ -143,6 +144,24 @@
}
/**
+ * 首次绑定当前登录用户手机号,供微信登录未绑定手机号场景使用。
+ */
+ @Transactional
+ public AppSettingsProfileVO bindPhone(AppSettingsPhoneBindRequest request) {
+ AppUser user = requireCurrentEnabledUser();
+ String newPhone = normalizePhone(request.getNewPhone());
+ String code = normalizeRequired(request.getCode(), "请输入验证码");
+ if (trimToNull(user.getPhone()) != null) {
+ throw new IllegalArgumentException("当前账号已绑定手机号");
+ }
+ requirePhoneAvailable(newPhone, user.getId());
+ appSmsCodeService.validatePhoneChangeCode(newPhone, code);
+ user.setPhone(newPhone);
+ userMapper.updateById(user);
+ return toProfileVO(user);
+ }
+
+ /**
* 修改当前登录用户密码,并在成功后使当前登录态失效。
*/
@Transactional
--
Gitblit v1.7.1