package com.ai.da.controller; import com.ai.da.common.response.Response; import com.ai.da.common.security.jwt.JWTTokenHelper; import com.ai.da.model.dto.*; import com.ai.da.model.enums.Language; import com.ai.da.model.vo.AccountLoginVO; import com.ai.da.model.vo.AccountPreLoginVO; import com.ai.da.service.AccountService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; @Api(tags = "Account模块") @Slf4j @RestController @RequestMapping("/api/account") public class AccountController { @Resource private AccountService accountService; @ApiOperation(value = "预先登入") @PostMapping("/preLogin") public Response preLogin(@Valid @RequestBody AccountPreLoginDTO accountDTO) { return Response.success(accountService.preLogin(accountDTO)); } @ApiOperation(value = "登入") @PostMapping("/login") public Response login(@Valid @RequestBody AccountLoginDTO accountDTO, HttpServletRequest request) { return Response.success(accountService.login(accountDTO, request)); } @ApiOperation(value = "绑定邮箱") @PostMapping("/bindEmail") public Response bindEmail(@Valid @RequestBody AccountBindEmailDTO accountBindEmailDTO) { return Response.success(accountService.bindEmail(accountBindEmailDTO)); } @ApiOperation(value = "忘记密码") @PostMapping("/resetPwd") public Response resetPwd(@Valid @RequestBody AccountRegisterDTO accountRegisterDTO) { return Response.success(accountService.forgetPwd(accountRegisterDTO)); } @ApiOperation(value = "发送邮件") @PostMapping("/sendEmail") public Response sendEmail(@Valid @RequestBody EmailSendDTO emailSendDTO) { return Response.success(accountService.sendEmail(emailSendDTO)); } @ApiOperation(value = "登出") @PostMapping("/logout") public Response logout(@Valid @RequestBody AccountLogoutDTO accountLogoutDTO) { return Response.success(accountService.logout(accountLogoutDTO)); } @ApiOperation(value = "是否登入") @PostMapping("/isLogin") public Response isLogin(@Valid @RequestBody AccountLogoutDTO accountLogoutDTO) { return Response.success(accountService.isLogin(accountLogoutDTO)); } @ApiOperation(value = "获取当前用户语言") @PostMapping("/getUserLanguage") public Response getUserLanguage() { return Response.success(accountService.getUserLanguage()); } }