2023-01-06 15:17:37 +08:00
|
|
|
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.*;
|
2023-10-31 15:05:27 +08:00
|
|
|
import com.ai.da.model.enums.Language;
|
2023-01-06 15:17:37 +08:00
|
|
|
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<AccountPreLoginVO> preLogin(@Valid @RequestBody AccountPreLoginDTO accountDTO) {
|
|
|
|
|
return Response.success(accountService.preLogin(accountDTO));
|
|
|
|
|
}
|
2023-10-20 14:47:18 +08:00
|
|
|
|
2023-01-06 15:17:37 +08:00
|
|
|
@ApiOperation(value = "登入")
|
|
|
|
|
@PostMapping("/login")
|
|
|
|
|
public Response<AccountLoginVO> login(@Valid @RequestBody AccountLoginDTO accountDTO, HttpServletRequest request) {
|
2023-10-20 14:47:18 +08:00
|
|
|
return Response.success(accountService.login(accountDTO, request));
|
2023-01-06 15:17:37 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation(value = "绑定邮箱")
|
|
|
|
|
@PostMapping("/bindEmail")
|
|
|
|
|
public Response<Boolean> bindEmail(@Valid @RequestBody AccountBindEmailDTO accountBindEmailDTO) {
|
|
|
|
|
return Response.success(accountService.bindEmail(accountBindEmailDTO));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation(value = "忘记密码")
|
|
|
|
|
@PostMapping("/resetPwd")
|
|
|
|
|
public Response<Boolean> resetPwd(@Valid @RequestBody AccountRegisterDTO accountRegisterDTO) {
|
|
|
|
|
return Response.success(accountService.forgetPwd(accountRegisterDTO));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation(value = "发送邮件")
|
|
|
|
|
@PostMapping("/sendEmail")
|
|
|
|
|
public Response<Boolean> sendEmail(@Valid @RequestBody EmailSendDTO emailSendDTO) {
|
|
|
|
|
return Response.success(accountService.sendEmail(emailSendDTO));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation(value = "登出")
|
|
|
|
|
@PostMapping("/logout")
|
|
|
|
|
public Response<Boolean> logout(@Valid @RequestBody AccountLogoutDTO accountLogoutDTO) {
|
2023-10-20 14:47:18 +08:00
|
|
|
return Response.success(accountService.logout(accountLogoutDTO));
|
2023-01-06 15:17:37 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation(value = "是否登入")
|
|
|
|
|
@PostMapping("/isLogin")
|
|
|
|
|
public Response<Boolean> isLogin(@Valid @RequestBody AccountLogoutDTO accountLogoutDTO) {
|
2023-10-20 14:47:18 +08:00
|
|
|
return Response.success(accountService.isLogin(accountLogoutDTO));
|
2023-01-06 15:17:37 +08:00
|
|
|
}
|
|
|
|
|
|
2023-10-31 15:05:27 +08:00
|
|
|
@ApiOperation(value = "获取当前用户语言")
|
|
|
|
|
@PostMapping("/getUserLanguage")
|
2023-11-09 17:13:33 +08:00
|
|
|
public Response<String> getUserLanguage() {
|
2023-10-31 15:05:27 +08:00
|
|
|
return Response.success(accountService.getUserLanguage());
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-07 11:32:03 +08:00
|
|
|
@ApiOperation(value = "切换当前用户语言")
|
2023-11-14 15:26:54 +08:00
|
|
|
@GetMapping("/changeUserLanguage")
|
2023-10-31 15:28:37 +08:00
|
|
|
public Response<String> changeUserLanguage(String language) {
|
|
|
|
|
return Response.success(accountService.changeUserLanguage(language));
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-20 15:06:15 +08:00
|
|
|
@ApiOperation(value = "试用用户退出登录")
|
|
|
|
|
@GetMapping("/trialUserLogout")
|
|
|
|
|
public Response<Boolean> trialUserLogout() {
|
|
|
|
|
return Response.success(accountService.trialUserLogout());
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-29 14:37:32 +08:00
|
|
|
@ApiOperation(value = "完成新手教程")
|
|
|
|
|
@PostMapping("/completeGuidance")
|
|
|
|
|
public Response<Boolean> completeGuidance() {
|
|
|
|
|
return Response.success(accountService.completeGuidance());
|
|
|
|
|
}
|
2023-01-06 15:17:37 +08:00
|
|
|
}
|