From d699da385dda6257677ee93bef47388c0635f64e Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期五, 17 四月 2026 08:57:41 +0800
Subject: [PATCH] feat:APP个人中心

---
 tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppSmsCodeService.java |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppSmsCodeService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppSmsCodeService.java
index 97f338c..29c7445 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppSmsCodeService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppSmsCodeService.java
@@ -17,6 +17,7 @@
     private static final String LOGIN_CODE_CACHE_PREFIX = "app:sms:login:";
     private static final String REGISTER_CODE_CACHE_PREFIX = "app:sms:register:";
     private static final String PASSWORD_RESET_CODE_CACHE_PREFIX = "app:sms:password-reset:";
+    private static final String PHONE_CHANGE_CODE_CACHE_PREFIX = "app:sms:phone-change:";
 
     private final StringRedisTemplate stringRedisTemplate;
     private final AppSmsSender appSmsSender;
@@ -55,6 +56,13 @@
     }
 
     /**
+     * 生成并发送修改手机号验证码,同时写入缓存。
+     */
+    public AppSmsCodeSendResponse createPhoneChangeCode(String phone) {
+        return createCode(phone, PHONE_CHANGE_CODE_CACHE_PREFIX, "phone-change");
+    }
+
+    /**
      * 校验登录验证码,成功后销毁缓存中的一次性验证码。
      */
     public void validateLoginCode(String phone, String code) {
@@ -76,6 +84,13 @@
     }
 
     /**
+     * 校验修改手机号验证码,成功后销毁缓存中的一次性验证码。
+     */
+    public void validatePhoneChangeCode(String phone, String code) {
+        validateCode(phone, code, PHONE_CHANGE_CODE_CACHE_PREFIX);
+    }
+
+    /**
      * 统一生成指定场景的验证码并写入缓存。
      */
     private AppSmsCodeSendResponse createCode(String phone, String cachePrefix, String scene) {
@@ -90,8 +105,10 @@
             appSmsSender.sendLoginCode(phone, code);
         } else if ("register".equals(scene)) {
             appSmsSender.sendRegisterCode(phone, code);
-        } else {
+        } else if ("password-reset".equals(scene)) {
             appSmsSender.sendPasswordResetCode(phone, code);
+        } else {
+            appSmsSender.sendPhoneChangeCode(phone, code);
         }
         return new AppSmsCodeSendResponse(appSmsAuthProperties.getExpireSeconds());
     }

--
Gitblit v1.7.1