From b52419d0b2e36c718ed041c8e78ec8be514be7b6 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Fri, 26 Jan 2024 20:10:03 +0800
Subject: [PATCH] fix

---
 src/main/resources/mapper/modules/MallVipBenefitsMapper.xml                 |   17 +++++++++++++++++
 src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsMapper.java          |    4 ++++
 src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java |    8 +++++++-
 src/main/resources/mapper/modules/MallVipConfigMapper.xml                   |    6 ++++++
 src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefits.java                |    2 ++
 5 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefits.java b/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefits.java
index 885af9f..0e28065 100644
--- a/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefits.java
+++ b/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefits.java
@@ -47,6 +47,8 @@
      */
     private String remark;
 
+    private Integer isJump;
+
     @TableField(exist = false)
     private List<MallVipBenefitsDetails> details;
 }
diff --git a/src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsMapper.java b/src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsMapper.java
index d71df4b..89319c5 100644
--- a/src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsMapper.java
+++ b/src/main/java/cc/mrbird/febs/vip/mapper/MallVipBenefitsMapper.java
@@ -6,9 +6,13 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 public interface MallVipBenefitsMapper extends BaseMapper<MallVipBenefits> {
 
     IPage<MallVipBenefits> selectVipBenefitsListInPage(Page<MallVipBenefits> page);
 
     MallVipBenefits selectVipBenefitsById(@Param("id") Long id);
+
+    List<MallVipBenefits> selectVipBenefitsByIds(@Param("list") List<Long> ids);
 }
diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java
index c1a15ae..3f3b1fe 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java
@@ -46,7 +46,13 @@
 
     @Override
     public List<MallVipConfig> findConfigList() {
-        return this.baseMapper.selectVipConfigList();
+        List<MallVipConfig> configs = this.baseMapper.selectVipConfigList();
+        configs.forEach(item -> {
+            item.getBenefits().forEach(benefits -> {
+                benefits.setIsJump(CollUtil.isEmpty(benefits.getDetails()) ? 2 : 1);
+            });
+        });
+        return configs;
     }
 
     @Override
diff --git a/src/main/resources/mapper/modules/MallVipBenefitsMapper.xml b/src/main/resources/mapper/modules/MallVipBenefitsMapper.xml
index ce44de8..f04bd59 100644
--- a/src/main/resources/mapper/modules/MallVipBenefitsMapper.xml
+++ b/src/main/resources/mapper/modules/MallVipBenefitsMapper.xml
@@ -39,4 +39,21 @@
             left join mall_vip_benefits_details benefitsDetail on benefits.id=benefitsDetail.benefits_id
         where benefits.id=#{id}
     </select>
+
+    <select id="selectVipBenefitsByIds" resultMap="VipBenefitsMap">
+        select
+            benefits.*,
+            benefitsDetail.id c_id
+             ,benefitsDetail.image
+             ,benefitsDetail.is_click
+             ,benefitsDetail.link_type
+             ,benefitsDetail.content
+             ,benefitsDetail.seq
+        from mall_vip_benefits benefits
+                 left join mall_vip_benefits_details benefitsDetail on benefits.id=benefitsDetail.benefits_id
+        where benefits.id in
+        <foreach collection="list" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallVipConfigMapper.xml b/src/main/resources/mapper/modules/MallVipConfigMapper.xml
index 4b9675a..5387d10 100644
--- a/src/main/resources/mapper/modules/MallVipConfigMapper.xml
+++ b/src/main/resources/mapper/modules/MallVipConfigMapper.xml
@@ -18,6 +18,10 @@
             <id property="id" column="c_id" />
             <result property="name" column="c_name" />
             <result property="icon" column="c_icon" />
+
+            <collection property="details" ofType="cc.mrbird.febs.vip.entity.MallVipBenefitsDetails">
+                <id property="id" column="d_id" />
+            </collection>
         </collection>
     </resultMap>
 
@@ -31,9 +35,11 @@
             ,benefits.id c_id
             ,benefits.name c_name
             ,benefits.icon c_icon
+            ,details.id d_id
         from mall_vip_config config
             inner join mall_vip_config_benefits configBenefits on config.id=configBenefits.config_id
             inner join mall_vip_benefits benefits on configBenefits.benefits_id=benefits.id
+            left join mall_vip_benefits_details details on benefits.id = details.benefits_id
         order by level
     </select>
 

--
Gitblit v1.9.1