Commit 44fcc3a2 by zhoujinghao

登陆接口两种方式拆分提交

1 parent c27678f6
...@@ -47,13 +47,21 @@ public class UserController { ...@@ -47,13 +47,21 @@ public class UserController {
return register; return register;
} }
@ApiOperation( value = "app用户登陆接口(两种登陆方式)",notes = "app用户登陆接口(两种登陆方式)") @ApiOperation( value = "app账号密码登陆接口",notes = "app账号密码登陆接口")
@PostMapping("/userLogin") @PostMapping("/userLogin")
@ResponseBody @ResponseBody
public ApiResponse<UserVO> login (@RequestBody @Validated LoginParam loginParam){ public ApiResponse<UserVO> userLogin (@RequestBody @Validated LoginParam loginParam){
ApiResponse<UserVO> login = userService.userLogin(loginParam); ApiResponse<UserVO> login = userService.userLogin(loginParam);
return login; return login;
} }
@ApiOperation( value = "app验证码登陆接口",notes = "app验证码登陆接口")
@PostMapping("/phoneLogin")
@ResponseBody
public ApiResponse<UserVO> phoneLogin (@RequestBody @Validated LoginParam loginParam){
ApiResponse<UserVO> login = userService.phoneLogin(loginParam);
return login;
}
} }
...@@ -25,8 +25,6 @@ public class LoginDto { ...@@ -25,8 +25,6 @@ public class LoginDto {
@ApiModelProperty("登陆密码") @ApiModelProperty("登陆密码")
private String loginPwd; private String loginPwd;
@ApiModelProperty("验证码")
@NotNull(message = "登陆方式不能为空") private String code;
@ApiModelProperty("登陆方式0密码1验证码")
private String type;
} }
...@@ -25,8 +25,7 @@ public class LoginParam { ...@@ -25,8 +25,7 @@ public class LoginParam {
@ApiModelProperty("登陆密码") @ApiModelProperty("登陆密码")
private String loginPwd; private String loginPwd;
@ApiModelProperty("验证码")
private String code;
@NotNull(message = "登陆方式不能为空")
@ApiModelProperty("登陆方式0密码1验证码")
private String type;
} }
...@@ -18,6 +18,8 @@ import org.nafmii.common.response.ApiResponse; ...@@ -18,6 +18,8 @@ import org.nafmii.common.response.ApiResponse;
public interface UserService { public interface UserService {
//模拟用户登陆接口 //模拟用户登陆接口
ApiResponse<UserVO> login(); ApiResponse<UserVO> login();
//手机号登陆接口
ApiResponse<UserVO> phoneLogin(LoginParam loginParam);
//app注册接口 //app注册接口
ApiResponse register(RegisterParam registerParam); ApiResponse register(RegisterParam registerParam);
//用户登陆接口 //用户登陆接口
......
...@@ -87,6 +87,37 @@ public class UserServiceImpl implements UserService { ...@@ -87,6 +87,37 @@ public class UserServiceImpl implements UserService {
} }
/** /**
* 手机号登陆接口
* @param loginParam
* @return
*/
@Override
public ApiResponse<UserVO> phoneLogin(LoginParam loginParam) {
LoginDto loginDto = BeanTransferUtils.transfer(loginParam, LoginDto.class);
log.info("========登陆接口相关参数======>"+loginDto);
long EXPIRITION = 1000 * 60 * 60 * 24 * 7;
//验证码登陆
String code = stringRedisTemplate.opsForValue().get(USER_CODE_KEY+loginDto.getPhone());
log.info("重redis中获取的验证码===============》{}",code);
if (null == code){
return new ApiResponse(ApiResponse.FAIL, MessageEnum.CODE_ERROR.getRemarks());
}
if (!loginDto.getCode().equals(code)){
return new ApiResponse(ApiResponse.FAIL, MessageEnum.CODE_ERROR.getRemarks());
}
UserVO userVo = appUserMapper.selectByPhone(loginDto.getPhone());
log.info("验证码登录返回用户实体=======》{}",userVo);
userVo.setLoginType(userVo!=null ? UserEnum.NOTFIRSTLOGIN.getCode() :UserEnum.FIRSTLOGIN.getCode());
Map<String,Object> map = new HashMap<>();
map.put(HttpClientHeaderEnum.USER_HEADER_USER_ID.getCode(),userVo.getId());
String token = JwtUtils.generateJsonWebToken(map,EXPIRITION);
userVo.setAuthorization(token);
ApiResponse apiResponse =new ApiResponse();
apiResponse.setData(userVo);
return apiResponse;
}
/**
* app用户注册接口 * app用户注册接口
* @param registerParam * @param registerParam
* @return ApiResponse * @return ApiResponse
...@@ -143,27 +174,14 @@ public class UserServiceImpl implements UserService { ...@@ -143,27 +174,14 @@ public class UserServiceImpl implements UserService {
public ApiResponse<UserVO> userLogin(LoginParam loginParam) { public ApiResponse<UserVO> userLogin(LoginParam loginParam) {
LoginDto loginDto = BeanTransferUtils.transfer(loginParam, LoginDto.class); LoginDto loginDto = BeanTransferUtils.transfer(loginParam, LoginDto.class);
log.info("========登陆接口相关参数======>"+loginDto); log.info("========登陆接口相关参数======>"+loginDto);
UserVO userVo = new UserVO();
long EXPIRITION = 1000 * 60 * 60 * 24 * 7; long EXPIRITION = 1000 * 60 * 60 * 24 * 7;
//首先判断登陆方式
if (loginDto.getType().equals(UserEnum.LOGINPWD.getCode())){
//密码登陆 //密码登陆
userVo = appUserMapper.selectByPassword(loginDto); UserVO userVo = appUserMapper.selectByPassword(loginDto);
log.info("账号密码登录返回用户实体=======》{}",userVo);
if (null == userVo){ if (null == userVo){
return new ApiResponse(ApiResponse.FAIL, MessageEnum.FAIR_PASSWORD.getRemarks()); return new ApiResponse(ApiResponse.FAIL, MessageEnum.FAIR_PASSWORD.getRemarks());
} }
userVo.setLoginType(UserEnum.NOTFIRSTLOGIN.getCode()); userVo.setLoginType(UserEnum.NOTFIRSTLOGIN.getCode());
}else{
//验证码登陆
String code = stringRedisTemplate.opsForValue().get(USER_CODE_KEY+loginDto.getPhone());
log.info("重redis中获取的验证码===============》{}",code);
if (null == code){
return new ApiResponse(ApiResponse.FAIL, MessageEnum.CODE_ERROR.getRemarks());
}
userVo = appUserMapper.selectByPhone(loginDto.getPhone());
log.info("验证码登录返回用户实体=======》{}",userVo);
userVo.setLoginType(userVo!=null ? UserEnum.NOTFIRSTLOGIN.getCode() :UserEnum.FIRSTLOGIN.getCode());
}
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
map.put(HttpClientHeaderEnum.USER_HEADER_USER_ID.getCode(),userVo.getId()); map.put(HttpClientHeaderEnum.USER_HEADER_USER_ID.getCode(),userVo.getId());
String token = JwtUtils.generateJsonWebToken(map,EXPIRITION); String token = JwtUtils.generateJsonWebToken(map,EXPIRITION);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!