From 36e527ebd18d95d8d0f94f3aec3d3ff3f49b6570 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期三, 29 七月 2026 20:30:17 +0800
Subject: [PATCH] 各类修复
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java | 63 +++++++++++++++++--------------
1 files changed, 35 insertions(+), 28 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
index a6e1774..bc6dd74 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
@@ -8,6 +8,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUser;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.account.api.model.TAppUserCar;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.feignClient.SiteClient;
@@ -390,14 +391,32 @@
return new PageInfo<>();
}
}
- query.setUserIds(tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()));
- PageInfo<TOrderInvoiceVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
- List<TOrderInvoiceVO> list = this.baseMapper.pageList(query,pageInfo);
- List<Site> siteList = siteClient.getSiteAll().getData();
- for (TOrderInvoiceVO tOrderInvoiceVO : list) {
- tOrderInvoiceVO.setUid(tOrderInvoiceVO.getId().toString());
- List<Long> collect = orderInvoiceDetailService.lambdaQuery().eq(TOrderInvoiceDetail::getOrderInvoiceId, tOrderInvoiceVO.getId()).list().stream()
- .map(TOrderInvoiceDetail::getOrderId).collect(Collectors.toList());
+ query.setUserIds(tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()));
+ PageInfo<TOrderInvoiceVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
+ List<TOrderInvoiceVO> list = this.baseMapper.pageList(query,pageInfo);
+ if (CollectionUtils.isEmpty(list)) {
+ pageInfo.setRecords(list);
+ return pageInfo;
+ }
+ List<Long> invoiceIds = list.stream().map(TOrderInvoiceVO::getId).filter(Objects::nonNull).collect(Collectors.toList());
+ List<TOrderInvoiceDetail> orderInvoiceDetailList = invoiceIds.isEmpty() ? new ArrayList<>()
+ : orderInvoiceDetailService.list(new LambdaQueryWrapper<TOrderInvoiceDetail>()
+ .in(TOrderInvoiceDetail::getOrderInvoiceId, invoiceIds));
+ Map<Long, List<TOrderInvoiceDetail>> invoiceDetailMap = orderInvoiceDetailList.stream()
+ .collect(Collectors.groupingBy(TOrderInvoiceDetail::getOrderInvoiceId));
+ List<Long> appUserIds = list.stream().map(TOrderInvoiceVO::getAppUserId)
+ .filter(Objects::nonNull).distinct().collect(Collectors.toList());
+ R<List<TAppUser>> appUserResult = appUserIds.isEmpty() ? null : appUserClient.getUserByIds(appUserIds);
+ List<TAppUser> pageUsers = appUserResult == null || appUserResult.getData() == null
+ ? new ArrayList<>() : appUserResult.getData();
+ Map<Long, TAppUser> appUserMap = pageUsers.stream()
+ .filter(user -> user != null && user.getId() != null)
+ .collect(Collectors.toMap(TAppUser::getId, user -> user, (first, second) -> first));
+ List<Site> siteList = siteClient.getSiteAll().getData();
+ for (TOrderInvoiceVO tOrderInvoiceVO : list) {
+ tOrderInvoiceVO.setUid(tOrderInvoiceVO.getId().toString());
+ List<Long> collect = invoiceDetailMap.getOrDefault(tOrderInvoiceVO.getId(), Collections.emptyList()).stream()
+ .map(TOrderInvoiceDetail::getOrderId).collect(Collectors.toList());
Integer siteId = tOrderInvoiceVO.getSiteId();
if (siteId == null && !CollectionUtils.isEmpty(collect) && Integer.valueOf(1).equals(tOrderInvoiceVO.getOrderType())) {
List<TChargingOrder> chargingOrders = chargingOrderService.listByIds(collect);
@@ -426,28 +445,16 @@
}
}
}
- // 将其全部转化为String
- tOrderInvoiceVO.setIds(collect.stream().map(String::valueOf).collect(Collectors.toList()));
- TAppUser appUser = appUserClient.getUserById(tOrderInvoiceVO.getAppUserId()).getData();
- if (appUser!=null){
- tOrderInvoiceVO.setUserPhone(appUser.getPhone());
+ // 将其全部转化为String
+ tOrderInvoiceVO.setIds(collect.stream().map(String::valueOf).collect(Collectors.toList()));
+ TAppUser appUser = appUserMap.get(tOrderInvoiceVO.getAppUserId());
+ if (appUser!=null){
+ tOrderInvoiceVO.setUserPhone(appUser.getPhone());
+ }
+ fillInvoiceDetailAmount(tOrderInvoiceVO, orderInvoiceDetailList);
}
- }
- // 查询这个开票的订单ids
-
- if (!list.isEmpty()){
- List<Long> ids = list.stream().map(TOrderInvoiceVO::getId).collect(Collectors.toList());
-
- List<TOrderInvoiceDetail> orderInvoiceDetailList = orderInvoiceDetailService.list(new LambdaQueryWrapper<TOrderInvoiceDetail>()
- .in(TOrderInvoiceDetail::getOrderInvoiceId, ids));
-
- List<TAppUser> finalTAppUsers = tAppUsers;
- list.forEach(e -> fillInvoiceDetailAmount(e, orderInvoiceDetailList));
- }
-
-
- pageInfo.setRecords(list);
+ pageInfo.setRecords(list);
return pageInfo;
}
--
Gitblit v1.7.1