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 | 65 +++++++++++++++++++++++++++++---
1 files changed, 58 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesNearExpiryController.java b/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesNearExpiryController.java
index 129403c..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.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+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>
@@ -23,7 +32,7 @@
* @since 2026/03/02 14:40
*/
@RestController
-@Api(tags = "涓存湡鍞悗绠$悊")
+@Tag(name = "涓存湡鍞悗绠$悊")
@RequestMapping("/afterSalesNearExpiryService")
@AllArgsConstructor
public class AfterSalesNearExpiryController extends BaseController {
@@ -34,7 +43,7 @@
* 鏂板涓存湡鍞悗
*/
@PostMapping("/add")
- @ApiOperation("鏂板涓存湡鍞悗")
+ @Operation(summary = "鏂板涓存湡鍞悗")
@Log(title = "鏂板涓存湡鍞悗", businessType = BusinessType.INSERT)
public AjaxResult add(@RequestBody AfterSalesNearExpiry entity) {
afterSalesNearExpiryService.add(entity);
@@ -45,7 +54,7 @@
* 鏇存柊涓存湡鍞悗
*/
@PostMapping("/update")
- @ApiOperation("鏇存柊涓存湡鍞悗")
+ @Operation(summary = "鏇存柊涓存湡鍞悗")
@Log(title = "鏇存柊涓存湡鍞悗", businessType = BusinessType.UPDATE)
public AjaxResult update(@RequestBody AfterSalesNearExpiry entity) {
afterSalesNearExpiryService.update(entity);
@@ -56,7 +65,7 @@
* 鍒犻櫎涓存湡鍞悗
*/
@DeleteMapping("/delete")
- @ApiOperation("鍒犻櫎涓存湡鍞悗")
+ @Operation(summary = "鍒犻櫎涓存湡鍞悗")
@Log(title = "鍒犻櫎涓存湡鍞悗", businessType = BusinessType.DELETE)
public AjaxResult delete(Long[] ids) {
afterSalesNearExpiryService.delete(ids);
@@ -67,11 +76,53 @@
* 鍒嗛〉鏌ヨ涓存湡鍞悗
*/
@GetMapping("/listPage")
- @ApiOperation("鍒嗛〉鏌ヨ涓存湡鍞悗")
+ @Operation(summary = "鍒嗛〉鏌ヨ涓存湡鍞悗")
@Log(title = "鍒嗛〉鏌ヨ涓存湡鍞悗", businessType = BusinessType.OTHER)
public AjaxResult listPage(Page<AfterSalesNearExpiry> page, AfterSalesNearExpiry entity) {
IPage<AfterSalesNearExpiry> listPage = afterSalesNearExpiryService.listPage(page, entity);
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