优化部分sql

This commit is contained in:
2025-10-16 13:50:57 +08:00
parent 2842d53ab2
commit f98e41f725

View File

@@ -150,7 +150,8 @@
</if> </if>
WHERE u.main_shop_id = #{mainShopId} and u.phone is not null WHERE u.main_shop_id = #{mainShopId} and u.phone is not null
<!-- 性别筛选条件 --> <!-- 性别筛选条件 -->
<if test="(param.sexMan == 1 or param.sexWoman == 1 or param.sexUnknown == 1)"> <if test="!(param.sexMan == 1 and param.sexWoman == 1 and param.sexUnknown == 1)
and (param.sexMan == 1 or param.sexWoman == 1 or param.sexUnknown == 1)">
AND AND
<trim prefix="(" suffix=")" prefixOverrides="OR"> <trim prefix="(" suffix=")" prefixOverrides="OR">
<if test="param.sexMan == 1">OR u.sex = 1</if> <if test="param.sexMan == 1">OR u.sex = 1</if>
@@ -164,16 +165,9 @@
AND u.is_vip = #{param.isVip} AND u.is_vip = #{param.isVip}
</if> </if>
<!-- 充值状态筛选 --> <if test="param.isRecharge != null">
<if test="param.isRecharge != null"> AND u.recharge_count <![CDATA[ ${param.isRecharge == 0 ? '=' : '>'} ]]> 0
AND </if>
<if test="param.isRecharge == 0">
u.recharge_count = 0
</if>
<if test="param.isRecharge != 0">
u.recharge_count > 0
</if>
</if>
<!-- 只有当有筛选条件时才需要HAVING子句 --> <!-- 只有当有筛选条件时才需要HAVING子句 -->
<if test="param.orderTimeToday == 1 or param.orderTimeYesterday == 1 or <if test="param.orderTimeToday == 1 or param.orderTimeYesterday == 1 or
param.orderTimeTwoWeeks == 1 or param.orderTimeMoreThanTwoWeeks == 1 or param.orderTimeTwoWeeks == 1 or param.orderTimeMoreThanTwoWeeks == 1 or