package com.yunan.controller; import com.yunan.constant.ResponseCode; import com.yunan.response.ApiResponse; import com.yunan.dto.LoginDTO; import com.yunan.dto.RegisterDTO; import com.yunan.service.AuthService; import com.yunan.service.EmailService; import com.yunan.util.VerificationCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.mail.MessagingException; import javax.validation.Valid; import java.io.UnsupportedEncodingException; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @RestController //注解标识这是一个控制器类 @RequestMapping("/auth") @Slf4j @Api(tags = "身份验证接口") public class AuthController { @Resource private AuthService authService; @Autowired private EmailService emailService; /** * 用户登入 * @param loginDTO */ @PostMapping("/login") @ApiOperation("用户登入") public void login(@RequestBody LoginDTO loginDTO) { // authService.login(loginDTO.getUsername(), loginDTO.getPassword()); } /** * 用户注册 * @param registerDTO */ @PostMapping("/register") @ApiOperation("用户注册") public ResponseEntity register(@RequestBody @Valid RegisterDTO registerDTO) throws MessagingException, UnsupportedEncodingException { return authService.register(registerDTO); } // 存储已发送的验证码 private final Map emailCodeMap = new ConcurrentHashMap<>(16); /** * 发送验证码 * @param registerDTO * @return {@link ApiResponse }<{@link String }> * @throws MessagingException */ @PostMapping("/sendEmail") @ApiOperation("邮箱验证码") public ApiResponse sendEmail(@RequestBody @Valid RegisterDTO registerDTO) throws MessagingException { return emailService.sendMail(registerDTO.getEmail()); } }