From 1fc8fde81cbf79ebe95e927f9099cf94c2ccc6e5 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 15 May 2025 17:39:04 +0800
Subject: [PATCH] refactor(mall): 优化退款流程和逻辑

---
 src/main/resources/mapper/modules/HappyActivityOptionMapper.xml |  108 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 106 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
index 50a1976..05101e2 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 AND z.type IN (2, 3, 4)) 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, 4)) 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">
@@ -47,6 +53,11 @@
 
     <update id="updateHappyActivityOptionLikeCnt" >
         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">
@@ -125,4 +136,97 @@
         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>
+
+    <select id="activityOrderCheckList" resultType="cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo">
+        select
+        a.id,
+        a.code,
+        a.name,
+        a.phone,
+        a.address,
+        a.state,
+        CASE
+        WHEN a.state = 1 THEN a.UPDATED_TIME
+        ELSE NULL
+        END AS updatedTime,
+        b.name checkName,
+        b.phone checkPhone,
+        b.real_name checkRealName
+        from happy_activity_order_item a
+        left join mall_member b on b.id = a.transfer_item_id
+        <where>
+
+            and a.code is not null
+            <if test="record != null">
+                <if test="record.name != null and record.name != ''">
+                    and (b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
+                    or b.real_name like CONCAT('%', CONCAT(#{record.name}, '%')))
+                </if>
+                <if test="record.code != null and record.code != ''">
+                    and a.code = #{record.code}
+                </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.created_time desc
+    </select>
+
+    <select id="getOrderCheckListForExport" resultType="cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo">
+        select
+        a.*,
+        b.name checkName,
+        b.phone checkPhone,
+        b.real_name checkRealName
+        from happy_activity_order_item a
+        left join mall_member b on b.id = a.transfer_item_id
+        where a.code is not null
+        and a.activity_id=#{activityId}
+        order by a.created_time desc
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1