From 0891b6708cc09c2672a19661a8555aae0e742df1 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期四, 24 九月 2026 16:54:27 +0800
Subject: [PATCH] feat: 新增多模块导入导出功能
---
src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesNearExpiryController.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesNearExpiryController.java b/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesNearExpiryController.java
index ccc13b9..5e02aad 100644
--- a/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesNearExpiryController.java
+++ b/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesNearExpiryController.java
@@ -2,16 +2,25 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.aftersalesservice.dto.AfterSalesNearExpiryExportDto;
+import com.ruoyi.aftersalesservice.dto.AfterSalesNearExpiryImportDto;
import com.ruoyi.aftersalesservice.pojo.AfterSalesNearExpiry;
import com.ruoyi.aftersalesservice.service.AfterSalesNearExpiryService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* <br>
@@ -74,4 +83,46 @@
return AjaxResult.success(listPage);
}
+ /**
+ * 瀵煎叆涓存湡鍞悗
+ */
+ @PostMapping("/import")
+ @Operation(summary = "涓存湡鍞悗绠$悊-瀵煎叆")
+ @Log(title = "涓存湡鍞悗绠$悊-瀵煎叆", businessType = BusinessType.IMPORT)
+ public AjaxResult importData(MultipartFile file) {
+ return afterSalesNearExpiryService.importData(file);
+ }
+
+ /**
+ * 涓嬭浇瀵煎叆妯℃澘
+ */
+ @PostMapping("/importTemplate")
+ @Operation(summary = "涓存湡鍞悗绠$悊-瀵煎叆妯℃澘")
+ public void importTemplate(HttpServletResponse response) {
+ ExcelUtil<AfterSalesNearExpiryImportDto> util = new ExcelUtil<AfterSalesNearExpiryImportDto>(AfterSalesNearExpiryImportDto.class);
+ util.importTemplateExcel(response, "涓存湡鍞悗绠$悊瀵煎叆妯℃澘");
+ }
+
+ /**
+ * 瀵煎嚭涓存湡鍞悗
+ */
+ @PostMapping("/export")
+ @Operation(summary = "涓存湡鍞悗绠$悊-瀵煎嚭")
+ @Log(title = "涓存湡鍞悗绠$悊-瀵煎嚭", businessType = BusinessType.EXPORT)
+ public void export(HttpServletResponse response) {
+ Page<AfterSalesNearExpiry> page = new Page<>(-1, -1);
+ List<AfterSalesNearExpiry> list = afterSalesNearExpiryService.listPage(page, new AfterSalesNearExpiry()).getRecords();
+ List<AfterSalesNearExpiryExportDto> exportList = new ArrayList<>();
+ for (AfterSalesNearExpiry item : list) {
+ AfterSalesNearExpiryExportDto dto = new AfterSalesNearExpiryExportDto();
+ BeanUtils.copyProperties(item, dto);
+ if (item.getStatus() != null) {
+ dto.setStatusName(String.valueOf(item.getStatus()));
+ }
+ exportList.add(dto);
+ }
+ ExcelUtil<AfterSalesNearExpiryExportDto> util = new ExcelUtil<AfterSalesNearExpiryExportDto>(AfterSalesNearExpiryExportDto.class);
+ util.exportExcel(response, exportList, "涓存湡鍞悗绠$悊");
+ }
+
}
--
Gitblit v1.9.3