1.8 用户注册_和使用的工具类

步骤1:在common模块下,创建对应的工具类

/** 创建性别枚举(Sex)*/
/** md5加密类(MD5Utils)*/
/** 时间转换格式化类(DateUtil)*/
/** 生成全局唯一主机id (Sid)*/

1.8 用户注册_和使用的工具类_第1张图片

步骤2:在pojo模块下,创建表单封装bo对象

/** 注册表单bo对象 UserBO*/

1.8 用户注册_和使用的工具类_第2张图片

步骤3:在service模块下,UserService接口和实现类中添加创建用户方法

/** 创建用户接口*/
public Users createUser(UserBO userBO);

/** 创建用户实现*/
@Autowired
private Sid sid;
private static final String USER_FACE = "http://122.152.205.72:88/group1/M00/00/05/CpoxxFw_8_qAIlFXAAAcIhVPdSg994.png";

@Transactional(propagation = Propagation.REQUIRED)
@Override
public Users createUser(UserBO userBO) {
	String userId = sid.nextShort();
	Users user = new Users();
	user.setId(userId);
	user.setUsername(userBO.getUsername());
	try {
		user.setPassword(MD5Utils.getMD5Str(userBO.getPassword()));
	} catch (Exception e) {
		e.printStackTrace();
	}
	// 默认用户昵称同用户名
	user.setNickname(userBO.getUsername());
	// 默认头像
	user.setFace(USER_FACE);
	// 默认生日
	user.setBirthday(DateUtil.stringToDate("1900-01-01"));
	// 默认性别为 保密
	user.setSex(Sex.secret.type);
	user.setCreatedTime(new Date());
	user.setUpdatedTime(new Date());
	usersMapper.insert(user);
	return user;
}

步骤4:在api模块下,UserController创建注册接口

@PostMapping("/regist")
public JSONResult regist(@RequestBody UserBO userBO) {
	String username = userBO.getUsername();
	String password = userBO.getPassword();
	String confirmPwd = userBO.getConfirmPassword();
	// 0. 判断用户名和密码必须不为空
	if (StringUtils.isBlank(username) || StringUtils.isBlank(password) || StringUtils.isBlank(confirmPwd)) {
		return JSONResult.errorMsg("用户名或密码不能为空");
	}
	// 1. 查询用户名是否存在
	boolean isExist = userService.queryUsernameIsExist(username);
	if (isExist) {
		return JSONResult.errorMsg("用户名已经存在");
	}
	// 2. 密码长度不能少于6位
	if (password.length() < 6) {
		return JSONResult.errorMsg("密码长度不能少于6");
	}
	// 3. 判断两次密码是否一致
	if (!password.equals(confirmPwd)) {
		return JSONResult.errorMsg("两次密码输入不一致");
	}
	// 4. 实现注册
	userService.createUser(userBO);
	return JSONResult.ok();
}

步骤5:启动类添加扫描所有包以及相关组件包

@SpringBootApplication
// 扫描mybatis通用mapper所在的包
@MapperScan(basePackages="com.one.mapper")
// 扫描所有包以及相关组件包
@ComponentScan(basePackages = {"com.one", "org.n3r.idworker"})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

1.8 用户注册_和使用的工具类_第3张图片

源码地址:
http://www.gxcode.top/code
1.8 用户注册_和使用的工具类_第4张图片
1.8 用户注册_和使用的工具类_第5张图片

你可能感兴趣的:(java架构笔记,用户注册_工具类)