From 42dd06b5f83968155817b942200676cf521bb7fe Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期二, 07 四月 2026 17:17:03 +0800
Subject: [PATCH] feat:app帐号密码登录、忘记密码

---
 tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/controller/AppAuthController.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/controller/AppAuthController.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/controller/AppAuthController.java
index 96a82b6..2af0804 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/controller/AppAuthController.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/controller/AppAuthController.java
@@ -1,9 +1,13 @@
 package com.tcm.training.admin.app.auth.controller;
 
 import com.tcm.training.admin.app.auth.dto.AppSmsCodeSendRequest;
+import com.tcm.training.admin.app.auth.dto.AppPasswordLoginRequest;
+import com.tcm.training.admin.app.auth.dto.AppPasswordResetRequest;
+import com.tcm.training.admin.app.auth.dto.AppPasswordResetVerifyRequest;
 import com.tcm.training.admin.app.auth.dto.AppSmsLoginRequest;
 import com.tcm.training.admin.app.auth.service.AppAuthService;
 import com.tcm.training.admin.app.auth.vo.AppLoginResponse;
+import com.tcm.training.admin.app.auth.vo.AppPasswordResetVerifyResponse;
 import com.tcm.training.admin.app.auth.vo.AppSmsCodeSendResponse;
 import com.tcm.training.admin.common.ApiResponse;
 import org.springframework.validation.annotation.Validated;
@@ -46,4 +50,37 @@
     public ApiResponse<AppLoginResponse> smsLogin(@Valid @RequestBody AppSmsLoginRequest request) {
         return ApiResponse.ok(appAuthService.smsLogin(request));
     }
+
+    /**
+     * 使用手机号密码完成 APP 登录。
+     */
+    @PostMapping("/password-login")
+    public ApiResponse<AppLoginResponse> passwordLogin(@Valid @RequestBody AppPasswordLoginRequest request) {
+        return ApiResponse.ok(appAuthService.passwordLogin(request));
+    }
+
+    /**
+     * 发送 APP 忘记密码验证码。
+     */
+    @PostMapping("/password-reset/code")
+    public ApiResponse<AppSmsCodeSendResponse> sendPasswordResetCode(@Valid @RequestBody AppSmsCodeSendRequest request) {
+        return ApiResponse.ok(appAuthService.sendPasswordResetCode(request));
+    }
+
+    /**
+     * 校验 APP 忘记密码验证码并生成一次性重置凭证。
+     */
+    @PostMapping("/password-reset/verify")
+    public ApiResponse<AppPasswordResetVerifyResponse> verifyPasswordResetCode(@Valid @RequestBody AppPasswordResetVerifyRequest request) {
+        return ApiResponse.ok(appAuthService.verifyPasswordResetCode(request));
+    }
+
+    /**
+     * 使用重置凭证更新 APP 用户密码。
+     */
+    @PostMapping("/password-reset")
+    public ApiResponse<Void> resetPassword(@Valid @RequestBody AppPasswordResetRequest request) {
+        appAuthService.resetPassword(request);
+        return ApiResponse.ok(null);
+    }
 }

--
Gitblit v1.7.1