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