Commit 9bfab0bf by giaogiao

优化app注册登陆;

parent a0cbabe1
package com.jumeirah.api.app.controller;
import com.jumeirah.api.app.service.AppSmsService;
import com.jumeirah.api.app.vo.SmsCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
import io.geekidea.springbootplus.framework.log.annotation.OperationLog;
......@@ -36,10 +35,10 @@ public class AppSmsController extends BaseController {
*/
@GetMapping("/registerOrLoginCode")
@OperationLog(name = "获取注册或登陆的验证码", type = OperationLogType.INFO)
@ApiOperation(value = "获取注册或登陆的验证码", response = SmsCode.class, notes = "本地环境默认666666")
public ApiResult<Object> register(@RequestParam String phoneArea, @RequestParam String phone) throws Exception {
@ApiOperation(value = "获取注册或登陆的验证码", response = Object.class, notes = "本地环境默认666666")
public ApiResult<Object> registerOrLoginCode(@RequestParam String phoneArea, @RequestParam String phone) throws Exception {
return appSmsService.registerType(phoneArea, phone);
return appSmsService.registerOrLoginCode(phoneArea, phone);
}
}
......
......@@ -7,7 +7,6 @@ import com.jumeirah.common.param.app.AppSmsRegisterParam;
import com.jumeirah.common.param.app.AppUserInfoParam;
import com.jumeirah.common.service.AppUserService;
import com.jumeirah.common.vo.AppUserQueryVo;
import com.jumeirah.common.vo.LoginSysUserTokenVo;
import com.jumeirah.common.vo.app.LoginAppUserTokenVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
......@@ -54,8 +53,8 @@ public class AppUserController extends BaseController {
* 添加APP用户
*/
@PostMapping("/updateAppUserInfo")
// @OperationLog(name = "补充或修改APP用户信息", type = OperationLogType.ADD)
@ApiOperation(value = "补充或修改APP用户信息", notes = "不需要修改的字段传入null", response = ApiResult.class)
@OperationLog(name = "补充或修改APP用户信息", type = OperationLogType.ADD)
@ApiOperation(value = "补充或修改APP用户信息", notes = "不需要修改的字段传入null或直接不传入该字段,如果传入空双引号的话会将数据置为空 ", response = ApiResult.class)
public ApiResult<Boolean> updateAppUserInfo(@RequestBody AppUserInfoParam appUserInfoParam) throws Exception {
boolean flag = appUserApiService.updateAppUser(appUserInfoParam);
return ApiResult.result(flag);
......@@ -122,17 +121,10 @@ public class AppUserController extends BaseController {
}
@PostMapping("/registerOrLogin")
@ApiOperation(value = "手机号注册+登陆", notes = "app用户注册+登陆", response = LoginSysUserTokenVo.class)
@ApiOperation(value = "手机号注册+登陆", notes = "app用户注册+登陆", response = LoginAppUserTokenVo.class)
public ApiResult<LoginAppUserTokenVo> registerOrLogin(@Validated @RequestBody AppSmsRegisterParam appSmsRegisterParam, @RequestHeader(required = false) String language) throws Exception {
return appUserApiService.register(appSmsRegisterParam, language);
}
// @PostMapping("/login")
// @ApiOperation(value = "手机号登陆", notes = "app用户登录", response = LoginSysUserTokenVo.class)
// public ApiResult<LoginAppUserTokenVo> login(@Validated @RequestBody AppSmsRegisterParam loginParam, @RequestHeader(required = false) String language) throws Exception {
//// return appRegisterService.login(loginParam, language);
// return null;
// }
}
......@@ -9,7 +9,7 @@ public interface AppSmsService {
/**
* 获取注册验证码
*/
ApiResult<Object> registerType(String phoneArea, String phone);
ApiResult<Object> registerOrLoginCode(String phoneArea, String phone);
/**
* 获取注册验证码
......
......@@ -52,7 +52,7 @@ public class AppSmsServiceImpl implements AppSmsService {
}
@Override
public ApiResult<Object> registerType(String area, String number) {
public ApiResult<Object> registerOrLoginCode(String area, String number) {
return getSmsCodeApiResult(String.format(SMS_REGIEST, area, number), area, number);
}
......
......@@ -36,7 +36,7 @@ public class AppUserApiServiceImpl implements AppUserApiService {
// 判断是否已经注册
if (appUserService.hasUserByPhoneNumer(loginParam.getPhoneArea(), loginParam.getPhone())) {
// 如果已经注册直接走登陆的代码
return appUserService.login(loginParam, language);
return appUserService.login(loginParam, language, true);
}
// 没注册则先保存到数据库
......@@ -49,7 +49,7 @@ public class AppUserApiServiceImpl implements AppUserApiService {
}
// 走登陆的代码
return appUserService.login(loginParam, language);
return appUserService.login(loginParam, language, false);
}
@Override
......
......@@ -30,7 +30,7 @@ import java.io.Serializable;
* @date 2019-05-15
**/
@Data
@ApiModel("app手机验证码注册参数")
@ApiModel("app手机验证码注册参数AppSmsRegisterParam")
public class AppSmsRegisterParam implements Serializable {
@NotBlank(message = "请输入手机区号")
......
......@@ -41,7 +41,7 @@ public interface AppUserService extends BaseService<AppUser> {
* @param language
* @return
*/
ApiResult<LoginAppUserTokenVo> login(AppSmsRegisterParam loginParam, String language);
ApiResult<LoginAppUserTokenVo> login(AppSmsRegisterParam loginParam, String language,Boolean hasRegister);
/**
......
......@@ -29,6 +29,7 @@ import org.apache.commons.codec.digest.DigestUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.redis.core.RedisTemplate;
......@@ -83,7 +84,7 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserMapper, AppUser>
// }
@Override
public ApiResult<LoginAppUserTokenVo> login(AppSmsRegisterParam loginParam, String language) {
public ApiResult<LoginAppUserTokenVo> login(AppSmsRegisterParam loginParam, String language, Boolean hasRegister) {
// 从数据库中获取登录用户信息
AppUser appUser = appUserMapper.selectOne(new QueryWrapper<>(
......@@ -134,10 +135,12 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserMapper, AppUser>
redisTemplate.opsForValue().set(tokenSha256, loginSysUserVo, 1, TimeUnit.DAYS);
// 返回token和登录用户信息对象
LoginAppUserTokenVo loginSysUserTokenVo = new LoginAppUserTokenVo();
loginSysUserTokenVo.setToken(token);
loginSysUserTokenVo.setUserId(appUser.getId());
return ApiResult.ok(loginSysUserTokenVo, language);
LoginAppUserTokenVo loginAppUserTokenVo = new LoginAppUserTokenVo();
BeanUtils.copyProperties(appUser, loginAppUserTokenVo);
loginAppUserTokenVo.setToken(token);
loginAppUserTokenVo.setId(appUser.getId());
loginAppUserTokenVo.setHasRegister(hasRegister);
return ApiResult.ok(loginAppUserTokenVo, language);
}
......
......@@ -28,23 +28,48 @@ import lombok.experimental.Accessors;
**/
@Data
@Accessors(chain = true)
@ApiModel("登录用户信息TokenVO")
@ApiModel("登录用户信息LoginAppUserTokenVo")
public class LoginAppUserTokenVo implements LoginToken {
@ApiModelProperty("token")
private String token;
@ApiModelProperty("主键")
private Long userId;
private Long id;
@ApiModelProperty("用户名")
private String username;
// @ApiModelProperty("昵称")
// private String nickname;
@ApiModelProperty("是否已经注册, true = 已经注册")
private Boolean hasRegister;
// /**
// * 登录用户对象
// */
// private LoginUserVo loginSysUserVo;
@ApiModelProperty("姓")
private String surname;
@ApiModelProperty("名")
private String name;
@ApiModelProperty("公司名")
private String companyName;
@ApiModelProperty("微信号")
private String wechat;
@ApiModelProperty("出生日期")
private String dateOfBirth;
@ApiModelProperty("昵称")
private String nickname;
@ApiModelProperty("手机号码")
private String phone;
@ApiModelProperty("手机区号")
private String phoneArea;
@ApiModelProperty("性别,0:女,1:男,默认1")
private Integer gender;
@ApiModelProperty("头像")
private String head;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment