liu
2026-10-26 dddc473c582e983674913163dd4e93f840effbdb
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictDataController.java
@@ -7,6 +7,9 @@
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataImportExcelVO;
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataImportReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataImportRespVO;
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataRespVO;
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataSaveReqVO;
@@ -24,6 +27,7 @@
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
@@ -110,4 +114,25 @@
                BeanUtils.toBean(list, DictDataRespVO.class));
    }
    @GetMapping("/get-import-template")
    @Operation(summary = "获得导入字典数据模板")
    public void importTemplate(HttpServletResponse response) throws IOException {
        // 手动创建导出 demo
        List<DictDataImportExcelVO> list = Arrays.asList(
                DictDataImportExcelVO.builder().sort(1).label("示例字典数据").value("demo")
                        .dictType("demo_dict_type").status(0).colorType("").cssClass("").remark("").build()
        );
        // 输出
        ExcelUtils.write(response, "字典数据导入模板.xls", "字典数据列表", DictDataImportExcelVO.class, list);
    }
    @PostMapping("/import")
    @Operation(summary = "导入字典数据")
    @PreAuthorize("@ss.hasPermission('system:dict:import')")
    public CommonResult<DictDataImportRespVO> importExcel(@Valid DictDataImportReqVO importReqVO)
            throws Exception {
        List<DictDataImportExcelVO> list = ExcelUtils.read(importReqVO.getFile(), DictDataImportExcelVO.class);
        return success(dictDataService.importDictDataList(list, importReqVO));
    }
}