This commit is contained in:
+16
-6
@@ -69,6 +69,7 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@@ -449,15 +450,24 @@ public class PublishTaskService {
|
||||
}
|
||||
|
||||
TaskOptions options = readTaskOptions(task);
|
||||
List<Long> successfulFileIds = successfulFiles.stream()
|
||||
.map(PublishFileEntity::getId)
|
||||
.toList();
|
||||
Map<Long, List<PublishItemEntity>> itemsByFileId = successfulFileIds.isEmpty()
|
||||
? Map.of()
|
||||
: publishItemMapper.selectList(
|
||||
new LambdaQueryWrapper<PublishItemEntity>()
|
||||
.eq(PublishItemEntity::getTaskId, task.getId())
|
||||
.in(PublishItemEntity::getFileId, successfulFileIds)
|
||||
.orderByAsc(PublishItemEntity::getRowIndex))
|
||||
.stream()
|
||||
.collect(Collectors.groupingBy(PublishItemEntity::getFileId,
|
||||
LinkedHashMap::new, Collectors.toList()));
|
||||
List<PublishWorkbookService.WorkbookInput> inputs = new ArrayList<>();
|
||||
int rowCount = 0;
|
||||
for (PublishFileEntity file : successfulFiles) {
|
||||
List<PublishItemEntity> items = publishItemMapper.selectList(
|
||||
new LambdaQueryWrapper<PublishItemEntity>()
|
||||
.eq(PublishItemEntity::getTaskId, task.getId())
|
||||
.eq(PublishItemEntity::getFileId, file.getId())
|
||||
.orderByAsc(PublishItemEntity::getRowIndex));
|
||||
List<PublishRowDto> rows = items.stream().map(this::toRowDto).toList();
|
||||
List<PublishRowDto> rows = itemsByFileId.getOrDefault(file.getId(), List.of())
|
||||
.stream().map(this::toRowDto).toList();
|
||||
rowCount += rows.size();
|
||||
inputs.add(new PublishWorkbookService.WorkbookInput(
|
||||
file.getSourceFilename(), file.getShopName(), options.publishCountry(), rows));
|
||||
|
||||
Reference in New Issue
Block a user