From 73ea78235e216c3d34d9ce10723af046737635d5 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期二, 05 三月 2024 18:10:31 +0800 Subject: [PATCH] Excel导入部分 --- dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java | 63 ++++++++++++++++++++++++------- 1 files changed, 48 insertions(+), 15 deletions(-) diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java index 9bbbf98..a439c07 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java @@ -1,26 +1,33 @@ package org.dromara.demo.controller; -import java.util.List; - -import lombok.RequiredArgsConstructor; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; -import org.springframework.web.bind.annotation.*; -import org.springframework.validation.annotation.Validated; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.web.core.BaseController; -import org.dromara.common.mybatis.core.page.PageQuery; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; +import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.core.ExcelResult; import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.demo.domain.vo.RsSceneryOperationDataVo; -import org.dromara.demo.domain.bo.RsSceneryOperationDataBo; -import org.dromara.demo.service.IRsSceneryOperationDataService; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.demo.domain.RsSceneryOperationData; +import org.dromara.demo.domain.bo.RsSceneryOperationDataBo; +import org.dromara.demo.domain.vo.RsSceneryOperationDataVo; +import org.dromara.demo.service.IRsSceneryOperationDataService; +import org.springframework.http.MediaType; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; /** * 鏅尯杩愯鏁版嵁 @@ -35,6 +42,8 @@ public class RsSceneryOperationDataController extends BaseController { private final IRsSceneryOperationDataService rsSceneryOperationDataService; + private final StringBuilder successMsg = new StringBuilder(); + private final StringBuilder failureMsg = new StringBuilder(); /** * 鏌ヨ鏅尯杩愯鏁版嵁鍒楄〃 @@ -56,6 +65,30 @@ ExcelUtil.exportExcel(list, "鏅尯杩愯鏁版嵁", RsSceneryOperationDataVo.class, response); } + + /** + * 瀵煎叆鏁版嵁 + * + * @param file 瀵煎叆鏂囦欢 + */ + @Log(title = "瀵煎叆鏁版嵁", businessType = BusinessType.IMPORT) + @SaCheckPermission("demo:sceneryOperationData:import") + @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public R<Void> importData(@RequestPart("file") MultipartFile file) throws Exception { + ExcelResult<RsSceneryOperationDataVo> result = ExcelUtil.importExcel(file.getInputStream(), RsSceneryOperationDataVo.class, true); + List<RsSceneryOperationData> list = MapstructUtils.convert(result.getList(), RsSceneryOperationData.class); + return R.ok(rsSceneryOperationDataService.importExcel(list)); + } + + /** + * 鑾峰彇瀵煎叆妯℃澘 + */ + @SaCheckPermission("demo:sceneryOperationData:importTemplate") + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil.exportExcel(new ArrayList<>(), "鏅尯杩愯鏁版嵁", RsSceneryOperationDataVo.class, response); + } + /** * 鑾峰彇鏅尯杩愯鏁版嵁璇︾粏淇℃伅 * -- Gitblit v1.8.0