Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
d7ca235cd8
2
.gitignore
vendored
2
.gitignore
vendored
@ -19,7 +19,7 @@
|
|||||||
*.iml
|
*.iml
|
||||||
*.ipr
|
*.ipr
|
||||||
target/*
|
target/*
|
||||||
*/target/*
|
*.class
|
||||||
|
|
||||||
### NetBeans ###
|
### NetBeans ###
|
||||||
/nbproject/private/
|
/nbproject/private/
|
||||||
|
@ -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 芋艿,此处要传递一些用户注册时的相关信息,例如说 ip、ua、客户端来源等等。用于数据分析、风控等等。
|
|
||||||
*
|
|
||||||
* @param mobile 手机号
|
|
||||||
* @param code 手机验证码
|
|
||||||
* @return 用户
|
|
||||||
*/
|
|
||||||
UserBO createUser(String mobile, String code) throws ServiceException;
|
|
||||||
|
|
||||||
}
|
}
|
Binary file not shown.
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -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, "创建用户必然成功");
|
||||||
}
|
}
|
||||||
// 创建刷新令牌
|
// 创建刷新令牌
|
||||||
|
@ -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) {
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user