|
|
|
@ -406,10 +406,11 @@
|
|
|
|
|
|
|
|
|
|
<select id="countNewCustomers" resultType="java.lang.Integer">
|
|
|
|
|
<![CDATA[
|
|
|
|
|
SELECT COUNT(DISTINCT customer_id) FROM pmt_orders o
|
|
|
|
|
SELECT COUNT(DISTINCT customer_id) FROM (SELECT o.customer_id FROM pmt_transactions t
|
|
|
|
|
INNER JOIN pmt_orders o ON o.order_id = t.order_id
|
|
|
|
|
]]>
|
|
|
|
|
<![CDATA[
|
|
|
|
|
WHERE o.create_time >= #{begin} AND o.create_time < #{end} AND o.status>4
|
|
|
|
|
WHERE o.create_time >= #{begin} AND o.create_time < #{end}
|
|
|
|
|
]]>
|
|
|
|
|
<if test="client_ids!=null">
|
|
|
|
|
AND o.client_id IN
|
|
|
|
@ -420,31 +421,30 @@
|
|
|
|
|
<if test="client_ids==null and client_id != null">
|
|
|
|
|
and o.client_id=#{client_id}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="org_id!=null and org_ids==null">and o.org_id=#{org_id}</if>
|
|
|
|
|
<if test="org_ids!=null">and o.org_id in
|
|
|
|
|
<if test="org_id!=null and org_ids==null">and t.org_id=#{org_id}</if>
|
|
|
|
|
<if test="org_ids!=null">and t.org_id in
|
|
|
|
|
<foreach collection="org_ids" item="org_id" open="(" close=")" separator=",">#{org_id}</foreach>
|
|
|
|
|
</if>
|
|
|
|
|
<if test="channel !=null">and o.channel = #{channel}</if>
|
|
|
|
|
AND EXISTS (
|
|
|
|
|
<![CDATA[
|
|
|
|
|
select customer_id from pmt_orders oo where oo.customer_id=o.customer_id
|
|
|
|
|
and oo.create_time < #{begin} AND oo.status>4
|
|
|
|
|
]]>
|
|
|
|
|
<if test="client_ids!=null">
|
|
|
|
|
AND oo.client_id IN
|
|
|
|
|
<foreach collection="client_ids" open="(" close=")" separator="," item="client_id">
|
|
|
|
|
#{client_id}
|
|
|
|
|
</foreach>
|
|
|
|
|
</if>
|
|
|
|
|
<if test="client_ids==null and client_id != null">
|
|
|
|
|
and oo.client_id=#{client_id}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="org_id!=null and org_ids==null">and oo.org_id=#{org_id}</if>
|
|
|
|
|
<if test="org_ids!=null">and oo.org_id in
|
|
|
|
|
<foreach collection="org_ids" item="org_id" open="(" close=")" separator=",">#{org_id}</foreach>
|
|
|
|
|
</if>
|
|
|
|
|
<if test="channel !=null">and oo.channel = #{channel}</if>
|
|
|
|
|
<![CDATA[
|
|
|
|
|
GROUP BY o.customer_id) p
|
|
|
|
|
where p.customer_id NOT IN (SELECT o.customer_id FROM pmt_transactions t INNER JOIN pmt_orders o ON o.order_id = t.order_id
|
|
|
|
|
]]>
|
|
|
|
|
<![CDATA[
|
|
|
|
|
WHERE o.create_time < #{begin}
|
|
|
|
|
]]>
|
|
|
|
|
<if test="client_ids!=null">
|
|
|
|
|
AND o.client_id IN
|
|
|
|
|
<foreach collection="client_ids" open="(" close=")" separator="," item="client_id">
|
|
|
|
|
#{client_id}
|
|
|
|
|
</foreach>
|
|
|
|
|
</if>
|
|
|
|
|
<if test="client_ids==null and client_id != null">
|
|
|
|
|
and o.client_id=#{client_id}
|
|
|
|
|
</if>
|
|
|
|
|
<![CDATA[
|
|
|
|
|
)
|
|
|
|
|
]]>
|
|
|
|
|
</select>
|
|
|
|
|
<select id="countOldCustomers" resultType="java.lang.Integer">
|
|
|
|
|
<![CDATA[
|
|
|
|
|