Views: 0
逻辑
注册本质是新增,注册的本质就是新增,只是叫法不一样而已 所以说注册功能,我们把前端传过去的username和password获取到之后,赋值到Student对象里面,再去调用新增的方法就行了。
注册只允许注册学生
前端界面根据需要修改
WebController.java
StudentService.java/**
* 注册
*/
@PostMapping("/register")
public Result register(@RequestBody Account account) {
// 学生注册
studentService.register(account);
return Result.success();
}
StudentService.java
/**
* 新增学生
*/
public void add(Student student) {
// 确保这里没有设置或使用student.setTitle()方法
Student dbStudent = studentMapper.selectByUsername(student.getUsername());
if (ObjectUtil.isNotEmpty(dbStudent)) {
throw new CustomException("用户名已存在");
}
if(ObjectUtil.isEmpty(student.getPassword())){
student.setPassword("123456");
}
// 如果没有name,就设置name为username
if(ObjectUtil.isEmpty(student.getName())){
student.setName(student.getUsername());
}
student.setRole("STUDENT");
student.setScore(0);
studentMapper.insert(student);
}
/**
* 注册
*/
public void register(Account account) {
// ToDo 注册逻辑处理
// 1. 检查用户是否存在
// 2. 如果用户存在,抛出异常
// 3. 如果用户不存在,注册用户
// 4. 如果注册成功,返回用户信息
Student student = new Student();
student.setUsername(account.getUsername());
student.setPassword(account.getPassword());
add(student);
}