UserController.java 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.ruoyi.app2.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.ruoyi.app2.common.SMSUtils;
  4. import com.ruoyi.app2.common.ValidateCodeUtils;
  5. import com.ruoyi.app2.domain.User;
  6. import com.ruoyi.app2.service.UserService;
  7. import com.ruoyi.common.core.domain.AjaxResult;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.web.bind.annotation.PostMapping;
  11. import org.springframework.web.bind.annotation.RequestBody;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RestController;
  14. import javax.servlet.http.HttpServletRequest;
  15. import java.util.Map;
  16. /**
  17. * TODO
  18. *
  19. * @Description
  20. * @Author Administrator
  21. * @Date 2023/3/22 14:40
  22. **/
  23. @RestController
  24. @Slf4j
  25. @RequestMapping("/user")
  26. public class UserController {
  27. @Autowired
  28. private UserService userService;
  29. /**
  30. * @author: linxinyi
  31. * @date: 2023/3/22 15:07
  32. * 发送验证码
  33. **/
  34. @PostMapping("/send")
  35. public AjaxResult sedMsg(@RequestBody User user, HttpServletRequest httpServletRequest){
  36. String phone = user.getPhonenumber();
  37. String code = ValidateCodeUtils.generateValidateCode(4).toString();
  38. SMSUtils.sendMessage(phone,code);
  39. httpServletRequest.getSession().setAttribute(phone,code);
  40. return AjaxResult.success();
  41. }
  42. /**
  43. * @author: linxinyi
  44. * @date: 2023/3/22 15:08
  45. * 手机端登录
  46. **/
  47. @PostMapping("/login")
  48. public AjaxResult login(@RequestBody Map user, HttpServletRequest request){
  49. String phone =user.get("phonenumber").toString();
  50. String code =user.get("code").toString();
  51. Object codeAttribute = request.getSession().getAttribute(phone);
  52. if(codeAttribute!=null&&codeAttribute.equals(code)){
  53. LambdaQueryWrapper<User> lqw= new LambdaQueryWrapper<>();
  54. lqw.eq(phone!=null, User::getPhonenumber,phone);
  55. User one = userService.getOne(lqw);
  56. if(one==null){
  57. one=new User();
  58. one.setPhonenumber(phone);
  59. one.setStatus("1");
  60. userService.save(one);
  61. }
  62. request.getSession().setAttribute("user",one.getUserId());
  63. return AjaxResult.success();
  64. }
  65. return AjaxResult.error();
  66. }
  67. }