From 4c073c359d19ec31a0ddea29d69e63e2a7b7c7a6 Mon Sep 17 00:00:00 2001 From: litianxiang Date: Wed, 27 May 2026 10:49:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E5=92=8C=E8=B5=84=E6=96=99=E6=8E=A5=E5=8F=A3=20=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ListingMallController.java | 8 +++++++ .../listing/service/ListingMallService.java | 8 +++++++ .../service/impl/ListingMallServiceImpl.java | 23 +++++++++++++++++++ .../module/order/entity/OrderInfoEntity.java | 2 +- 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/aida/seller/module/listing/controller/ListingMallController.java b/src/main/java/com/aida/seller/module/listing/controller/ListingMallController.java index 51e02e0..6922d3c 100644 --- a/src/main/java/com/aida/seller/module/listing/controller/ListingMallController.java +++ b/src/main/java/com/aida/seller/module/listing/controller/ListingMallController.java @@ -49,4 +49,12 @@ public class ListingMallController { List result = listingMallService.getListingSummaries(listingIds); return Response.success(result); } + + @Operation(summary = "获取商品 listing 图片 URL 列表", description = "返回指定商品ID的 listing 分类图片 URL 列表") + @GetMapping("/mall/main-product/urls") + public Response> getListingUrls( + @Parameter(description = "商品ID") @RequestParam Long id) { + List urls = listingMallService.getListingUrls(id); + return Response.success(urls); + } } diff --git a/src/main/java/com/aida/seller/module/listing/service/ListingMallService.java b/src/main/java/com/aida/seller/module/listing/service/ListingMallService.java index b15411b..a85f3f9 100644 --- a/src/main/java/com/aida/seller/module/listing/service/ListingMallService.java +++ b/src/main/java/com/aida/seller/module/listing/service/ListingMallService.java @@ -35,4 +35,12 @@ public interface ListingMallService { * @return 商品简要信息列表 */ List getListingSummaries(List listingIds); + + /** + * 获取商品的 listing 图片 URL 列表 + * + * @param id 商品ID + * @return listing 图片 URL 列表 + */ + List getListingUrls(Long id); } 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 cf416c5..244ac24 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 @@ -170,6 +170,29 @@ public class ListingMallServiceImpl extends ServiceImpl getListingUrls(Long id) { + List images = listingImageMapper.selectList( + new LambdaQueryWrapper() + .eq(ListingImageEntity::getListingId, id) + .orderByAsc(ListingImageEntity::getSortOrder)); + + Map> imageMap = images.stream() + .filter(img -> StringUtils.hasText(img.getCategory())) + .sorted(Comparator.comparing(ListingImageEntity::getCategory) + .thenComparing(ListingImageEntity::getSortOrder, Comparator.nullsLast(Comparator.naturalOrder()))) + .collect(Collectors.groupingBy( + ListingImageEntity::getCategory, + Collectors.mapping(ListingImageEntity::getImageUrl, Collectors.toList()) + )); + + return imageMap.entrySet().stream() + .filter(entry -> !entry.getKey().equals("firstFrame") && !entry.getKey().equals("gif")) + .flatMap(entry -> entry.getValue().stream()) + .distinct() + .toList(); + } + @Override public List getListingSummaries(List listingIds) { if (listingIds == null || listingIds.isEmpty()) { diff --git a/src/main/java/com/aida/seller/module/order/entity/OrderInfoEntity.java b/src/main/java/com/aida/seller/module/order/entity/OrderInfoEntity.java index 8888298..1ec5daa 100644 --- a/src/main/java/com/aida/seller/module/order/entity/OrderInfoEntity.java +++ b/src/main/java/com/aida/seller/module/order/entity/OrderInfoEntity.java @@ -59,5 +59,5 @@ public class OrderInfoEntity implements Serializable { private Integer deleted; /** 交易流水号 */ - private String paymentId; + private Long paymentId; } From 2f8abf0d4ea16811b7ea300225adf8ace3dcc2ec Mon Sep 17 00:00:00 2001 From: litianxiang Date: Wed, 27 May 2026 10:49:19 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E5=92=8C=E8=B5=84=E6=96=99=E6=8E=A5=E5=8F=A3=20=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/db/schema.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/db/schema.sql b/src/main/resources/db/schema.sql index 0b96b44..62dfbbc 100644 --- a/src/main/resources/db/schema.sql +++ b/src/main/resources/db/schema.sql @@ -40,7 +40,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) NOT NULL DEFAULT 'aida-users/87/avatar/default.png' COMMENT '店铺头像URL', + avatar VARCHAR(200) NOT NULL DEFAULT 'aida-user/388b23f770449d18078b5d54f38be52c.png' COMMENT '店铺头像URL', brand_banner VARCHAR(200) COMMENT '品牌Banner URL', owner_name VARCHAR(100) COMMENT '所有者全名', email VARCHAR(100) COMMENT '邮箱',