longz
2026-07-29 36e527ebd18d95d8d0f94f3aec3d3ff3f49b6570
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;
   }