| | |
| | | package com.sinata.appointment.controller; |
| | | |
| | | import cn.dev33.satoken.annotation.SaCheckLogin; |
| | | import cn.dev33.satoken.stp.StpUtil; |
| | | import com.sinata.appointment.common.Result; |
| | | import com.sinata.appointment.common.ResultUtil; |
| | | import com.sinata.appointment.dto.CaptchaResponse; |
| | | import com.sinata.appointment.dto.CurrentUserPasswordUpdateRequest; |
| | | import com.sinata.appointment.dto.CurrentUserUpdateRequest; |
| | | import com.sinata.appointment.dto.LoginRequest; |
| | | import com.sinata.appointment.dto.LoginResponse; |
| | | import com.sinata.appointment.dto.SysUserDetailVo; |
| | | import com.sinata.appointment.service.AuthApplicationService; |
| | | import com.sinata.appointment.service.CaptchaService; |
| | | import com.sinata.appointment.service.SysUserApplicationService; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import jakarta.validation.Valid; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | |
| | | |
| | | private final AuthApplicationService authApplicationService; |
| | | private final CaptchaService captchaService; |
| | | private final SysUserApplicationService sysUserApplicationService; |
| | | |
| | | @Operation(summary = "图形验证码(管理端登录前获取)") |
| | | @Operation(summary = "图形验证码") |
| | | @GetMapping("/captcha") |
| | | public Result<CaptchaResponse> captcha() { |
| | | return ResultUtil.data(captchaService.generate()); |
| | |
| | | return ResultUtil.data(authApplicationService.login(request)); |
| | | } |
| | | |
| | | @Operation(summary = "当前登录用户信息") |
| | | @GetMapping("/me") |
| | | @SaCheckLogin |
| | | public Result<SysUserDetailVo> me() { |
| | | return ResultUtil.data(sysUserApplicationService.getCurrentUserDetail(StpUtil.getLoginIdAsLong())); |
| | | } |
| | | |
| | | @Operation(summary = "当前登录用户修改资料") |
| | | @PutMapping("/me") |
| | | @SaCheckLogin |
| | | public Result<SysUserDetailVo> updateMe(@Valid @RequestBody CurrentUserUpdateRequest request) { |
| | | return ResultUtil.data(sysUserApplicationService.updateCurrentUser(StpUtil.getLoginIdAsLong(), request)); |
| | | } |
| | | |
| | | @Operation(summary = "当前登录用户修改密码") |
| | | @PostMapping("/me/password") |
| | | @SaCheckLogin |
| | | public Result<Void> updateMyPassword(@Valid @RequestBody CurrentUserPasswordUpdateRequest request) { |
| | | sysUserApplicationService.updateCurrentPassword(StpUtil.getLoginIdAsLong(), request); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | @Operation(summary = "登出") |
| | | @PostMapping("/logout") |
| | | public Result<Void> logout() { |
| | |
| | | return ResultUtil.success(); |
| | | } |
| | | } |
| | | |