From e1d57f7b3780a4aaa33ed1c25f058b0a322912d8 Mon Sep 17 00:00:00 2001 From: litianxiang Date: Thu, 7 May 2026 15:59:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=AD=98=E5=9C=A8=E6=80=A7?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listing/service/ListingServiceImpl.java | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/aida/seller/module/listing/service/ListingServiceImpl.java b/src/main/java/com/aida/seller/module/listing/service/ListingServiceImpl.java index 5001f19..910d09c 100644 --- a/src/main/java/com/aida/seller/module/listing/service/ListingServiceImpl.java +++ b/src/main/java/com/aida/seller/module/listing/service/ListingServiceImpl.java @@ -29,6 +29,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; /** @@ -83,6 +84,7 @@ public class ListingServiceImpl extends ServiceImpl images) { + Set requiredCategories = Set.of( + ImageCategoryEnum.COVER.getCode(), + ImageCategoryEnum.COVERFROM.getCode(), + ImageCategoryEnum.SKETCH.getCode(), + ImageCategoryEnum.APPAREL.getCode()); + + Set presentCategories = images.stream() + .map(ListingImageDTO::getCategory) + .filter(StringUtils::hasText) + .collect(Collectors.toSet()); + + for (String category : requiredCategories) { + if (!presentCategories.contains(category)) { + throw new BusinessException("category [" + category + "] is required"); + } + } + + for (ListingImageDTO img : images) { + String category = img.getCategory(); + if (requiredCategories.contains(category)) { + if (!StringUtils.hasText(img.getImageUrl())) { + throw new BusinessException(category + " category imageUrl cannot be null or empty"); + } + } + } + } + private String extractCover(List images) { if (CollectionUtils.isEmpty(images)) { return null; @@ -222,12 +252,10 @@ public class ListingServiceImpl extends ServiceImpl