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/service/impl/AfterSalesServiceServiceImpl.java | 23 +++++++++++++++++++----
1 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java b/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
index a9e4f43..60472af 100644
--- a/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
+++ b/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
@@ -95,9 +95,19 @@
@Override
public AfterSalesServiceNewDto getAfterSalesServiceNewDtoById(Long id) {
AfterSalesService afterSalesService = afterSalesServiceMapper.selectById(id);
- SalesLedger byId = salesLedgerService.getById(afterSalesService.getSalesLedgerId());
- List<Long> collect = Arrays.stream(afterSalesService.getProductModelIds().split(",")).map(Long::valueOf).collect(Collectors.toList());
- List<SalesLedgerProduct> list = salesLedgerProductService.list(new QueryWrapper<SalesLedgerProduct>().lambda().in(SalesLedgerProduct::getId, collect));
+ if (afterSalesService == null) {
+ throw new RuntimeException("鍞悗宸ュ崟涓嶅瓨鍦�");
+ }
+ // 宸ュ崟鍙互涓嶅叧鑱斾骇鍝侊紙鍙嶉鐧昏瀵煎叆銆佸巻鍙叉暟鎹兘鏄┖锛夛紝姝ゅ蹇呴』瀹归敊
+ List<Long> collect = StringUtils.isEmpty(afterSalesService.getProductModelIds())
+ ? new ArrayList<>()
+ : Arrays.stream(afterSalesService.getProductModelIds().split(","))
+ .filter(StringUtils::isNotEmpty)
+ .map(Long::valueOf)
+ .collect(Collectors.toList());
+ List<SalesLedgerProduct> list = collect.isEmpty()
+ ? new ArrayList<>()
+ : salesLedgerProductService.list(new QueryWrapper<SalesLedgerProduct>().lambda().in(SalesLedgerProduct::getId, collect));
if (StringUtils.isNotEmpty(afterSalesService.getProductModelQuantities())) {
String[] quantities = afterSalesService.getProductModelQuantities().split(",");
@@ -133,7 +143,12 @@
AfterSalesServiceNewDto afterSalesServiceNewDto = new AfterSalesServiceNewDto();
BeanUtils.copyProperties(afterSalesService, afterSalesServiceNewDto);
SalesLedgerDto salesLedgerDto = new SalesLedgerDto();
- BeanUtils.copyProperties(byId, salesLedgerDto);
+ if (afterSalesService.getSalesLedgerId() != null) {
+ SalesLedger byId = salesLedgerService.getById(afterSalesService.getSalesLedgerId());
+ if (byId != null) {
+ BeanUtils.copyProperties(byId, salesLedgerDto);
+ }
+ }
salesLedgerDto.setProductData( list);
afterSalesServiceNewDto.setSalesLedgerDto(salesLedgerDto);
return afterSalesServiceNewDto;
--
Gitblit v1.9.3