云
2026-09-24 48e8e81666b2d0f49b931cb7b93729355758f2ae
src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
@@ -95,9 +95,19 @@
    @Override
    public AfterSalesServiceNewDto getAfterSalesServiceNewDtoById(Long id) {
        AfterSalesService afterSalesService = afterSalesServiceMapper.selectById(id);
        SalesLedger byId = salesLedgerService.getById(afterSalesService.getSalesLedgerId());
        List<Long> collect = Arrays.stream(afterSalesService.getProductModelIds().split(",")).map(Long::valueOf).collect(Collectors.toList());
        List<SalesLedgerProduct> list = salesLedgerProductService.list(new QueryWrapper<SalesLedgerProduct>().lambda().in(SalesLedgerProduct::getId, collect));
        if (afterSalesService == null) {
            throw new RuntimeException("售后工单不存在");
        }
        // 工单可以不关联产品(反馈登记导入、历史数据都是空),此处必须容错
        List<Long> collect = StringUtils.isEmpty(afterSalesService.getProductModelIds())
                ? new ArrayList<>()
                : Arrays.stream(afterSalesService.getProductModelIds().split(","))
                        .filter(StringUtils::isNotEmpty)
                        .map(Long::valueOf)
                        .collect(Collectors.toList());
        List<SalesLedgerProduct> list = collect.isEmpty()
                ? new ArrayList<>()
                : salesLedgerProductService.list(new QueryWrapper<SalesLedgerProduct>().lambda().in(SalesLedgerProduct::getId, collect));
        if (StringUtils.isNotEmpty(afterSalesService.getProductModelQuantities())) {
            String[] quantities = afterSalesService.getProductModelQuantities().split(",");
@@ -133,7 +143,12 @@
        AfterSalesServiceNewDto afterSalesServiceNewDto = new AfterSalesServiceNewDto();
        BeanUtils.copyProperties(afterSalesService, afterSalesServiceNewDto);
        SalesLedgerDto salesLedgerDto = new SalesLedgerDto();
        if (afterSalesService.getSalesLedgerId() != null) {
            SalesLedger byId = salesLedgerService.getById(afterSalesService.getSalesLedgerId());
            if (byId != null) {
        BeanUtils.copyProperties(byId, salesLedgerDto);
            }
        }
        salesLedgerDto.setProductData( list);
        afterSalesServiceNewDto.setSalesLedgerDto(salesLedgerDto);
        return afterSalesServiceNewDto;