|
- <?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.simple.mapper.WxCouponActionLogMapper">
- <resultMap id="BaseResultMap" type="com.simple.domain.po.WxCouponActionLog">
- <id column="id" jdbcType="BIGINT" property="id" />
- <result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
- <result column="coupon_id" jdbcType="BIGINT" property="couponId" />
- <result column="coupon_order_id" jdbcType="BIGINT" property="couponOrderId" />
- <result column="channel_type" jdbcType="INTEGER" property="channelType" />
- <result column="channel_id" jdbcType="BIGINT" property="channelId" />
- <result column="createtime" jdbcType="TIMESTAMP" property="createtime" />
- </resultMap>
-
- <sql id="allColumns">
- `id`,`tenant_id`,`coupon_id`,`coupon_order_id`,`channel_type`,`channel_id`,`createtime`
- </sql>
-
- <sql id="dynamicWhereConditions">
- where 1 = 1
-
- <if test=" null != id ">
- and `id` = #{id}
-
- </if>
-
- <if test=" null != tenantId ">
- and `tenant_id` like concat('%', #{tenantId},'%')
-
- </if>
-
- <if test=" null != couponId ">
- and `coupon_id` = #{couponId}
-
- </if>
-
- <if test=" null != couponOrderId ">
- and `coupon_order_id` = #{couponOrderId}
-
- </if>
-
- <if test=" null != channelType ">
- and `channel_type` = #{channelType}
-
- </if>
-
- <if test=" null != channelId ">
- and `channel_id` = #{channelId}
-
- </if>
-
- <if test=" null != createtime ">
- and `createtime` = #{createtime}
- </if>
- <if test=" null != startTime ">
- and `createtime` >= #{startTime}
- </if>
- <if test=" null != endTime ">
- and `createtime` <= #{endTime}
- </if>
-
- <if test=" null != ids ">
- and id in
- <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
- #{idItem}
- </foreach>
- </if>
- <if test=" null != sortColumns"> order by ${sortColumns} </if>
- </sql>
-
- <select id="findList" parameterType="com.simple.domain.po.WxCouponActionLog" resultMap="BaseResultMap">
- select <include refid="allColumns" /> from wx_coupon_action_log
- <include refid="dynamicWhereConditions" />
- </select>
-
- <select id="findCountByDateLimit" resultType="java.lang.Integer">
- select COUNT(*) FROM wx_coupon_action_log where tenant_id = #{tenantId} and `createtime` >= #{startTime} and `createtime` <= #{endTime}
- </select>
-
- <select id="sceneDataMap" resultType="com.simple.domain.vo.MarkingSceneDataReportVo" parameterType="hashmap">
- select DATE_FORMAT(createtime,'%m/%d') as xTime, (select Count(*) from wx_coupon_action_log c where DATE_FORMAT(createtime,'%m/%d')=xTime and c.channel_type=3 and tenant_id=#{tenantId} ) as parkSendCount,(select Count(*) from wx_coupon_action_log c where DATE_FORMAT(createtime,'%m/%d')=xTime and c.channel_type=4 and tenant_id=#{tenantId}) as verifySendCount
- from wx_coupon_action_log where tenant_id=#{tenantId} and createtime >= #{startTime} and createtime <= #{endTime} group by xTime
- </select>
-
- <select id="sceneDataMapJoinCouponOrder" resultType="com.simple.domain.vo.MarkingSceneDataReportVo" parameterType="hashmap">
- select DATE_FORMAT(create_date,'%m/%d') AS xTime,COUNT(wx_coupon_order.id) as tempCount from wx_coupon_action_log left join wx_coupon_order on wx_coupon_action_log.coupon_order_id=wx_coupon_order.id where wx_coupon_action_log.tenant_id=#{tenantId}
- AND wx_coupon_order.coupon_order_status = 1 and wx_coupon_action_log.createtime >= #{startTime} and wx_coupon_action_log.createtime <= #{endTime}
- AND wx_coupon_action_log.channel_type = #{channelType} group by xTime
- </select>
-
- <select id="sceneDataList" resultType="com.simple.domain.vo.MarkingSceneDataReportVo" parameterType="hashmap">
- select DATE_FORMAT(createtime,'%Y-%m-%d') as xTime, (select Count(*) from wx_coupon_action_log c where DATE_FORMAT(createtime,'%Y-%m-%d')=xTime and c.channel_type=3 and tenant_id=#{tenantId} ) as parkSendCount,(select Count(*) from wx_coupon_action_log c where DATE_FORMAT(createtime,'%Y-%m-%d')=xTime and c.channel_type=4 and tenant_id=#{tenantId}) as verifySendCount
- from wx_coupon_action_log where tenant_id=#{tenantId} and createtime >= #{startTime} and createtime <= #{endTime} group by xTime
- </select>
-
- <select id="sceneDataJoinCouponOrderList" resultType="com.simple.domain.vo.MarkingSceneDataReportVo" parameterType="hashmap">
- select DATE_FORMAT(create_date,'%Y-%m-%d') AS xTime,COUNT(wx_coupon_order.id) as tempCount from wx_coupon_action_log left join wx_coupon_order on wx_coupon_action_log.coupon_order_id=wx_coupon_order.id where wx_coupon_action_log.tenant_id=#{tenantId}
- AND wx_coupon_order.coupon_order_status = 1 and wx_coupon_action_log.createtime >= #{startTime} and wx_coupon_action_log.createtime <= #{endTime}
- AND wx_coupon_action_log.channel_type = #{channelType} group by xTime
- </select>
- </mapper>
|