From fd31530ff2fef3cf194db806940633fdf3cd5be1 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 01 Apr 2026 22:35:57 +0800
Subject: [PATCH] feat(mybatis): 添加分页插件的 SQL 计数优化功能
---
src/main/resources/mapper/modules/HappyActivityOptionMapper.xml | 85 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 83 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
index 1df7660..ef7c9ca 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(z.id) from happy_follow z where z.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
@@ -31,7 +31,7 @@
</if>
</where>
<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
+ 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
@@ -91,6 +91,35 @@
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="selectOrderItemInPage" resultType="cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderItemVo">
+ select
+ a.*,
+ d.name as connectName,
+ d.phone as connectPhone,
+ d.address as connectAddress,
+ b.name as memberName,
+ c.name as activityName
+ from happy_activity_order_item d
+ left join happy_activity_order a on a.id = d.order_id
left join mall_member b on a.member_id = b.id
left join happy_activity c on a.activity_id = c.id
<where>
@@ -177,4 +206,56 @@
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