<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.stylefeng.guns.modular.system.dao.UserCouponRecordMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.UserCouponRecord">
|
<id column="id" property="id" />
|
<result column="money" property="money" />
|
<result column="fullMoney" property="fullMoney" />
|
<result column="expirationTime" property="expirationTime" />
|
<result column="insertTime" property="insertTime" />
|
<result column="companyId" property="companyId" />
|
<result column="state" property="state" />
|
<result column="endTime" property="endTime"/>
|
<result column="couponUseType" property="couponUseType" />
|
<result column="couponType" property="couponType" />
|
<result column="userId" property="userId" />
|
<result column="couponId" property="couponId" />
|
<result column="couponActivityId" property="couponActivityId" />
|
<result column="activityType" property="activityType" />
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, money, fullMoney, expirationTime, insertTime, companyId, state, couponUseType, couponType, userId, couponId, couponActivityId, activityType
|
</sql>
|
|
<select id="getList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT
|
c.id,
|
c.money,
|
c.fullMoney,
|
c.expirationTime,
|
c.insertTime,
|
c.companyId,
|
c.state,
|
c.couponUseType,
|
c.couponType,
|
c.userId,
|
c.couponId,
|
c.couponActivityId,
|
c.activityType,
|
u.nickName,
|
u.phone,
|
if(a.id is null, if(b.id is null, if(d.id is null, if(e.id is null, '', e.endServiceTime), d.endServiceTime), b.endServiceTime), a.endServiceTime) as useTime
|
FROM
|
t_user_coupon_record c
|
LEFT JOIN t_user u ON c.userId = u.id
|
left join t_order_private_car a on (a.couponId = c.id)
|
left join t_order_taxi b on (b.couponId = c.id)
|
left join t_order_cross_city d on (d.couponId = c.id)
|
left join t_order_logistics e on (e.couponId = c.id)
|
WHERE 1=1
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (c.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="userName != null and userName !=''">
|
and u.nickName like CONCAT('%',#{userName},'%')
|
</if>
|
<if test="activityType != null and activityType !=''">
|
and c.activityType=#{activityType}
|
</if>
|
<if test="userPhone != null and userPhone !=''">
|
and u.phone like CONCAT('%',#{userPhone},'%')
|
</if>
|
<if test="couponActivityId != null and couponActivityId !=''">
|
and c.couponActivityId=#{couponActivityId}
|
</if>
|
<if test="state != null and state !=''">
|
and c.state=#{state}
|
</if>
|
</select>
|
<select id="getRedList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT
|
c.id,
|
c.money,
|
c.expirationTime,
|
c.insertTime,
|
c.companyId,
|
c.state,
|
c.userId,
|
c.redPacketActivityId,
|
u.nickName,
|
u.phone,
|
if(a.id is null, if(b.id is null, if(d.id is null, if(e.id is null, '', e.endServiceTime), d.endServiceTime), b.endServiceTime), a.endServiceTime) as useTime
|
FROM
|
t_user_red_packet_record c
|
LEFT JOIN t_user u ON c.userId = u.id
|
left join t_order_private_car a on (a.redPacketId = c.id)
|
left join t_order_taxi b on (b.redPacketId = c.id)
|
left join t_order_cross_city d on (d.redPacketId = c.id)
|
left join t_order_logistics e on (e.redPacketId = c.id)
|
WHERE 1=1
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (c.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="userName != null and userName !=''">
|
and u.nickName like CONCAT('%',#{userName},'%')
|
</if>
|
<if test="userPhone != null and userPhone !=''">
|
and u.phone like CONCAT('%',#{userPhone},'%')
|
</if>
|
<if test="couponActivityId != null and couponActivityId !=''">
|
and c.redPacketActivityId=#{couponActivityId}
|
</if>
|
<if test="state != null and state !=''">
|
and c.state=#{state}
|
</if>
|
</select>
|
<select id="getCouponStatic" resultType="map">
|
SELECT
|
IFNULL(SUM(money), 0) money,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN state = 2 THEN
|
money
|
ELSE
|
0
|
END
|
),
|
0
|
) useMoney,
|
(
|
select count(c.userId) from (select userId from t_user_coupon_record where activityType = #{activityType} and couponActivityId = #{activityId}
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
group by userId) as c
|
) number
|
FROM
|
t_user_coupon_record
|
WHERE
|
activityType = #{activityType}
|
AND couponActivityId = #{activityId}
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
</select>
|
<select id="getRedStatic" resultType="map">
|
SELECT
|
IFNULL(SUM(money), 0) money,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN state = 2 THEN
|
money
|
ELSE
|
0
|
END
|
),
|
0
|
) useMoney,
|
COUNT(id) number
|
FROM
|
t_user_red_packet_record
|
WHERE
|
redPacketActivityId = #{activityId}
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
</select>
|
<select id="getDiscountStatic" resultType="map">
|
SELECT IFNULL(SUM(discountMoney),0) money,COUNT(id) number FROM t_order_taxi WHERE activityId=#{activityId}
|
</select>
|
<select id="getRegStatic" resultType="map">
|
SELECT
|
IFNULL(SUM(r.money), 0) money,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN r.state = 2 THEN
|
r.money
|
ELSE
|
0
|
END
|
),
|
0
|
) useMoney,
|
COUNT(r.id) number
|
FROM
|
t_user_coupon_record r
|
LEFT JOIN t_user_activity_balance u ON u.id = r.couponActivityId
|
WHERE
|
u.userActivityId = #{activityId} and r.activityType =4
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
</select>
|
<select id="getBlanceList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT
|
b.id,
|
b.money,
|
c1.number,c1.useMoney,c1.useNumber,
|
c2.number speNumber,c2.useMoney speUserMoney,c2.useNumber speUseNumber,
|
c3.number taxiNumber,c3.useMoney taxiUserMoney,c3.useNumber taxiUseNumber,
|
c4.number intercityNumber,c4.useMoney intercityUserMoney,c4.useNumber intercityUseNumber
|
FROM
|
t_user_activity_balance b
|
LEFT JOIN (
|
SELECT
|
couponActivityId,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN r.state = 2 THEN
|
r.money
|
ELSE
|
0
|
END
|
),
|
0
|
) useMoney,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN r.state = 2 THEN
|
1
|
ELSE
|
0
|
END
|
),
|
0
|
) useNumber,
|
COUNT(r.id) number
|
FROM
|
t_user_coupon_record r
|
WHERE
|
r.activityType = 4 AND r.couponUseType=0
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
GROUP BY couponActivityId
|
) c1 ON c1.couponActivityId=b.id
|
LEFT JOIN (
|
SELECT
|
couponActivityId,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN r.state = 2 THEN
|
r.money
|
ELSE
|
0
|
END
|
),
|
0
|
) useMoney,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN r.state = 2 THEN
|
1
|
ELSE
|
0
|
END
|
),
|
0
|
) useNumber,
|
COUNT(r.id) number
|
FROM
|
t_user_coupon_record r
|
WHERE
|
r.activityType = 4 AND r.couponUseType=1
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
GROUP BY couponActivityId
|
) c2 ON c2.couponActivityId=b.id
|
LEFT JOIN (
|
SELECT
|
couponActivityId,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN r.state = 2 THEN
|
r.money
|
ELSE
|
0
|
END
|
),
|
0
|
) useMoney,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN r.state = 2 THEN
|
1
|
ELSE
|
0
|
END
|
),
|
0
|
) useNumber,
|
COUNT(r.id) number
|
FROM
|
t_user_coupon_record r
|
WHERE
|
r.activityType = 4 AND r.couponUseType=2
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
GROUP BY couponActivityId
|
) c3 ON c3.couponActivityId=b.id
|
LEFT JOIN (
|
SELECT
|
couponActivityId,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN r.state = 2 THEN
|
r.money
|
ELSE
|
0
|
END
|
),
|
0
|
) useMoney,
|
IFNULL(
|
SUM(
|
CASE
|
WHEN r.state = 2 THEN
|
1
|
ELSE
|
0
|
END
|
),
|
0
|
) useNumber,
|
COUNT(r.id) number
|
FROM
|
t_user_coupon_record r
|
WHERE
|
r.activityType = 4 AND r.couponUseType=3
|
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
|
and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
GROUP BY couponActivityId
|
) c4 ON c4.couponActivityId=b.id
|
WHERE
|
b.userActivityId = #{activityId}
|
</select>
|
|
|
<select id="queryCouponRegister" resultType="map">
|
select
|
da.time,
|
sum(da.receivePeople) as receivePeople,
|
sum(da.giving) as giving,
|
(sum(da.receivePeople) + sum(da.giving)) as receive,
|
sum(da.receiveMoney) as receiveMoney,
|
sum(da.usePeople) as usePeople,
|
sum(da.`use`) as `use`,
|
sum(da.useMoney) as useMoney
|
from (
|
select
|
aa.time,
|
count(aa.userId) as receivePeople,
|
0 as giving,
|
sum(aa.receiveMoney) as receiveMoney,
|
0 as usePeople,
|
0 as `use`,
|
0 as useMoney
|
from (
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time,
|
a.userId,
|
count(a.id) as receive,
|
sum(a.money) as receiveMoney
|
from t_user_coupon_record a
|
<if test="2 == type">
|
left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="3 == type">
|
left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="4 == type">
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
where activityType = #{type}
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId
|
) as aa GROUP BY aa.time
|
|
union all
|
|
select
|
aa.time,
|
0,
|
0,
|
0,
|
count(aa.userId) as usePeople,
|
sum(aa.receive) as `use`,
|
sum(aa.receiveMoney) as useMoney
|
from (
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time,
|
a.userId,
|
count(a.id) as receive,
|
sum(a.money) as receiveMoney
|
from t_user_coupon_record a
|
<if test="2 == type">
|
left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="3 == type">
|
left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="4 == type">
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
where a.activityType = #{type} and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId
|
) as aa GROUP BY aa.time
|
|
<if test="2 == type">
|
union all
|
|
select
|
aa.time,
|
0,
|
count(aa.userId) as giving,
|
sum(aa.receiveMoney) as receiveMoney,
|
0 as usePeople,
|
0 as `use`,
|
0 as useMoney
|
from (
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time,
|
a.userId,
|
count(a.id) as receive,
|
sum(a.money) as receiveMoney
|
from t_user_coupon_record a
|
left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1)
|
where a.activityType = 1
|
<if test="null != name and '' != name">
|
and b.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and b.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId
|
) as aa GROUP BY aa.time
|
</if>
|
) as da GROUP BY da.time order by da.time desc
|
<if test="null != offset and null != limit">
|
limit #{offset}, #{limit}
|
</if>
|
</select>
|
|
|
<select id="queryCouponRegisterCount" resultType="int">
|
select count(time) from (
|
select
|
count(da.time) as time
|
from (
|
select
|
aa.time,
|
count(aa.userId) as receivePeople,
|
0 as giving,
|
sum(aa.receiveMoney) as receiveMoney,
|
0 as usePeople,
|
0 as `use`,
|
0 as useMoney
|
from (
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time,
|
a.userId,
|
count(a.id) as receive,
|
sum(a.money) as receiveMoney
|
from t_user_coupon_record a
|
<if test="2 == type">
|
left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="3 == type">
|
left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="4 == type">
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
where activityType = #{type}
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId
|
) as aa GROUP BY aa.time
|
|
union all
|
|
select
|
aa.time,
|
0,
|
0,
|
0,
|
count(aa.userId) as usePeople,
|
sum(aa.receive) as `use`,
|
sum(aa.receiveMoney) as useMoney
|
from (
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time,
|
a.userId,
|
count(a.id) as receive,
|
sum(a.money) as receiveMoney
|
from t_user_coupon_record a
|
<if test="2 == type">
|
left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="3 == type">
|
left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="4 == type">
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
where a.activityType = #{type} and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId
|
) as aa GROUP BY aa.time
|
|
<if test="2 == type">
|
union all
|
|
select
|
aa.time,
|
0,
|
count(aa.userId) as giving,
|
sum(aa.receiveMoney) as receiveMoney,
|
0 as usePeople,
|
0 as `use`,
|
0 as useMoney
|
from (
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time,
|
a.userId,
|
count(a.id) as receive,
|
sum(a.money) as receiveMoney
|
from t_user_coupon_record a
|
left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1)
|
where a.activityType = 1
|
<if test="null != name and '' != name">
|
and b.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and b.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId
|
) as aa GROUP BY aa.time
|
</if>
|
) as da GROUP BY da.time
|
) as w
|
</select>
|
|
|
<select id="queryCouponRegisterInfo" resultType="map">
|
select
|
a.id as id,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
d.nickName as userName,
|
d.phone as phone,
|
a.money as money,
|
DATE_FORMAT(a.expirationTime, '%Y-%m-%d %H:%i:%s') as expirationTime,
|
if(a.couponType = 1, '抵扣券', '满减券') as couponType,
|
if(a.state = 1, '未使用', if(a.state = 2, '已使用', '已过期')) as state,
|
DATE_FORMAT(a.endTime, '%Y-%m-%d %H:%i:%s') as endTime
|
from t_user_coupon_record a
|
<if test="2 == type">
|
left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="3 == type">
|
left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
left join t_user d on (a.userId = d.id)
|
where a.activityType = #{type}
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
order by a.insertTime desc
|
<if test="null != offset and null != limit">
|
limit #{offset}, #{limit}
|
</if>
|
</select>
|
|
|
<select id="queryCouponRegisterInfoCount" resultType="int">
|
select
|
count(a.id)
|
from t_user_coupon_record a
|
<if test="2 == type">
|
left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
<if test="3 == type">
|
left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
</if>
|
left join t_user d on (a.userId = d.id)
|
where a.activityType = #{type}
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
</select>
|
|
|
|
<select id="queryCouponRegisterInfo1" resultType="map">
|
select
|
aa.time,
|
aa.userId,
|
aa.userName,
|
aa.phone,
|
sum(aa.amount) as amount,
|
sum(aa.tyNum) as tyNum,
|
sum(aa.tyUseNum) as tyUseNum,
|
sum(aa.tyUseMoney) as tyUseMoney,
|
sum(aa.zcNum) as zcNum,
|
sum(aa.zcUseNum) as zcUseNum,
|
sum(aa.zcUseMoney) as zcUseMoney,
|
sum(aa.czcNum) as czcNum,
|
sum(aa.czcUseNum) as czcUseNum,
|
sum(aa.czcUseMoney) as czcUseMoney,
|
sum(aa.kcNum) as kcNum,
|
sum(aa.kcUseNum) as kcUseNum,
|
sum(aa.kcUseMoney) as kcUseMoney
|
from (
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
sum(e.amount) as amount,
|
count(a.id) as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 0
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
count(a.id) as tyUseNum,
|
sum(a.money) as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 0 and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
count(a.id) as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 1
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
count(a.id) as zcUseNum,
|
sum(a.money) as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 1 and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
count(a.id) as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
count(a.id) as czcUseNum,
|
sum(a.money) as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 2 and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
count(a.id) as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 3
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
count(a.id) as kcUseNum,
|
sum(a.money) as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 3 and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
) as aa GROUP BY aa.time,aa.userId order by aa.time desc
|
<if test="null != offset and null != limit">
|
limit #{offset}, #{limit}
|
</if>
|
</select>
|
|
|
<select id="queryCouponRegisterInfo1Count" resultType="int">
|
select
|
count(w.time)
|
from (
|
select
|
aa.time as time
|
from (
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
sum(e.amount) as amount,
|
count(a.id) as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 0
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
count(a.id) as tyUseNum,
|
sum(a.money) as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 0 and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
count(a.id) as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 1
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
count(a.id) as zcUseNum,
|
sum(a.money) as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 1 and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
count(a.id) as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
count(a.id) as czcUseNum,
|
sum(a.money) as czcUseMoney,
|
0 as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 2 and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
count(a.id) as kcNum,
|
0 as kcUseNum,
|
0 as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 3
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
|
union all
|
|
select
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time,
|
a.userId as userId,
|
d.nickName as userName,
|
d.phone as phone,
|
0 as amount,
|
0 as tyNum,
|
0 as tyUseNum,
|
0 as tyUseMoney,
|
0 as zcNum,
|
0 as zcUseNum,
|
0 as zcUseMoney,
|
0 as czcNum,
|
0 as czcUseNum,
|
0 as czcUseMoney,
|
0 as kcNum,
|
count(a.id) as kcUseNum,
|
sum(a.money) as kcUseMoney
|
from t_user_coupon_record a
|
left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
|
left join t_user_activity c on (b.userActivityId = c.id)
|
left join t_user d on (a.userId = d.id)
|
left join t_payment_record e on (a.paymentRecordId = e.id)
|
where a.activityType = 4 and a.couponUseType = 3 and a.state = 2
|
<if test="null != name and '' != name">
|
and c.`name` like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
<if test="null != companyId">
|
and c.companyId = #{companyId}
|
</if>
|
GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId
|
) as aa GROUP BY aa.time,aa.userId
|
) w
|
</select>
|
</mapper>
|