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 699c95e..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, - (select count(id) from happy_follow where source_id = a.id) as 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