220 字
1 分钟
用户中心项目笔记(用户管理)
2025-07-05

用户中心笔记#

查找删除#

Controller

@GetMapping("/search")
public List<User> searchUser(String username) {
    return userService.searchUser(username);
}

@PostMapping("/delete")
public boolean deleteUser(long id) {
    return userService.deleteUser(id);
}

Service

private static final String USER_LOGIN_STATE = "userLoginState";

@Override
public boolean deleteUser(long id) {
    if(id < 0) {
        return false;
    }
    return this.removeById(id);
    //这里的removeById会自动转换为逻辑删除将isDelete设置为1
}

@Override
public List<User> searchUser(String username) {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.eq("username", username);
    List<User> users = this.list(queryWrapper);
    if (users.isEmpty()) {
        log.info("查询不到指定用户名");
    }
    for (User user : users) {
        user.setUserPassword(null);
    }
    return users;
}

再增加一个权限字段role判断是否为管理员

@Override
public boolean deleteUser(long id, HttpServletRequest request) {
    if(id < 0) {
        return false;
    }
    User user = (User) request.getSession().getAttribute(USER_LOGIN_STATE);
    if(user == null || user.getRole() != 1) {
        log.info("权限不足用户尝试删除数据");
        return false;
    }
    return this.removeById(id);
}

用户注销#

service

@Override
public boolean userLogout(HttpServletRequest request) {
    if(request == null){
        log.info("注销失败");
        return false;
    }
    HttpSession session = request.getSession();
    session.removeAttribute(USER_LOGIN_STATE);
    return true;
}

controller

@PostMapping("/logout")
public boolean logout(HttpServletRequest request) {
    if(request == null){
        return false;
    }
    return userService.userLogout(request);
}
用户中心项目笔记(用户管理)
https://thrinisty.github.io/Blog/posts/用户中心项目笔记用户管理/
作者
Thrinisty
发布于
2025-07-05
许可协议
CC BY-NC-SA 4.0