linwe
2024-08-09 8b7258c9427882bb1798f1502eaa35184c6e374e
src/main/java/org/springblade/modules/category/service/impl/CategoryServiceImpl.java
@@ -16,9 +16,13 @@
 */
package org.springblade.modules.category.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.node.TreeIntegerNode;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.modules.category.dto.CategoryDTO;
import org.springblade.modules.category.entity.CategoryEntity;
import org.springblade.modules.category.excel.CategoryExcel;
import org.springblade.modules.category.vo.CategoryVO;
import org.springblade.modules.category.mapper.CategoryMapper;
import org.springblade.modules.category.service.ICategoryService;
@@ -27,6 +31,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
import java.util.Map;
/**
 * 天地图poi 分类表 服务实现类
@@ -58,4 +63,48 @@
   public List<CategoryDTO> selectCategoryLabelList(CategoryDTO categoryDTO) {
      return this.baseMapper.selectCategoryList(categoryDTO);
   }
   @Override
   public List<TreeIntegerNode> tree(CategoryVO category) {
      Map<Integer, TreeIntegerNode> labelTreeList = baseMapper.getTreeList(category);
      List<TreeIntegerNode> nodeTree = NodeTreeUtil.getNodeTree(labelTreeList);
      nodeTree.forEach(node -> recursion(node));
      return nodeTree;
   }
   private void recursion(TreeIntegerNode node) {
      if (node.getChildren() != null && node.getChildren().size() > 0) {
         node.getChildren().forEach(node2 -> recursion(node2));
      } else {
         node.setChildren(null);
      }
   }
   /**
    * 标签导入
    * @param data
    * @param isCovered
    */
   @Override
   public void importCategory(List<CategoryExcel> data, Boolean isCovered) {
      for (CategoryExcel categoryExcel : data) {
         // 查询是否已存在
         QueryWrapper<CategoryEntity> wrapper = new QueryWrapper<>();
         wrapper.eq("category_no",categoryExcel.getCategoryNo()).eq("is_deleted",0);
         CategoryEntity one = getOne(wrapper);
         if (null==one){
            // 新增
            CategoryEntity categoryEntity = new CategoryEntity();
            categoryEntity.setCategoryNo(categoryExcel.getCategoryNo());
            categoryEntity.setCategoryName(categoryExcel.getCategoryName());
            categoryEntity.setLevel(categoryExcel.getLevel());
            categoryEntity.setIsDeleted(0);
            categoryEntity.setParentNo(categoryExcel.getCategoryNo().substring(0,4));
            categoryEntity.setDescription(categoryExcel.getDescription());
            categoryEntity.setRemark(categoryExcel.getRemark());
            // 新增
            save(categoryEntity);
         }
      }
   }
}