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 1e99bb3..cf416c5 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 @@ -166,7 +166,7 @@ public class ListingMallServiceImpl extends ServiceImpl() .in(ListingEntity::getId, listingIds) .eq(ListingEntity::getDeleted, 0)); + Map entityMap = entities.stream() .collect(Collectors.toMap(ListingEntity::getId, e -> e)); + + List sellerIds = entities.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, + // 如果 sellerIds 中有重复的 userId,保留第一个 + (existing, replacement) -> existing + )); + List listingMallVOS = listingIds.stream() .filter(entityMap::containsKey) .map(id -> { ListingEntity entity = entityMap.get(id); + DesignerEntity designer = designerMap.get(entity.getSellerId()); ListingMallVO vo = new ListingMallVO(); vo.setId(entity.getId()); vo.setCover(minioUtil.processMinioResource(entity.getCover(), CommonConstants.MINIO_PATH_TIMEOUT)); @@ -192,6 +213,7 @@ public class ListingMallServiceImpl extends ServiceImpl productCategory; + + /** 店铺名称 */ + private String shopName; } diff --git a/src/main/resources/db/schema.sql b/src/main/resources/db/schema.sql index 51a967b..82543be 100644 --- a/src/main/resources/db/schema.sql +++ b/src/main/resources/db/schema.sql @@ -37,7 +37,7 @@ CREATE TABLE seller_designer ( id BIGINT PRIMARY KEY COMMENT '设计师ID', user_id BIGINT NOT NULL COMMENT '用户ID', shop_name VARCHAR(100) NOT NULL COMMENT '店铺名称', - avatar VARCHAR(200) COMMENT '店铺头像URL', + avatar VARCHAR(200) NOT NULL DEFAULT 'aida-users/87/avatar/default.png' COMMENT '店铺头像URL', brand_banner VARCHAR(200) COMMENT '品牌Banner URL', owner_name VARCHAR(100) COMMENT '所有者全名', email VARCHAR(100) COMMENT '邮箱',