From cc5d54b0721421913edb471238519f1a42953667 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 08 Jan 2025 13:53:13 +0800
Subject: [PATCH] feat(mall): 轮播图跳转活动页面

---
 src/main/resources/mapper/modules/MallGoodsMapper.xml                      |    7 +++----
 src/main/java/cc/mrbird/febs/mall/entity/PlatformBanner.java               |    4 ++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java |   21 +++++++++------------
 3 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/entity/PlatformBanner.java b/src/main/java/cc/mrbird/febs/mall/entity/PlatformBanner.java
index bd68690..4a7bea4 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/PlatformBanner.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/PlatformBanner.java
@@ -49,5 +49,9 @@
     //商品ID
     @TableField(exist = false)
     private Long goodsId;
+
+    //商品ID
+    @TableField(exist = false)
+    private Long activityId;
 }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java
index b912e2d..6dc9cff 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java
@@ -8,7 +8,7 @@
 import cc.mrbird.febs.mall.service.IApiMallNewsService;
 import cc.mrbird.febs.mall.vo.NewsListVo;
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -32,6 +32,7 @@
     private final PlatformBannerMapper platformBannerMapper;
     private final MallGoodsMapper mallGoodsMapper;
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    private final MallActivityMapper mallActivityMapper;
 
     @Override
     public List<MallNewsCategory> findNewsCategoryList() {
@@ -64,18 +65,14 @@
         queryWrapper.orderByAsc("created_time");
         List<PlatformBanner> paymentMethodList = platformBannerMapper.selectList(queryWrapper);
         if(CollUtil.isNotEmpty(paymentMethodList)){
-            for(PlatformBanner platformBanner : paymentMethodList){
-                if("1".equals(platformBanner.getIsJump()) &&
-                    1 == platformBanner.getIsInside()){
-                    String jumpUrl = platformBanner.getJumpUrl();
-                    QueryWrapper<MallGoods> queryWrapperGoods = new QueryWrapper<>();
-                    queryWrapperGoods.eq("goods_no",jumpUrl);
-                    List<MallGoods> goodsList = mallGoodsMapper.selectList(queryWrapperGoods);
-                    if(CollUtil.isNotEmpty(goodsList)){
-                        platformBanner.setGoodsId(goodsList.get(0).getId());
-                    }
+            paymentMethodList.forEach(item -> {
+                if("1".equals(item.getIsJump()) && 1 == item.getIsInside()){
+                    String jumpUrl = item.getJumpUrl();
+                    MallActivity mallActivity = mallActivityMapper.selectById(
+                            new LambdaQueryWrapper<MallActivity>().eq(MallActivity::getId, Long.parseLong(jumpUrl)));
+                    item.setActivityId(mallActivity.getId());
                 }
-            }
+            });
         }
         return new FebsResponse().success().data(paymentMethodList);
     }
diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index f335a63..5006b94 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -332,16 +332,12 @@
         select
         a.id,
         a.goods_name,
-        a.goods_introdution goodsIntroduction,
         a.thumb,
         a.unit,
         a.original_price,
         a.present_price,
         a.score,
         a.is_hot,
-        a.carriage_type,
-        a.carriage_amount,
-        a.carriage_rule_id,
         a.goods_weight,
         a.order_number,
         min(b.id) skuId,
@@ -360,6 +356,9 @@
                 <if test="record.isNormal != null and record.isNormal != ''">
                     and a.is_normal = #{record.isNormal}
                 </if>
+                <if test="record.isNormal == 3">
+                    and a.activity_id = #{record.activityId}
+                </if>
                 <if test="record.goodsType != null and record.goodsType != '' and record.goodsType != 3">
                     and a.goods_type = #{record.goodsType} and a.present_price != 0
                 </if>

--
Gitblit v1.9.1