| | |
| | | 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; |
| | |
| | | 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); |
| | |
| | | } |
| | | } |
| | | } |
| | | // 将其全部转化为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; |
| | | } |
| | | |