【开源】在线办公系统 JAVA+Vue.js+SpringBoot+MySQL-3 核心代码

时间:2024-02-16 22:46:13

3.1 查询用户

@GetMapping("/page")
public Result findPage(@RequestParam(defaultValue = "") String name,
                        @RequestParam Integer pageNum,
                        @RequestParam Integer pageSize) {
    QueryWrapper<Dept> queryWrapper = new QueryWrapper<>();
    queryWrapper.orderByDesc("id");
    if (!"".equals(name)) {
        queryWrapper.like("name", name);
    }
    User currentUser = TokenUtils.getCurrentUser();
    if (currentUser.getRole().equals("ROLE_USER")) {
        queryWrapper.eq("userid", currentUser.getId());
    }
    return Result.success(deptService.page(new Page<>(pageNum, pageSize), queryWrapper));
}

3.2 导入用户

@PostMapping("/import")
public Result imp(MultipartFile file) throws Exception {
    InputStream inputStream = file.getInputStream();
    ExcelReader reader = ExcelUtil.getReader(inputStream);
    // 通过 javabean的方式读取Excel内的对象,但是要求表头必须是英文,跟javabean的属性要对应起来
    List<Dept> list = reader.readAll(Dept.class);

    deptService.saveBatch(list);
    return Result.success();
}

private User getUser() {
    return TokenUtils.getCurrentUser();
}

3.3 新增公告

@PostMapping
public Result save(@RequestBody Notice notice) {
    if (notice.getId() == null) {
        notice.setTime(DateUtil.now());
        notice.setUser(TokenUtils.getCurrentUser().getNickname());
        notice.setUserid(TokenUtils.getCurrentUser().getId());
    }
    noticeService.saveOrUpdate(notice);
    return Result.success();
}