From 07aa59cf3e26a25792f40ec8e92f316e907aec9c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期日, 29 九月 2024 18:00:45 +0800
Subject: [PATCH] 合併代碼

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java |   40 +++++++++++++++++++++++-----------------
 1 files changed, 23 insertions(+), 17 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 9e9a60e..9f5dd1d 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
@@ -263,31 +263,37 @@
 		List<TOrderInvoiceVO> list = this.baseMapper.pageList(query,pageInfo);
 		for (TOrderInvoiceVO tOrderInvoiceVO : list) {
 			tOrderInvoiceVO.setUid(tOrderInvoiceVO.getId().toString());
-			List<Long> collect = orderInvoiceDetailService.lambdaQuery().eq(TOrderInvoiceDetail::getOrderInvoiceId, tOrderInvoiceVO.getId())
-					.eq(TOrderInvoiceDetail::getOrderType, 1).list().stream()
+			List<Long> collect = orderInvoiceDetailService.lambdaQuery().eq(TOrderInvoiceDetail::getOrderInvoiceId, tOrderInvoiceVO.getId()).list().stream()
 					.map(TOrderInvoiceDetail::getOrderId).collect(Collectors.toList());
 			// 将其全部转化为String
 			tOrderInvoiceVO.setIds(collect.stream().map(String::valueOf).collect(Collectors.toList()));
 		}
 		// 查询这个开票的订单ids
 
-		List<Long> ids = list.stream().map(TOrderInvoiceVO::getId).collect(Collectors.toList());
+		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<TOrderInvoiceDetail> orderInvoiceDetailList = orderInvoiceDetailService.list(new LambdaQueryWrapper<TOrderInvoiceDetail>()
+					.in(TOrderInvoiceDetail::getOrderInvoiceId, ids));
 
-		List<TAppUser> finalTAppUsers = tAppUsers;
-		list.forEach(e->{
-			e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
-			e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
-			e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
-			e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
-			e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
-			e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
-			if (e.getBillingUserId()!=null){
-				e.setUserPhone(finalTAppUsers.stream().filter(t->t.getId()!=null).filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
-			}
-		});
+			List<TAppUser> finalTAppUsers = tAppUsers;
+			list.forEach(e->{
+				if (e.getOrderType()!=null&&e.getOrderType()==1){
+					e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
+				}else{
+					e.setServiceTariff(new BigDecimal("0"));
+				}
+				e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
+				e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
+				e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
+				e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
+				e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
+				if (e.getBillingUserId()!=null){
+					e.setUserPhone(finalTAppUsers.stream().filter(t->t.getId()!=null).filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
+				}
+			});
+		}
+
 
 		pageInfo.setRecords(list);
 		return pageInfo;

--
Gitblit v1.7.1