Commit 44fcc3a2 by zhoujinghao

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

1 parent c27678f6
......@@ -47,13 +47,21 @@ public class UserController {
return register;
}
@ApiOperation( value = "app用户登陆接口(两种登陆方式)",notes = "app用户登陆接口(两种登陆方式)")
@ApiOperation( value = "app账号密码登陆接口",notes = "app账号密码登陆接口")
@PostMapping("/userLogin")
@ResponseBody
public ApiResponse<UserVO> login (@RequestBody @Validated LoginParam loginParam){
public ApiResponse<UserVO> userLogin (@RequestBody @Validated LoginParam loginParam){
ApiResponse<UserVO> login = userService.userLogin(loginParam);
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 {
@ApiModelProperty("登陆密码")
private String loginPwd;
@NotNull(message = "登陆方式不能为空")
@ApiModelProperty("登陆方式0密码1验证码")
private String type;
@ApiModelProperty("验证码")
private String code;
}
......@@ -24,9 +24,8 @@ public class LoginParam {
@ApiModelProperty("登陆密码")
private String loginPwd;
@NotNull(message = "登陆方式不能为空")
@ApiModelProperty("登陆方式0密码1验证码")
private String type;
@ApiModelProperty("验证码")
private String code;
}
......@@ -18,6 +18,8 @@ import org.nafmii.common.response.ApiResponse;
public interface UserService {
//模拟用户登陆接口
ApiResponse<UserVO> login();
//手机号登陆接口
ApiResponse<UserVO> phoneLogin(LoginParam loginParam);
//app注册接口
ApiResponse register(RegisterParam registerParam);
//用户登陆接口
......
......@@ -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用户注册接口
* @param registerParam
* @return ApiResponse
......@@ -143,27 +174,14 @@ public class UserServiceImpl implements UserService {
public ApiResponse<UserVO> userLogin(LoginParam loginParam) {
LoginDto loginDto = BeanTransferUtils.transfer(loginParam, LoginDto.class);
log.info("========登陆接口相关参数======>"+loginDto);
UserVO userVo = new UserVO();
long EXPIRITION = 1000 * 60 * 60 * 24 * 7;
//首先判断登陆方式
if (loginDto.getType().equals(UserEnum.LOGINPWD.getCode())){
//密码登陆
userVo = appUserMapper.selectByPassword(loginDto);
if (null == userVo){
return new ApiResponse(ApiResponse.FAIL, MessageEnum.FAIR_PASSWORD.getRemarks());
}
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());
//密码登陆
UserVO userVo = appUserMapper.selectByPassword(loginDto);
log.info("账号密码登录返回用户实体=======》{}",userVo);
if (null == userVo){
return new ApiResponse(ApiResponse.FAIL, MessageEnum.FAIR_PASSWORD.getRemarks());
}
userVo.setLoginType(UserEnum.NOTFIRSTLOGIN.getCode());
Map<String,Object> map = new HashMap<>();
map.put(HttpClientHeaderEnum.USER_HEADER_USER_ID.getCode(),userVo.getId());
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!