From d3844ee25fbb06b656b5521978f083695d194b07 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 29 Apr 2025 09:56:11 +0800
Subject: [PATCH] feat(mall): 添加门票核销功能

---
 src/main/resources/mapper/modules/HappyActivityOptionMapper.xml |  101 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 95 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
index dd13bc2..1df7660 100644
--- a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
+++ b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
@@ -11,7 +11,7 @@
             a.type,
             a.name,
             a.state,
-            a.join_cnt,
+            (select count(z.id) from happy_follow z where z.source_id = a.id) as join_cnt,
             a.start_time,
             a.end_time
         from happy_activity a
@@ -30,7 +30,13 @@
                 </if>
             </if>
         </where>
-        order by a.order_cnt asc, a.id desc
+        <if test="record.hotState != null">
+            order by (select count(y.id) from happy_follow y where y.source_id = a.id and type in (2,3)) desc,a.order_cnt asc
+        </if>
+        <if test="record.hotState == null">
+            order by a.order_cnt asc,a.id desc
+        </if>
+
     </select>
 
     <select id="getVoteRecordInPage" resultType="cc.mrbird.febs.mall.vo.ApiVoteRecordInPageVo">
@@ -49,17 +55,33 @@
         update happy_activity_option set likes_cnt = likes_cnt + 1 where id = #{id}
     </update>
 
+
+    <update id="updateHappyActivitySurplusCnt" >
+        update happy_activity set surplus_cnt = surplus_cnt + #{cnt} where id = #{id}
+    </update>
+
     <select id="getVoteOptionInPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityOptionListVo">
         select
             a.id as id,
+            a.order_cnt as orderCnt,
             a.option_name as optionName,
             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.option_name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or
+                    a.order_cnt = #{record.query}
+                    )
+                </if>
+            </if>
+        </where>
         order by a.order_cnt asc
     </select>
 
@@ -88,4 +110,71 @@
         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.option_name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or
+                    a.order_cnt = #{record.query}
+                    )
+                </if>
+            </if>
+        </where>
+        order by a.likes_cnt desc
+    </select>
+
+    <select id="selectActivityCommentPage" resultType="cc.mrbird.febs.mall.vo.activity.ApiActivityCommentVo">
+        select
+        a.*,
+        b.name name,
+        b.avatar avatar
+        from happy_activity_comment a
+        left join mall_member b on b.id = a.member_id
+        <where>
+            <if test="record != null">
+                <if test="record.activityId != null and record.activityId != ''">
+                    and a.activity_id = #{record.activityId}
+                </if>
+                <if test="record.commentType != null and record.commentType != '' and record.commentType == 1">
+                    and a.star <![CDATA[ > ]]> 4
+                </if>
+                <if test="record.commentType != null and record.commentType != '' and record.commentType == 2">
+                    and (a.star <![CDATA[ >= ]]> 3 and a.star <![CDATA[ <= ]]> 4)
+                </if>
+                <if test="record.commentType != null and record.commentType != '' and record.commentType == 3">
+                    and (a.star <![CDATA[ < ]]> 3 )
+                </if>
+            </if>
+        </where>
+        group by a.id
+        order by a.created_time desc
+    </select>
+
+
+
+    <select id="getCommentListInPage" resultType="cc.mrbird.febs.mall.vo.activity.AdminActivityCommentVo">
+        select
+               a.*,
+                b.name memberName,
+                c.order_no orderNo
+        from happy_activity_comment a
+        left join mall_member b on a.member_id = b.id
+        left join happy_activity_order c on a.order_id = c.id
+        where a.activity_id = #{record.activityId}
+        order by a.created_time desc
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1