| src/main/java/org/springblade/modules/category/controller/CategoryController.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/category/excel/CategoryExcel.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/category/excel/CategoryImporter.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/category/service/ICategoryService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/category/service/impl/CategoryServiceImpl.java | ●●●●● patch | view | raw | blame | history |
src/main/java/org/springblade/modules/category/controller/CategoryController.java
@@ -24,18 +24,20 @@ import javax.validation.Valid; import org.springblade.common.node.TreeIntegerNode; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.label.vo.LabelVO; import org.springblade.modules.category.excel.CategoryExcel; import org.springblade.modules.category.excel.CategoryImporter; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.modules.category.entity.CategoryEntity; import org.springblade.modules.category.vo.CategoryVO; import org.springblade.modules.category.wrapper.CategoryWrapper; import org.springblade.modules.category.service.ICategoryService; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** @@ -143,5 +145,15 @@ return R.data(categoryService.getCategory(category)); } /** * 天地图poi 导入 */ @PostMapping("/import-category") public R importCategory(MultipartFile file, Integer isCovered) { CategoryImporter categoryImporter = new CategoryImporter(categoryService, isCovered == 1); ExcelUtil.save(file, categoryImporter, CategoryExcel.class); return R.success("操作成功"); } } src/main/java/org/springblade/modules/category/excel/CategoryExcel.java
New file @@ -0,0 +1,45 @@ package org.springblade.modules.category.excel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import java.io.Serializable; /** * CategoryExcel * * @author Chill */ @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class CategoryExcel implements Serializable { private static final long serialVersionUID = 2L; /** 标签名称 */ @ExcelProperty( "小类") private String categoryName; /** 标签编号 */ @ExcelProperty( "类别代码") private String categoryNo; /** 层级 */ @ExcelProperty( "层级") private Integer level; /** 提示词分类描述 */ @ExcelProperty( "提示词分类描述") private String description; /** 备注 */ @ExcelProperty( "备注") private String remark; } src/main/java/org/springblade/modules/category/excel/CategoryImporter.java
New file @@ -0,0 +1,39 @@ /* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.category.excel; import lombok.RequiredArgsConstructor; import org.springblade.core.excel.support.ExcelImporter; import org.springblade.modules.category.service.ICategoryService; import java.util.List; /** * 场所标签poi数据导入类 * * @author Chill */ @RequiredArgsConstructor public class CategoryImporter implements ExcelImporter<CategoryExcel> { private final ICategoryService categoryService; private final Boolean isCovered; @Override public void save(List<CategoryExcel> data) { categoryService.importCategory(data, isCovered); } } src/main/java/org/springblade/modules/category/service/ICategoryService.java
@@ -21,6 +21,7 @@ import org.springblade.common.node.TreeIntegerNode; 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 java.util.List; @@ -56,4 +57,11 @@ List<CategoryDTO> selectCategoryLabelList(CategoryDTO categoryDTO); List<TreeIntegerNode> tree(CategoryVO category); /** * 标签导入 * @param data * @param isCovered */ void importCategory(List<CategoryExcel> data, Boolean isCovered); } src/main/java/org/springblade/modules/category/service/impl/CategoryServiceImpl.java
@@ -16,11 +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; @@ -77,4 +79,32 @@ 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); } } } }