无关风月
2024-09-12 f7042f313660010345f199d62afb6e3aeb8b5194
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
@@ -117,7 +117,7 @@
         return AjaxResult.error("不能重复申请开票,请刷新数据后重试");
      }
      SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
      String code = Math.random() * 1000 + sdf.format(new Date());
      String code = Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date());
      addOrderInvoice.setAppUserId(userId);
      addOrderInvoice.setCode(code);
      addOrderInvoice.setStatus(1);
@@ -155,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();
@@ -247,12 +248,16 @@
   @Override
   public PageInfo<TOrderInvoiceVO> pageList(TOrderInvoiceQuery query) {
      List<TAppUser> tAppUsers = new ArrayList<>();
      // 查询申请用户
      List<TAppUser> userList = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
      if(CollectionUtils.isEmpty(userList)){
         return new PageInfo<>();
      if (org.springframework.util.StringUtils.hasLength(query.getUserPhone())){
          tAppUsers = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
         if(CollectionUtils.isEmpty(tAppUsers)){
            return new PageInfo<>();
         }
      }
      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.pageList(query,pageInfo);
      for (TOrderInvoiceVO tOrderInvoiceVO : list) {
@@ -269,14 +274,15 @@
      List<TOrderInvoiceDetail> orderInvoiceDetailList = orderInvoiceDetailService.list(new LambdaQueryWrapper<TOrderInvoiceDetail>()
            .in(TOrderInvoiceDetail::getOrderInvoiceId, ids));
      List<TAppUser> finalTAppUsers = tAppUsers;
      list.forEach(e->{
         e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
         e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
         e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
         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());
         e.setUserPhone(userList.stream().filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
         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());
      });
      pageInfo.setRecords(list);