package com.ruoyi.app2.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.app2.common.SMSUtils; import com.ruoyi.app2.common.ValidateCodeUtils; import com.ruoyi.app2.domain.User; import com.ruoyi.app2.service.UserService; import com.ruoyi.common.core.domain.AjaxResult; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.util.Map; /** * TODO * * @Description * @Author Administrator * @Date 2023/3/22 14:40 **/ @RestController @Slf4j @RequestMapping("/user") public class UserController { @Autowired private UserService userService; /** * @author: linxinyi * @date: 2023/3/22 15:07 * 发送验证码 **/ @PostMapping("/send") public AjaxResult sedMsg(@RequestBody User user, HttpServletRequest httpServletRequest){ String phone = user.getPhonenumber(); String code = ValidateCodeUtils.generateValidateCode(4).toString(); SMSUtils.sendMessage(phone,code); httpServletRequest.getSession().setAttribute(phone,code); return AjaxResult.success(); } /** * @author: linxinyi * @date: 2023/3/22 15:08 * 手机端登录 **/ @PostMapping("/login") public AjaxResult login(@RequestBody Map user, HttpServletRequest request){ String phone =user.get("phonenumber").toString(); String code =user.get("code").toString(); Object codeAttribute = request.getSession().getAttribute(phone); if(codeAttribute!=null&&codeAttribute.equals(code)){ LambdaQueryWrapper lqw= new LambdaQueryWrapper<>(); lqw.eq(phone!=null, User::getPhonenumber,phone); User one = userService.getOne(lqw); if(one==null){ one=new User(); one.setPhonenumber(phone); one.setStatus("1"); userService.save(one); } request.getSession().setAttribute("user",one.getUserId()); return AjaxResult.success(); } return AjaxResult.error(); } }