From 3fbd432b9cda21bf04c5e5d3301f631ff58c64c2 Mon Sep 17 00:00:00 2001 From: cb <275647614@qq.com> Date: Mon, 7 Jul 2025 15:12:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E7=85=A7=E5=95=86=E5=93=81=E8=A7=84?= =?UTF-8?q?=E6=A0=BC=E8=BF=9B=E8=A1=8C=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/goods/GoodsController.java | 26 +++++++++++++++++++ .../main/java/com/ghy/goods/domain/Goods.java | 4 +++ .../ghy/goods/mapper/GoodsStandardMapper.java | 7 +++++ .../goods/service/GoodsStandardService.java | 7 +++++ .../impl/GoodsStandardServiceImpl.java | 5 ++++ .../resources/mapper/goods/GoodsMapper.xml | 6 +++++ .../mapper/goods/GoodsStandardMapper.xml | 10 +++++++ 7 files changed, 65 insertions(+) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java b/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java index 1fe3d2eb..338d96fe 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java @@ -216,6 +216,32 @@ public class GoodsController extends BaseController { } } + // 通过商品规格名称模糊查询 + if (StringUtils.isNotEmpty(goods.getGoodsStandard())) { + logger.info("通过商品规格查询:{}", goods.getGoodsStandard()); + List matchedStandards = goodsStandardService.selectByStandardNameLike(goods.getGoodsStandard()); + if (CollectionUtils.isNotEmpty(matchedStandards)) { + // 获取所有符合规格条件的商品ID + List goodsIds = matchedStandards.stream() + .map(GoodsStandard::getGoodsId) + .distinct() + .collect(Collectors.toList()); + logger.info("通过规格查询到的商品ID列表:{}", goodsIds); + + // 设置商品ID筛选条件,与现有的类目筛选条件组合使用 + if (goods.getGoodsIds() == null) { + goods.setGoodsIds(goodsIds); + } else { + // 如果已有商品ID筛选条件,取交集 + goods.getGoodsIds().retainAll(goodsIds); + } + } else { + logger.info("未找到符合规格条件的商品,设置空结果"); + // 如果没找到符合条件的规格,设置一个不存在的商品ID + goods.setGoodsIds(Arrays.asList(-1L)); + } + } + startPage(); List list = goodsService.selectGoodsList(goods); diff --git a/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java b/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java index f12ece7b..cb553629 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java +++ b/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java @@ -123,4 +123,8 @@ public class Goods extends BaseEntity { private Integer deliveryService; private Shop shop; + + private List goodsIds; + + private String goodsStandard; } diff --git a/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsStandardMapper.java b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsStandardMapper.java index 9df486e2..cd33ddfe 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsStandardMapper.java +++ b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsStandardMapper.java @@ -64,4 +64,11 @@ public interface GoodsStandardMapper { int update(GoodsStandard goodsStandard); + /** + * 根据规格名称模糊查询商品规格 + * @param standardName 规格名称(支持模糊查询) + * @return 符合条件的商品规格列表 + */ + List selectByStandardNameLike(@Param("standardName") String standardName); + } diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/GoodsStandardService.java b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsStandardService.java index 86e86668..bf97a3da 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/service/GoodsStandardService.java +++ b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsStandardService.java @@ -59,4 +59,11 @@ public interface GoodsStandardService { int update(GoodsStandard goodsStandard); + /** + * 根据规格名称模糊查询商品规格 + * @param standardName 规格名称(支持模糊查询) + * @return 符合条件的商品规格列表 + */ + List selectByStandardNameLike(String standardName); + } diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsStandardServiceImpl.java b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsStandardServiceImpl.java index 84d13427..5dd29051 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsStandardServiceImpl.java +++ b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsStandardServiceImpl.java @@ -86,4 +86,9 @@ public class GoodsStandardServiceImpl implements GoodsStandardService { public int update(GoodsStandard goodsStandard) { return goodsStandardMapper.update(goodsStandard); } + + @Override + public List selectByStandardNameLike(String standardName) { + return goodsStandardMapper.selectByStandardNameLike(standardName); + } } diff --git a/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml index 04157142..effa2ba6 100644 --- a/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml +++ b/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml @@ -185,6 +185,12 @@ AND g.store_service = #{storeService} + + AND g.goods_id in + + #{goodsIdItem} + + /* 默认生成时间排序 */ order by create_time diff --git a/ghy-goods/src/main/resources/mapper/goods/GoodsStandardMapper.xml b/ghy-goods/src/main/resources/mapper/goods/GoodsStandardMapper.xml index fc82835a..ecc0fbed 100644 --- a/ghy-goods/src/main/resources/mapper/goods/GoodsStandardMapper.xml +++ b/ghy-goods/src/main/resources/mapper/goods/GoodsStandardMapper.xml @@ -166,4 +166,14 @@ WHERE goods_standard_id = #{goodsStandardId} + + +