本文最后更新于 175 天前,其中的信息可能已经有所发展或是发生改变。
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);
} 
			






