From 48e8e81666b2d0f49b931cb7b93729355758f2ae Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 24 九月 2026 19:24:02 +0800
Subject: [PATCH] fix(aftersalesservice): 解决售后工单查询中的空指针异常

---
 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