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 implements IVideoCategoryService { @Override public List> findVideoCategory() { List list = this.baseMapper.selectList(null); return convertTree(list); } @Override public List> categoryTree(VideoCategoryEntity category) { QueryWrapper queryWrapper = new QueryWrapper<>(); if (StringUtils.isNotBlank(category.getName())) { queryWrapper.lambda().eq(VideoCategoryEntity::getName, category.getName()); } queryWrapper.lambda().orderByAsc(VideoCategoryEntity::getSeq); List list = this.baseMapper.selectList(null); List> trees = convertTree(list); return TreeUtil.buildDeptTree(trees); } private List> convertTree(List list) { List> trees = new ArrayList<>(); list.forEach(category -> { DeptTree 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; } }