yujian
2020-06-09 554de444b87aab5f93cb1593a8095612cf9479a7
fanli/src/main/java/com/yeshi/fanli/mapping/user/UserActiveLogMapper.xml
@@ -1,172 +1,117 @@
<?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>
</mapper>
<?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" />
      <result column="lua_device" property="device" 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,lua_device
   </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>
   <select id="selectFirstActiveInfo" 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
      limit 1
   </select>
   <select id="countActiveNumByDate"  resultType="Long">
      SELECT COUNT(BB.lua_uid) FROM (SELECT  d.`lua_uid` FROM yeshi_ec_log_user_active d
         WHERE TO_DAYS(d.`lua_createtime`) = TO_DAYS(#{preDay})
         GROUP BY d.`lua_uid`) A
      LEFT JOIN (SELECT lua_uid FROM (SELECT  d.`lua_uid`,MAX(d.`lua_createtime`) AS maxTime FROM yeshi_ec_log_user_active d
         WHERE TO_DAYS(d.`lua_createtime`) <![CDATA[<]]> TO_DAYS(#{preDay})
         GROUP BY d.`lua_uid`) B WHERE B.`maxTime` <![CDATA[<]]> DATE_SUB(#{preDay}, INTERVAL 90 DAY))BB ON A.lua_uid = BB.lua_uid
      WHERE BB.lua_uid IS NOT NULL
   </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,lua_device)
      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},#{device,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>
         <if test="device != null">lua_device,</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>
         <if test="device != null">#{device,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},lua_device
      =#{device,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="deviceType !=null">lua_device_type =#{deviceType,jdbcType=VARCHAR},</if>
         <if test="osVersion !=null">lua_os_version =#{osVersion,jdbcType=VARCHAR},</if>
         <if test="device !=null">lua_device =#{device,jdbcType=VARCHAR},</if>
      </set>
      where lua_id = #{id,jdbcType=BIGINT}
   </update>
</mapper>