diff --git a/src/main/java/com/aida/seller/module/listing/service/impl/ListingMallServiceImpl.java b/src/main/java/com/aida/seller/module/listing/service/impl/ListingMallServiceImpl.java index 244ac24..9ae5a61 100644 --- a/src/main/java/com/aida/seller/module/listing/service/impl/ListingMallServiceImpl.java +++ b/src/main/java/com/aida/seller/module/listing/service/impl/ListingMallServiceImpl.java @@ -72,13 +72,33 @@ public class ListingMallServiceImpl extends ServiceImpl page = this.page(pageParam, queryWrapper); + List records = page.getRecords(); + List sellerIds = records.stream() + .map(ListingEntity::getSellerId) + .distinct() + .toList(); + + Map designerMap = designerMapper.selectList( + new LambdaQueryWrapper() + .select(DesignerEntity::getUserId, DesignerEntity::getShopName) + .in(DesignerEntity::getUserId, sellerIds) + .eq(DesignerEntity::getDeleted, 0)) + .stream() + .collect(Collectors.toMap( + DesignerEntity::getUserId, + designer -> designer, + (existing, replacement) -> existing + )); + Page result = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); - result.setRecords(page.getRecords().stream().map(entity -> { + result.setRecords(records.stream().map(entity -> { + DesignerEntity designer = designerMap.get(entity.getSellerId()); ListingMallVO vo = new ListingMallVO(); vo.setId(entity.getId()); vo.setCover(minioUtil.processMinioResource(entity.getCover(), CommonConstants.MINIO_PATH_TIMEOUT)); vo.setTitle(entity.getTitle()); vo.setPrice(entity.getPrice()); + vo.setShopName(designer != null ? designer.getShopName() : null); return vo; }).toList()); return result;