diff --git a/src/main/java/com/bao/dating/DatingApplication.java b/src/main/java/com/bao/dating/DatingApplication.java index 6295922..6d1b4c7 100644 --- a/src/main/java/com/bao/dating/DatingApplication.java +++ b/src/main/java/com/bao/dating/DatingApplication.java @@ -11,4 +11,4 @@ public class DatingApplication { SpringApplication.run(DatingApplication.class, args); } -} +} \ No newline at end of file diff --git a/src/main/java/com/bao/dating/config/WebConfig.java b/src/main/java/com/bao/dating/config/WebConfig.java index 8bd0be2..d9d3f43 100644 --- a/src/main/java/com/bao/dating/config/WebConfig.java +++ b/src/main/java/com/bao/dating/config/WebConfig.java @@ -31,7 +31,8 @@ public class WebConfig implements WebMvcConfigurer { .excludePathPatterns( "/user/login", "/user/sendCode", - "/user/loginByCode" + "/user/loginByCode", + "/user/loginPhone" ); } } diff --git a/src/main/java/com/bao/dating/controller/UserController.java b/src/main/java/com/bao/dating/controller/UserController.java index 2db83e4..c4553cb 100644 --- a/src/main/java/com/bao/dating/controller/UserController.java +++ b/src/main/java/com/bao/dating/controller/UserController.java @@ -90,4 +90,23 @@ public class UserController { return ok ? Result.success(ResultCode.SUCCESS, "登录成功") : Result.error(ResultCode.SYSTEM_ERROR, "登录失败"); } + /** + * 登录 + * @param body 登录参数 + */ + @PostMapping("/loginPhone") + public Result loginPhone(@RequestBody Map body) { + String phone = body.get("phone"); + String code = body.get("code"); + + //校验验证码 + boolean verify = userService.verifyCode(phone, code); + if (!verify){ + return Result.error(ResultCode.SYSTEM_ERROR, "验证码错误或已过期"); + } + //登录 + UserLoginVO vo = userService.loginByPhone(phone); + return Result.success(ResultCode.SUCCESS, "登录成功", vo); + } + } diff --git a/src/main/java/com/bao/dating/mapper/UserMapper.java b/src/main/java/com/bao/dating/mapper/UserMapper.java index b15f293..dd43f96 100644 --- a/src/main/java/com/bao/dating/mapper/UserMapper.java +++ b/src/main/java/com/bao/dating/mapper/UserMapper.java @@ -3,6 +3,7 @@ package com.bao.dating.mapper; import com.bao.dating.pojo.dto.UserInfoUpdateDTO; import com.bao.dating.pojo.entity.User; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 用户Mapper @@ -33,4 +34,6 @@ public interface UserMapper { */ void updateUserInfoByUserId(UserInfoUpdateDTO userInfoUpdateDTO); + User selectByPhone(@Param("phone") String phone); + } diff --git a/src/main/java/com/bao/dating/service/UserService.java b/src/main/java/com/bao/dating/service/UserService.java index bfc5ee6..d8c84e4 100644 --- a/src/main/java/com/bao/dating/service/UserService.java +++ b/src/main/java/com/bao/dating/service/UserService.java @@ -49,4 +49,6 @@ public interface UserService { void sendSmsCode(String phone); boolean verifyCode(String phone, String code); + + UserLoginVO loginByPhone(String phone); } diff --git a/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java b/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java index f049df5..9a6c33a 100644 --- a/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java +++ b/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java @@ -336,4 +336,18 @@ public class UserServiceImpl implements UserService { stringRedisTemplate.delete(key); return true; } + + @Override + public UserLoginVO loginByPhone(String phone) { + //根据手机号查询用户 + User user = userMapper.selectByPhone(phone); + //创建token + String token = JwtUtil.generateToken(user.getUserId().toString()); + //封装返回结果 + UserLoginVO VO = new UserLoginVO(); + VO.setUserId(user.getUserId()); + VO.setToken(token); + return VO; + + } } diff --git a/src/main/resources/com/bao/dating/mapper/UserMapper.xml b/src/main/resources/com/bao/dating/mapper/UserMapper.xml index 61bb82b..983e37d 100644 --- a/src/main/resources/com/bao/dating/mapper/UserMapper.xml +++ b/src/main/resources/com/bao/dating/mapper/UserMapper.xml @@ -42,7 +42,7 @@ signature, created_at, updated_at - FROM user WHERE user_id = #{userId} + FROM dating.user WHERE user_id = #{userId} @@ -74,4 +74,8 @@ WHERE user_id = #{userId} + + \ No newline at end of file