注册计时器

This commit is contained in:
Zhang Liguo 2023-12-23 00:26:08 +08:00
parent 165170af97
commit 32ec34633c
2 changed files with 20 additions and 1 deletions

View File

@ -10,6 +10,7 @@ import com.lovenav.utils.TokenUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -23,6 +24,9 @@ import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@RestController @RestController
public class UserController { public class UserController {
@ -31,15 +35,30 @@ public class UserController {
@Autowired @Autowired
TokenUtils tokenUtils; TokenUtils tokenUtils;
//发送邮箱验证码 //发送邮箱验证码
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(5);
//这个是我用户Service实现类可以自行替换
//这个是邮件类必须要导入哦
@GetMapping("/sendActiveCode") @GetMapping("/sendActiveCode")
public String sendActiveCode(HttpSession session, User user){ public String sendActiveCode(HttpSession session, User user){
String activecode=userService.sendEmailActivecode(user); String activecode=userService.sendEmailActivecode(user);
session.setAttribute(user.getUserEmail(),activecode); session.setAttribute(user.getUserEmail(),activecode);
scheduledExecutorService.schedule(new Runnable() {
@Override
public void run() {
session.removeAttribute(user.getUserEmail());
System.out.println(session.getAttribute(user.getUserEmail()));
}
},60, TimeUnit.SECONDS);
return "发送验证码成功!"; return "发送验证码成功!";
} }
@RequestMapping("/register") @RequestMapping("/register")
public String userRegister(HttpSession session,User user){ public String userRegister(HttpSession session,User user){
if (session.getAttribute(user.getUserEmail())==null){
return "验证码过期";
}
// 比较验证码 // 比较验证码
if (!user.getActiveCode().equals((String) session.getAttribute(user.getUserEmail()))) { if (!user.getActiveCode().equals((String) session.getAttribute(user.getUserEmail()))) {
return "验证码不正确"; return "验证码不正确";

View File

@ -5,8 +5,8 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@Repository
@Mapper @Mapper
@Repository
public interface UserDao { public interface UserDao {
int deleteByPrimaryKey(Integer id); int deleteByPrimaryKey(Integer id);