用户信息 前端控制器 @author anyi @since 2022-05-25
| 24 | * @since 2022-05-25 |
| 25 | */ |
| 26 | @RestController |
| 27 | @Slf4j |
| 28 | @RequestMapping("/user") |
| 29 | public class UserController { |
| 30 | |
| 31 | @Resource |
| 32 | private RedisTemplate myRedisTemplate; |
| 33 | |
| 34 | @Resource |
| 35 | private UserService userService; |
| 36 | |
| 37 | /** |
| 38 | * 获取验证码 |
| 39 | * @param phone |
| 40 | * @return |
| 41 | */ |
| 42 | @GetMapping("/code") |
| 43 | public R getCode(String phone){ |
| 44 | String code = RandomUtil.randomNumbers(6); |
| 45 | myRedisTemplate.opsForValue().set("code", code,5, TimeUnit.MINUTES); |
| 46 | return R.success("发送验证码成功!"); |
| 47 | } |
| 48 | @PostMapping("/login") |
| 49 | public R login(@RequestBody LoginDto loginDto, HttpSession session){ |
| 50 | LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); |
| 51 | User user = userService.getOne(wrapper.eq(User::getPhone, loginDto.getPhone())); |
| 52 | String is = (String)myRedisTemplate.opsForValue().get("code"); |
| 53 | if (loginDto.getCode().equals(is)){ |
| 54 | User curUser = new User(); |
| 55 | if (user == null){ |
| 56 | curUser.setPhone(loginDto.getPhone()); |
| 57 | curUser.setStatus(1); |
| 58 | userService.save(curUser); |
| 59 | }else { |
| 60 | curUser = user; |
| 61 | } |
| 62 | session.setAttribute("user", curUser); |
| 63 | return R.success(user); |
| 64 | } |
| 65 | return R.error("登录失败"); |
| 66 | } |
| 67 | } |
| 68 |
nothing calls this directly
no outgoing calls
no test coverage detected