package com.ai.da.controller; import com.ai.da.common.response.PageBaseResponse; import com.ai.da.common.response.Response; import com.ai.da.common.security.jwt.JWTTokenHelper; import com.ai.da.mapper.entity.TrialOrder; 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.model.vo.QueryLibraryPageVO; 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; import java.util.List; @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()); } @ApiOperation(value = "切换当前用户语言") @GetMapping("/changeUserLanguage") public Response changeUserLanguage(String language) { return Response.success(accountService.changeUserLanguage(language)); } @ApiOperation(value = "试用用户退出登录") @GetMapping("/trialUserLogout") public Response trialUserLogout() { return Response.success(accountService.trialUserLogout()); } @ApiOperation(value = "完成新手教程") @PostMapping("/completeGuidance") public Response completeGuidance() { return Response.success(accountService.completeGuidance()); } @ApiOperation(value = "试用订单列表") @PostMapping("/trialOrderList") public Response> trialOrderList(@Valid @RequestBody TrialOrderDTO trialOrderDTO) { return Response.success(PageBaseResponse.success(accountService.trialOrderList(trialOrderDTO))); } @ApiOperation(value = "通过试用订单审批") @PostMapping("/trialOrderApproval") public Response trialOrderApproval(@RequestParam("ids") List ids) { return Response.success(accountService.trialOrderApproval(ids)); } @ApiOperation(value = "拒绝试用订单审批") @PostMapping("/trialOrderRefuse") public Response trialOrderRefuse(@RequestParam("ids") List ids) { return Response.success(accountService.trialOrderRefuse(ids)); } @ApiOperation(value = "获取是否自动审评") @PostMapping("/getIsAutoApproval") public Response getIsAutoApproval() { return Response.success(accountService.getIsAutoApproval()); } @ApiOperation(value = "切换是否自动审评") @PostMapping("/switchIsAutoApproval") public Response switchIsAutoApproval() { return Response.success(accountService.switchIsAutoApproval()); } }