Files
aida_back/src/main/java/com/ai/da/controller/AccountController.java

153 lines
5.8 KiB
Java
Raw Normal View History

2023-01-06 15:17:37 +08:00
package com.ai.da.controller;
2023-12-11 16:59:05 +08:00
import com.ai.da.common.response.PageBaseResponse;
2023-01-06 15:17:37 +08:00
import com.ai.da.common.response.Response;
import com.ai.da.common.security.jwt.JWTTokenHelper;
2023-12-11 16:59:05 +08:00
import com.ai.da.mapper.entity.TrialOrder;
2023-01-06 15:17:37 +08:00
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;
2023-12-11 16:59:05 +08:00
import com.ai.da.model.vo.QueryLibraryPageVO;
2023-01-06 15:17:37 +08:00
import com.ai.da.service.AccountService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
2023-12-29 13:48:42 +08:00
import org.springframework.http.HttpStatus;
2023-01-06 15:17:37 +08:00
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
2023-12-29 13:48:42 +08:00
import java.util.HashMap;
2023-12-11 16:59:05 +08:00
import java.util.List;
2023-12-29 13:48:42 +08:00
import java.util.Map;
2023-01-06 15:17:37 +08:00
@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());
}
@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));
}
@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-12-11 16:59:05 +08:00
@ApiOperation(value = "试用订单列表")
@PostMapping("/trialOrderList")
public Response<PageBaseResponse<TrialOrder>> trialOrderList(@Valid @RequestBody TrialOrderDTO trialOrderDTO) {
return Response.success(PageBaseResponse.success(accountService.trialOrderList(trialOrderDTO)));
}
@ApiOperation(value = "通过试用订单审批")
@PostMapping("/trialOrderApproval")
public Response<Boolean> trialOrderApproval(@RequestParam("ids") List<Long> ids) {
return Response.success(accountService.trialOrderApproval(ids));
}
2023-12-14 16:33:57 +08:00
@ApiOperation(value = "拒绝试用订单审批")
@PostMapping("/trialOrderRefuse")
public Response<Boolean> trialOrderRefuse(@RequestParam("ids") List<Long> ids) {
return Response.success(accountService.trialOrderRefuse(ids));
}
@ApiOperation(value = "获取是否自动审评")
@PostMapping("/getIsAutoApproval")
public Response<Boolean> getIsAutoApproval() {
return Response.success(accountService.getIsAutoApproval());
}
@ApiOperation(value = "切换是否自动审评")
@PostMapping("/switchIsAutoApproval")
public Response<Boolean> switchIsAutoApproval() {
return Response.success(accountService.switchIsAutoApproval());
}
2023-12-29 13:48:42 +08:00
@ApiOperation(value = "aws状态检测")
@GetMapping("/healthy")
@ResponseStatus(HttpStatus.OK)
public Response<Map<String,Integer>> checkStatus(){
Map<String,Integer> returnMap = new HashMap<>();
returnMap.put("code",200);
return Response.success(returnMap);
}
2024-01-04 15:22:38 +08:00
@ApiOperation(value = "查询账号到期时间")
@PostMapping("/getExpiredTime")
public Response<Long> getExpiredTime(){
return Response.success(accountService.getExpiredTime());
}
2024-01-15 15:06:48 +08:00
2024-01-17 17:49:40 +08:00
@ApiOperation(value = "免密登录")
2024-01-15 15:06:48 +08:00
@PostMapping("/noLoginRequired")
2024-01-17 17:49:40 +08:00
public Response<AccountLoginVO> noLoginRequired(@RequestBody NoLoginRequiredDTO noLoginRequiredDTO, HttpServletRequest request){
return Response.success(accountService.noLoginRequired(noLoginRequiredDTO, request));
2024-01-15 15:06:48 +08:00
}
2023-01-06 15:17:37 +08:00
}