Merge remote-tracking branch 'origin/master'

This commit is contained in:
sin 2019-03-10 11:48:08 +08:00
commit d7ca235cd8
9 changed files with 34 additions and 48 deletions

2
.gitignore vendored
View File

@ -19,7 +19,7 @@
*.iml *.iml
*.ipr *.ipr
target/* target/*
*/target/* *.class
### NetBeans ### ### NetBeans ###
/nbproject/private/ /nbproject/private/

View File

@ -1,19 +1,5 @@
package cn.iocoder.mall.user.service.api; package cn.iocoder.mall.user.service.api;
import cn.iocoder.common.framework.exception.ServiceException;
import cn.iocoder.mall.user.service.api.bo.UserBO;
public interface UserService { public interface UserService {
/**
* 创建用户一般在用户注册时调用该方法
*
* TODO 芋艿此处要传递一些用户注册时的相关信息例如说 ipua客户端来源等等用于数据分析风控等等
*
* @param mobile 手机号
* @param code 手机验证码
* @return 用户
*/
UserBO createUser(String mobile, String code) throws ServiceException;
} }

View File

@ -1,13 +1,13 @@
package cn.iocoder.mall.user.dataobject; package cn.iocoder.mall.user.dataobject;
import java.util.Date; import cn.iocoder.common.framework.dataobject.BaseDO;
/** /**
* 用户实体存储用户基本数据 * 用户实体存储用户基本数据
* *
* idx_mobile 唯一索引 * idx_mobile 唯一索引
*/ */
public class UserDO { public class UserDO extends BaseDO {
/** /**
* 用户编号 * 用户编号
@ -18,9 +18,13 @@ public class UserDO {
*/ */
private String mobile; private String mobile;
/** /**
* 创建时间 * 昵称
*/ */
private Date createTime; private String nickname;
/**
* 头像
*/
private String avatar;
public Long getId() { public Long getId() {
return id; return id;
@ -40,12 +44,22 @@ public class UserDO {
return this; return this;
} }
public Date getCreateTime() { public String getNickname() {
return createTime; return nickname;
} }
public UserDO setCreateTime(Date createTime) { public UserDO setNickname(String nickname) {
this.createTime = createTime; this.nickname = nickname;
return this; return this;
} }
public String getAvatar() {
return avatar;
}
public UserDO setAvatar(String avatar) {
this.avatar = avatar;
return this;
}
} }

View File

@ -61,7 +61,11 @@ public class OAuth2ServiceImpl implements OAuth2Service {
// 获取用户 // 获取用户
UserDO userDO = userService.getUser(mobile); UserDO userDO = userService.getUser(mobile);
if (userDO == null) { // 用户不存在则进行创建用户 if (userDO == null) { // 用户不存在则进行创建用户
userDO = userService.createUser(mobile); CommonResult<UserDO> createResult = userService.createUser(mobile);
if (createResult.isError()) {
return CommonResult.error(createResult);
}
userDO = createResult.getData();
Assert.notNull(userDO, "创建用户必然成功"); Assert.notNull(userDO, "创建用户必然成功");
} }
// 创建刷新令牌 // 创建刷新令牌

View File

@ -1,14 +1,13 @@
package cn.iocoder.mall.user.service; package cn.iocoder.mall.user.service;
import cn.iocoder.common.framework.util.ServiceExceptionUtil; import cn.iocoder.common.framework.util.ServiceExceptionUtil;
import cn.iocoder.mall.user.convert.UserConvert; import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.user.dao.UserMapper; import cn.iocoder.mall.user.dao.UserMapper;
import cn.iocoder.mall.user.dao.UserRegisterMapper; import cn.iocoder.mall.user.dao.UserRegisterMapper;
import cn.iocoder.mall.user.dataobject.UserDO; import cn.iocoder.mall.user.dataobject.UserDO;
import cn.iocoder.mall.user.dataobject.UserRegisterDO; import cn.iocoder.mall.user.dataobject.UserRegisterDO;
import cn.iocoder.mall.user.service.api.UserService; import cn.iocoder.mall.user.service.api.UserService;
import cn.iocoder.mall.user.service.api.constant.UserErrorCodeEnum; import cn.iocoder.mall.user.service.api.constant.UserErrorCodeEnum;
import cn.iocoder.mall.user.service.api.bo.UserBO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -32,38 +31,21 @@ public class UserServiceImpl implements UserService {
return userMapper.selectByMobile(mobile); return userMapper.selectByMobile(mobile);
} }
@Override
@Transactional @Transactional
public UserBO createUser(String mobile, String code) { public CommonResult<UserDO> createUser(String mobile) {
// TODO 芋艿校验手机格式 // TODO 芋艿校验手机格式
// 校验手机号的最后一个手机验证码是否有效
mobileCodeService.validLastMobileCode(mobile, code);
// 校验用户是否已经存在 // 校验用户是否已经存在
if (getUser(mobile) != null) { if (getUser(mobile) != null) {
throw ServiceExceptionUtil.exception(UserErrorCodeEnum.USER_MOBILE_ALREADY_REGISTERED.getCode()); return ServiceExceptionUtil.error(UserErrorCodeEnum.USER_MOBILE_ALREADY_REGISTERED.getCode());
} }
// 创建用户 // 创建用户
UserDO userDO = new UserDO().setMobile(mobile).setCreateTime(new Date()); UserDO userDO = new UserDO().setMobile(mobile);
userDO.setCreateTime(new Date());
userMapper.insert(userDO); userMapper.insert(userDO);
// 插入注册信息 // 插入注册信息
createUserRegister(userDO); createUserRegister(userDO);
// 转换返回 // 转换返回
return UserConvert.INSTANCE.convert(userDO); return CommonResult.success(userDO);
}
@Transactional
public UserDO createUser(String mobile) {
// 校验用户是否已经存在
if (getUser(mobile) != null) {
throw ServiceExceptionUtil.exception(UserErrorCodeEnum.USER_MOBILE_ALREADY_REGISTERED.getCode());
}
// 创建用户
UserDO userDO = new UserDO().setMobile(mobile).setCreateTime(new Date());
userMapper.insert(userDO);
// 插入注册信息
createUserRegister(userDO);
// 转换返回
return userDO;
} }
private void createUserRegister(UserDO userDO) { private void createUserRegister(UserDO userDO) {