blob: 0f41549fa160ae18b9ad294908440a690a9c3c3a [file] [log] [blame]
223010718e412ad2025-04-24 22:24:51 +08001package com.example.g8backend.controller;
2
3import com.example.g8backend.dto.PasswordChangeDTO;
夜雨声烦c2e30e52025-05-13 18:49:03 +08004import com.example.g8backend.dto.ApiResponse;
223010718e412ad2025-04-24 22:24:51 +08005import com.example.g8backend.service.IUserSecurityService;
6import org.springframework.beans.factory.annotation.Autowired;
223010718e412ad2025-04-24 22:24:51 +08007import org.springframework.security.core.Authentication;
8import org.springframework.security.core.context.SecurityContextHolder;
9import org.springframework.web.bind.annotation.*;
10
11@RestController
12@RequestMapping("/user/security")
13public class UserSecurityController {
夜雨声烦c2e30e52025-05-13 18:49:03 +080014
223010718e412ad2025-04-24 22:24:51 +080015 @Autowired
16 private IUserSecurityService userSecurityService;
17
18 @PutMapping("/change-password")
夜雨声烦c2e30e52025-05-13 18:49:03 +080019 public ApiResponse<String> changePassword(@RequestBody PasswordChangeDTO dto) {
223010718e412ad2025-04-24 22:24:51 +080020 Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
21 Long userId = (Long) authentication.getPrincipal();
夜雨声烦c2e30e52025-05-13 18:49:03 +080022
23 // 调用服务层进行密码修改
223010718e412ad2025-04-24 22:24:51 +080024 userSecurityService.changePassword(userId, dto.getOldPassword(), dto.getNewPassword());
夜雨声烦c2e30e52025-05-13 18:49:03 +080025
26 // 返回统一的成功响应
27 return ApiResponse.success("密码修改成功");
223010718e412ad2025-04-24 22:24:51 +080028 }
夜雨声烦c2e30e52025-05-13 18:49:03 +080029}