阳光沙滩博客系统-管理中心分类模块

# 添加分类

接口

    /**
     * 添加分类
     * 需要管理员权限
     *
     * @return
     */
    @PreAuthorize("@permission.admin()")
    @PostMapping
    public ResponseResult addCategory(@RequestBody Category category) {
        return categoryService.addCategory(category);
    }
1
2
3
4
5
6
7
8
9
10
11

实现


    @Override
    public ResponseResult addCategory(Category category) {
        //先检查数据
        // 必须的数据有:
        //分类名称、分类的pinyin、顺序、描述
        if (TextUtils.isEmpty(category.getName())) {
            return ResponseResult.FAILED("分类名称不可以为空.");
        }
        if (TextUtils.isEmpty(category.getPinyin())) {
            return ResponseResult.FAILED("分类拼音不可以为空.");
        }
        if (TextUtils.isEmpty(category.getDescription())) {
            return ResponseResult.FAILED("分类描述不可以为空.");
        }
        //补全数据
        category.setId(idWorker.nextId() + "");
        category.setStatus("1");
        category.setCreateTime(new Date());
        category.setUpdateTime(new Date());
        //保存数据
        categoryDao.save(category);
        //返回结果
        return ResponseResult.SUCCESS("添加分类成功");
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 修改分类

接口

    /**
     * 更新分类
     *
     * @param categoryId
     * @param category
     * @return
     */
    @PreAuthorize("@permission.admin()")
    @PutMapping("/{categoryId}")
    public ResponseResult updateCategory(@PathVariable("categoryId") String categoryId, @RequestBody Category category) {
        return categoryService.updateCategory(categoryId, category);
    }
1
2
3
4
5
6
7
8
9
10
11
12

实现

/**
     * 更新内容有什么:
     * logo
     * 对方网站的名称
     * url
     * order
     *
     * @param friendLinkId
     * @param friendLink
     * @return
     */
@Override
public ResponseResult updateFriendLink(String friendLinkId, FriendLink friendLink) {
    FriendLink friendLinkFromDb = friendLinkDao.findOneById(friendLinkId);
    if (friendLinkFromDb == null) {
        return ResponseResult.FAILED("更新失败.");
    }
    String logo = friendLink.getLogo();
    if (!TextUtils.isEmpty(logo)) {
        friendLinkFromDb.setLogo(logo);
    }
    String name = friendLink.getName();
    if (!TextUtils.isEmpty(name)) {
        friendLinkFromDb.setName(name);
    }
    String url = friendLink.getUrl();
    if (!TextUtils.isEmpty(url)) {
        friendLinkFromDb.setUrl(url);
    }
    friendLinkFromDb.setOrder(friendLink.getOrder());
    //保存数据
    friendLinkDao.save(friendLinkFromDb);
    return ResponseResult.SUCCESS("更新成功.");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

# 删除分类

接口


    /**
     * 删除分类
     *
     * @param categoryId
     * @return
     */
    @PreAuthorize("@permission.admin()")
    @DeleteMapping("/{categoryId}")
    public ResponseResult deleteCategory(@PathVariable("categoryId") String categoryId) {
        return categoryService.deleteCategory(categoryId);
    }
1
2
3
4
5
6
7
8
9
10
11
12

实现

    @Override
    public ResponseResult deleteCategory(String categoryId) {
        int result = categoryDao.deleteCategoryByUpdateState(categoryId);
        if (result == 0) {
            return ResponseResult.FAILED("该分类不存在.");
        }
        return ResponseResult.SUCCESS("删除分类成功.");
    }

1
2
3
4
5
6
7
8
9

# 获取分类

接口


    /**
     * 获取分类
     * <p>
     * 使用的case:修改的时候,获取一下。填充弹窗
     * 不获取也是可以的,从列表里获取数据
     * <p>
     * 权限:管理员权限
     *
     * @param categoryId
     * @return
     */
    @PreAuthorize("@permission.admin()")
    @GetMapping("/{categoryId}")
    public ResponseResult getCategory(@PathVariable("categoryId") String categoryId) {
        return categoryService.getCategory(categoryId);
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

实现


    @Override
    public ResponseResult getCategory(String categoryId) {
        Category category = categoryDao.findOneById(categoryId);
        if (category == null) {
            return ResponseResult.FAILED("分类不存在.");
        }
        return ResponseResult.SUCCESS("获取分类成功.").setData(category);
    }

1
2
3
4
5
6
7
8
9
10

# 获取分类列表

接口

    /**
     * 获取分类列表
     * <p>
     * 权限:管理员权限
     *
     * @param page 页码
     * @param size 每一页的记录数量
     * @return
     */
    @PreAuthorize("@permission.admin()")
    @GetMapping("/list/{page}/{size}")
    public ResponseResult listCategories(@PathVariable("page") int page, @PathVariable("size") int size) {
        return categoryService.listCategories(page, size);
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14

实现

@Override
    public ResponseResult listCategories(int page, int size) {
        //参数检查
        if (page < Constants.Page.DEFAULT_PAGE) {
            page = Constants.Page.DEFAULT_PAGE;
        }
        if (size < Constants.Page.DEFAULT_SIZE) {
            size = Constants.Page.DEFAULT_SIZE;
        }
        //创建条件
        Sort sort = new Sort(Sort.Direction.DESC, "createTime", "order");
        Pageable pageable = PageRequest.of(page - 1, size, sort);
        //查询
        Page<Category> all = categoryDao.findAll(pageable);
        //返回结果
        return ResponseResult.SUCCESS("获取分类列表成功.").setData(all);
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
上次更新: 2022/03/28, 23:04:38