Helius
2021-12-16 95eb28c414a93000baa96784de0f096be0789fac
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package cc.mrbird.febs.video.service.impl;
 
import cc.mrbird.febs.common.entity.DeptTree;
import cc.mrbird.febs.common.utils.TreeUtil;
import cc.mrbird.febs.system.entity.Dept;
import cc.mrbird.febs.video.entity.VideoCategoryEntity;
import cc.mrbird.febs.video.mapper.VideoCategoryMapper;
import cc.mrbird.febs.video.service.IVideoCategoryService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * @author wzy
 * @date 2021-12-14
 **/
@Slf4j
@Service
@RequiredArgsConstructor
public class VideoCategoryServiceImpl extends ServiceImpl<VideoCategoryMapper, VideoCategoryEntity> implements IVideoCategoryService {
    @Override
    public List<DeptTree<VideoCategoryEntity>> findVideoCategory() {
        List<VideoCategoryEntity> list = this.baseMapper.selectList(null);
        return convertTree(list);
    }
 
    @Override
    public List<DeptTree<VideoCategoryEntity>> categoryTree(VideoCategoryEntity category) {
        QueryWrapper<VideoCategoryEntity> queryWrapper = new QueryWrapper<>();
 
        if (StringUtils.isNotBlank(category.getName())) {
            queryWrapper.lambda().eq(VideoCategoryEntity::getName, category.getName());
        }
        queryWrapper.lambda().orderByAsc(VideoCategoryEntity::getSeq);
 
        List<VideoCategoryEntity> list = this.baseMapper.selectList(null);
        List<DeptTree<VideoCategoryEntity>> trees = convertTree(list);
 
        return TreeUtil.buildDeptTree(trees);
    }
 
    private List<DeptTree<VideoCategoryEntity>> convertTree(List<VideoCategoryEntity> list) {
        List<DeptTree<VideoCategoryEntity>> trees = new ArrayList<>();
        list.forEach(category -> {
            DeptTree<VideoCategoryEntity> tree = new DeptTree<>();
            tree.setId(String.valueOf(category.getId()));
            tree.setParentId(String.valueOf(category.getParentId()));
            tree.setName(category.getName());
            tree.setData(category);
            trees.add(tree);
        });
        return trees;
    }
}