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