<?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.yeshi.fanli.dao.mybatis.user.UserActiveLogMapper">
|
<resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.bus.user.UserActiveLog">
|
<id column="lua_id" property="id" jdbcType="BIGINT" />
|
<result column="lua_uid" property="uid" jdbcType="BIGINT" />
|
<result column="lua_ip" property="ip" jdbcType="VARCHAR" />
|
<result column="lua_channel" property="channel" jdbcType="VARCHAR" />
|
<result column="lua_version_code" property="versionCode"
|
jdbcType="VARCHAR" />
|
<result column="lua_createtime" property="createTime" jdbcType="TIMESTAMP" />
|
<result column="lua_updatetime" property="updateTime" jdbcType="TIMESTAMP" />
|
<result column="lua_device_type" property="deviceType"
|
jdbcType="VARCHAR" />
|
<result column="lua_os_version" property="osVersion" jdbcType="VARCHAR" />
|
</resultMap>
|
<sql id="Base_Column_List">lua_id,lua_uid,lua_ip,lua_channel,lua_version_code,lua_createtime,lua_updatetime,lua_device_type,lua_os_version
|
</sql>
|
<select id="selectByPrimaryKey" resultMap="BaseResultMap"
|
parameterType="java.lang.Long">
|
select
|
<include refid="Base_Column_List" />
|
from yeshi_ec_log_user_active where lua_id = #{id,jdbcType=BIGINT}
|
</select>
|
|
<select id="selectLatestByUid" resultMap="BaseResultMap"
|
parameterType="java.lang.Long">
|
select
|
<include refid="Base_Column_List" />
|
from yeshi_ec_log_user_active where lua_uid = #{0} order by lua_id desc limit 1
|
</select>
|
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from
|
yeshi_ec_log_user_active where lua_id = #{id,jdbcType=BIGINT}
|
</delete>
|
<insert id="insert" parameterType="com.yeshi.fanli.entity.bus.user.UserActiveLog"
|
useGeneratedKeys="true" keyProperty="id">insert into
|
yeshi_ec_log_user_active
|
(lua_id,lua_uid,lua_ip,lua_channel,lua_version_code,lua_createtime,lua_updatetime,lua_device_type,lua_os_version)
|
values
|
(#{id,jdbcType=BIGINT},#{uid,jdbcType=BIGINT},#{ip,jdbcType=VARCHAR},#{channel,jdbcType=VARCHAR},#{versionCode,jdbcType=VARCHAR},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP},#{deviceType,jdbcType=VARCHAR},#{osVersion,jdbcType=VARCHAR})
|
</insert>
|
<insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.user.UserActiveLog"
|
useGeneratedKeys="true" keyProperty="id">
|
insert into yeshi_ec_log_user_active
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null">lua_id,</if>
|
<if test="uid != null">lua_uid,</if>
|
<if test="ip != null">lua_ip,</if>
|
<if test="channel != null">lua_channel,</if>
|
<if test="versionCode != null">lua_version_code,</if>
|
<if test="createTime != null">lua_createtime,</if>
|
<if test="updateTime != null">lua_updatetime,</if>
|
<if test="deviceType != null">lua_device_type,</if>
|
<if test="osVersion != null">lua_os_version,</if>
|
</trim>
|
values
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null">#{id,jdbcType=BIGINT},</if>
|
<if test="uid != null">#{uid,jdbcType=BIGINT},</if>
|
<if test="ip != null">#{ip,jdbcType=VARCHAR},</if>
|
<if test="channel != null">#{channel,jdbcType=VARCHAR},</if>
|
<if test="versionCode != null">#{versionCode,jdbcType=VARCHAR},</if>
|
<if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
|
<if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
|
<if test="deviceType != null">#{deviceType,jdbcType=VARCHAR},</if>
|
<if test="osVersion != null">#{osVersion,jdbcType=VARCHAR}</if>
|
</trim>
|
</insert>
|
<update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.user.UserActiveLog">update
|
yeshi_ec_log_user_active set lua_uid = #{uid,jdbcType=BIGINT},lua_ip =
|
#{ip,jdbcType=VARCHAR},lua_channel =
|
#{channel,jdbcType=VARCHAR},lua_version_code =
|
#{versionCode,jdbcType=VARCHAR},lua_createtime =
|
#{createTime,jdbcType=TIMESTAMP},lua_updatetime =
|
#{updateTime,jdbcType=TIMESTAMP} ,lua_device_type
|
=#{deviceType,jdbcType=VARCHAR} ,lua_os_version
|
=#{osVersion,jdbcType=VARCHAR} where lua_id = #{id,jdbcType=BIGINT}
|
</update>
|
<update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.user.UserActiveLog">
|
update yeshi_ec_log_user_active
|
<set>
|
<if test="uid != null">lua_uid=#{uid,jdbcType=BIGINT},</if>
|
<if test="ip != null">lua_ip=#{ip,jdbcType=VARCHAR},</if>
|
<if test="channel != null">lua_channel=#{channel,jdbcType=VARCHAR},</if>
|
<if test="versionCode != null">lua_version_code=#{versionCode,jdbcType=VARCHAR},</if>
|
<if test="createTime != null">lua_createtime=#{createTime,jdbcType=TIMESTAMP},</if>
|
<if test="updateTime != null">lua_updatetime=#{updateTime,jdbcType=TIMESTAMP},</if>
|
<if test="id !=null">lua_id =#{id,jdbcType=BIGINT},</if>
|
<if test="deviceType !=null">lua_device_type =#{deviceType,jdbcType=VARCHAR},</if>
|
<if test="osVersion !=null">lua_os_version =#{osVersion,jdbcType=VARCHAR},</if>
|
</set>
|
where lua_id = #{id,jdbcType=BIGINT}
|
</update>
|
|
<select id="countSameDayByChannel" resultType="java.util.HashMap">
|
SELECT COALESCE(COUNT(*),0) AS 'sameDayNum',
|
<if test="type == 1">
|
FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') AS 'createDate'
|
</if>
|
<if test="type == 2">
|
FROM_UNIXTIME(u.`createtime`/1000,'%m') AS 'createDate'
|
</if>
|
<if test="type == 3">
|
FROM_UNIXTIME(u.`createtime`/1000,'%Y') AS 'createDate'
|
</if>
|
FROM (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active` a
|
WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`) a
|
LEFT JOIN yeshi_ec_user u ON u.`id`=a.uid
|
WHERE 1=1
|
<if test="startTime != null and startTime != '' ">
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
|
</if>
|
<if test="endTime != null and endTime != '' ">
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') <![CDATA[ <= ]]> '${endTime}'
|
</if>
|
<if test="years != null and years != '' ">
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y') = '${years}'
|
</if>
|
<if test="type == 1">
|
GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d')
|
</if>
|
<if test="type == 2">
|
GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m')
|
</if>
|
<if test="type == 3">
|
GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y')
|
</if>
|
|
ORDER BY u.`createtime`
|
</select>
|
|
<select id="countSameDayAndBuyGoodsByChannel" resultType="java.util.HashMap">
|
SELECT COALESCE(COUNT(DISTINCT u.`id`),0) AS 'sameDayNum',
|
<if test="type == 1">
|
FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') AS 'createDate'
|
</if>
|
<if test="type == 2">
|
FROM_UNIXTIME(u.`createtime`/1000,'%m') AS 'createDate'
|
</if>
|
<if test="type == 3">
|
FROM_UNIXTIME(u.`createtime`/1000,'%Y') AS 'createDate'
|
</if>
|
FROM (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active` a
|
WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`) a
|
LEFT JOIN yeshi_ec_user u ON u.`id`=a.uid
|
LEFT JOIN `yeshi_ec_hongbao` h ON h.`uid`= u.`id`
|
WHERE (h.`type`=1 OR h.`type`=20)
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') = FROM_UNIXTIME(h.createtime/1000,'%Y-%m-%d')
|
<if test="startTime != null and startTime != '' ">
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
|
</if>
|
<if test="endTime != null and endTime != '' ">
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') <![CDATA[ <= ]]> '${endTime}'
|
</if>
|
<if test="years != null and years != '' ">
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y') = '${years}'
|
</if>
|
<if test="type == 1">
|
GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d')
|
</if>
|
<if test="type == 2">
|
GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m')
|
</if>
|
<if test="type == 3">
|
GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y')
|
</if>
|
|
ORDER BY u.`createtime`
|
</select>
|
|
<select id="countSameDayAndBuyGoodsByChannelAndBuyNum" resultType="java.util.HashMap">
|
SELECT COALESCE(COUNT(DISTINCT u.`id`),0) AS 'sameDayNum',
|
<if test="type == 1">
|
FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') AS 'createDate'
|
</if>
|
<if test="type == 2">
|
FROM_UNIXTIME(u.`createtime`/1000,'%m') AS 'createDate'
|
</if>
|
<if test="type == 3">
|
FROM_UNIXTIME(u.`createtime`/1000,'%Y') AS 'createDate'
|
</if>
|
FROM (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active` a
|
WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`) a
|
LEFT JOIN yeshi_ec_user u ON u.`id`=a.uid
|
LEFT JOIN (SELECT COUNT(DISTINCT h.`order_id`) AS count_num,h.uid,h.`createtime` FROM yeshi_ec_hongbao h
|
WHERE h.`type`=1 OR h.`type`=20
|
GROUP BY h.`createtime`,h.uid HAVING count_num>= ${orderNum})hb ON hb.`uid`= u.`id`
|
WHERE FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') = FROM_UNIXTIME(hb.createtime/1000,'%Y-%m-%d')
|
<if test="startTime != null and startTime != '' ">
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
|
</if>
|
<if test="endTime != null and endTime != '' ">
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') <![CDATA[ <= ]]> '${endTime}'
|
</if>
|
<if test="years != null and years != '' ">
|
AND FROM_UNIXTIME(u.`createtime`/1000,'%Y') = '${years}'
|
</if>
|
<if test="type == 1">
|
GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d')
|
</if>
|
<if test="type == 2">
|
GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m')
|
</if>
|
<if test="type == 3">
|
GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y')
|
</if>
|
ORDER BY u.`createtime`
|
</select>
|
</mapper>
|