From e187e18fc4fd2f120b67a9fdba4d9d2864f293fb Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 24 Apr 2025 18:05:30 +0800
Subject: [PATCH] feat(mall): 添加投票活动排行榜功能并优化相关接口

---
 src/main/resources/mapper/modules/HappyActivityOptionMapper.xml |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 67 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
index af7ebca..5a464a5 100644
--- a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
+++ b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
@@ -5,8 +5,10 @@
     <select id="selectActivityPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityInfoVo">
         select
             a.id,
+            a.address,
             a.index_img,
             a.code,
+            a.type,
             a.name,
             a.state,
             a.join_cnt,
@@ -54,11 +56,72 @@
             a.image as image,
             a.likes_cnt as likesCnt
         from happy_activity_option a
-        where
-            a.state = 1
-          and a.activity_id = #{record.activityId}
-          and a.DELETE_FLAG = 1
+        <where>
+            and a.state = 1
+            and a.activity_id = #{record.activityId}
+            and a.DELETE_FLAG = 0
+            <if test="record != null">
+                <if test="record.query != null and record.query != ''">
+                    and (
+                    a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or
+                    a.order_cnt = #{record.query}
+                    )
+                </if>
+            </if>
+        </where>
         order by a.order_cnt asc
     </select>
 
+    <select id="selectOrderInPage" resultType="cc.mrbird.febs.mall.entity.HappyActivityOrder">
+        select
+        a.*,
+               b.name as name,
+               c.name as activityName
+        from happy_activity_order a
+        left join mall_member b on a.member_id = b.id
+        left join happy_activity c on a.activity_id = c.id
+        <where>
+            and a.DELETE_FLAG = 0
+            <if test="record != null">
+                <if test="record.name != null and record.name != ''">
+                    and b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
+                </if>
+                <if test="record.state != null">
+                    and a.state=#{record.state}
+                </if>
+                <if test="record.activityId != null">
+                    and a.activity_id=#{record.activityId}
+                </if>
+            </if>
+        </where>
+        order by a.id desc
+    </select>
+
+
+
+    <select id="getVoteOptionRecordInPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityOptionListVo">
+        select
+        a.id as id,
+        a.option_name as optionName,
+        a.image as image,
+        a.likes_cnt as likesCnt
+        from happy_activity_option a
+        <where>
+            and a.state = 1
+            and a.activity_id = #{record.activityId}
+            and a.DELETE_FLAG = 0
+            <if test="record != null">
+                <if test="record.query != null and record.query != ''">
+                    and (
+                    a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or
+                    a.order_cnt = #{record.query}
+                    )
+                </if>
+            </if>
+        </where>
+        order by a.likes_cnt desc
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1