Pu Zhibing
2024-09-27 d153ca8d05991566bed18eed1ae25f0af3c1cc70
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
@@ -37,6 +37,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -121,6 +122,7 @@
      addOrderInvoice.setAppUserId(userId);
      addOrderInvoice.setCode(code);
      addOrderInvoice.setStatus(1);
      addOrderInvoice.setCreateTime(LocalDateTime.now());
      this.save(addOrderInvoice);
      //获取开票类型
      TInvoiceType invoiceType = invoiceTypeClient.getInvoiceType(addOrderInvoice.getInvoiceTypeId()).getData();
@@ -256,11 +258,11 @@
            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);
      for (TOrderInvoiceVO tOrderInvoiceVO : list) {
         tOrderInvoiceVO.setUid(tOrderInvoiceVO.getId().toString());
         List<Long> collect = orderInvoiceDetailService.lambdaQuery().eq(TOrderInvoiceDetail::getOrderInvoiceId, tOrderInvoiceVO.getId())
               .eq(TOrderInvoiceDetail::getOrderType, 1).list().stream()
               .map(TOrderInvoiceDetail::getOrderId).collect(Collectors.toList());
@@ -279,10 +281,12 @@
         e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
         e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
         e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
         e.setAddedService(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
         e.setElectrovalence(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
         e.setServiceCharge(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
         e.setUserPhone(finalTAppUsers.stream().filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
         e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
         e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
         e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
         if (e.getBillingUserId()!=null){
            e.setUserPhone(finalTAppUsers.stream().filter(t->t.getId()!=null).filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
         }
      });
      pageInfo.setRecords(list);
@@ -292,14 +296,19 @@
   @Override
   public Map<String, Integer> statusCount(TOrderInvoiceQuery query) {
      Map<String, Integer> map = new HashMap<>();
      List<TAppUser> userList = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
      if(CollectionUtils.isEmpty(userList)){
         map.put("notAccepted",0);
         map.put("processing",0);
         map.put("finished",0);
         return map;
      List<TAppUser> tAppUsers = new ArrayList<>();
      if (org.springframework.util.StringUtils.hasLength(query.getUserPhone())){
   tAppUsers = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
         if(CollectionUtils.isEmpty(tAppUsers)){
            map.put("notAccepted",0);
            map.put("processing",0);
            map.put("finished",0);
            return map;
         }
      }
      query.setUserIds(userList.stream().map(TAppUser::getId).collect(Collectors.toList()));
      query.setUserIds(tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()));
      map = this.baseMapper.statusCount(query);
      return map;
   }
@@ -314,12 +323,7 @@
            return new ArrayList<TOrderInvoiceVO>();
         }
      }
      // 查询申请用户
      List<TAppUser> userList = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
      if(CollectionUtils.isEmpty(userList)){
         return new ArrayList<>();
      }
      query.setUserIds(userList.stream().map(TAppUser::getId).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.export(query);
      List<Long> ids = list.stream().map(TOrderInvoiceVO::getId).collect(Collectors.toList());
@@ -330,10 +334,12 @@
         e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
         e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
         e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
         e.setAddedService(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
         e.setElectrovalence(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
         e.setServiceCharge(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
         e.setUserPhone(finalTAppUsers.stream().filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
         e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
         e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
         e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
         if (e.getBillingUserId()!=null){
            e.setUserPhone(finalTAppUsers.stream().filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
         }
      });
      return list;
   }