From 08564aa83ad1b664eff494e34b1fb73d009dde7c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 12 九月 2024 15:02:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java |   32 +++++++++++++++++++++++---------
 1 files changed, 23 insertions(+), 9 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..35ad0f0 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();
@@ -150,9 +155,10 @@
 	@Override
 	public List<OrderInvoiceList> getMyOrderInvoiceList(GetOrderInvoiceList query) {
 		Long userId = tokenService.getLoginUserApplet().getUserId();
+		Integer pageCurr = (query.getPageCurr() - 1) * query.getPageSize();
 		List<TOrderInvoice> list = this.list(new LambdaQueryWrapper<TOrderInvoice>().eq(TOrderInvoice::getAppUserId, userId)
 				.eq(TOrderInvoice::getStatus, query.getStatus()).orderByDesc(TOrderInvoice::getCreateTime)
-				.last(" limit " + query.getPageCurr() + ", " + query.getPageSize()));
+				.last(" limit " + pageCurr + ", " + query.getPageSize()));
 		List<OrderInvoiceList> pageList = new ArrayList<>();
 		for (TOrderInvoice tOrderInvoice : list) {
 			OrderInvoiceList orderInvoiceList = new OrderInvoiceList();
@@ -250,6 +256,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