From e9dcc1d3da82d6de18a81279c3f87773de7b4cfa Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 12 九月 2024 14:55:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 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 fdb077d..6ce5163 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
@@ -16,19 +16,13 @@
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.security.service.TokenService;
-import com.ruoyi.order.api.model.TChargingOrder;
-import com.ruoyi.order.api.model.TOrderInvoice;
-import com.ruoyi.order.api.model.TOrderInvoiceDetail;
-import com.ruoyi.order.api.model.TShoppingOrder;
+import com.ruoyi.order.api.model.*;
 import com.ruoyi.order.api.query.TOrderInvoiceQuery;
 import com.ruoyi.order.api.vo.TOrderEvaluateVO;
 import com.ruoyi.order.api.vo.TOrderInvoiceVO;
 import com.ruoyi.order.dto.*;
 import com.ruoyi.order.mapper.TOrderInvoiceMapper;
-import com.ruoyi.order.service.TChargingOrderService;
-import com.ruoyi.order.service.TOrderInvoiceDetailService;
-import com.ruoyi.order.service.TOrderInvoiceService;
-import com.ruoyi.order.service.TShoppingOrderService;
+import com.ruoyi.order.service.*;
 import com.ruoyi.other.api.domain.TCoupon;
 import com.ruoyi.other.api.domain.TGoods;
 import com.ruoyi.other.api.domain.TInvoiceType;
@@ -86,6 +80,9 @@
 	private CouponClient couponClient;
 	@Resource
 	private AppUserClient appUserClient;
+	
+	@Resource
+	private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService;
 
 	
 	
@@ -128,6 +125,11 @@
 		//获取开票类型
 		TInvoiceType invoiceType = invoiceTypeClient.getInvoiceType(addOrderInvoice.getInvoiceTypeId()).getData();
 		for (Long orderId : orderIds) {
+			List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.list(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>()
+					.eq(TChargingOrderAccountingStrategy::getChargingOrderId, orderId));
+			BigDecimal electrovalence = list.stream().map(TChargingOrderAccountingStrategy::getElectrovalence).reduce(BigDecimal.ZERO, BigDecimal::add);
+			BigDecimal serviceCharge = list.stream().map(TChargingOrderAccountingStrategy::getServiceCharge).reduce(BigDecimal.ZERO, BigDecimal::add);
+			
 			TOrderInvoiceDetail orderInvoiceDetail = new TOrderInvoiceDetail();
 			orderInvoiceDetail.setOrderInvoiceId(addOrderInvoice.getId());
 			orderInvoiceDetail.setInvoiceAmount(map.get(orderId));
@@ -136,6 +138,9 @@
 			orderInvoiceDetail.setElectricityTariff(invoiceType.getElectricityTariff());
 			orderInvoiceDetail.setServiceTariff(invoiceType.getServiceTariff());
 			orderInvoiceDetail.setAddedServiceTariff(invoiceType.getAddedServiceTariff());
+			orderInvoiceDetail.setElectrovalence(electrovalence);
+			orderInvoiceDetail.setServiceCharge(serviceCharge);
+			orderInvoiceDetail.setAddedService(serviceCharge.multiply(invoiceType.getAddedServiceTariff().divide(new BigDecimal(100))));
 			orderInvoiceDetailService.save(orderInvoiceDetail);
 		}
 		return AjaxResult.success();
@@ -250,6 +255,14 @@
 		query.setUserIds(userList.stream().map(TAppUser::getId).collect(Collectors.toList()));
 		PageInfo<TOrderInvoiceVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
 		List<TOrderInvoiceVO> list = this.baseMapper.pageList(query,pageInfo);
+		for (TOrderInvoiceVO tOrderInvoiceVO : list) {
+			List<Long> collect = orderInvoiceDetailService.lambdaQuery().eq(TOrderInvoiceDetail::getOrderInvoiceId, tOrderInvoiceVO.getId())
+					.eq(TOrderInvoiceDetail::getOrderType, 1).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());
 

--
Gitblit v1.7.1