| | |
| | | <?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.ks.lucky.mapper.LuckyActivityJoinRecordMapper"> |
| | | <resultMap id="BaseResultMap" type="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord"> |
| | | <id column="id" jdbcType="BIGINT" property="id"/> |
| | |
| | | <result column="user_type" jdbcType="INTEGER" property="userType"/> |
| | | <result column="weight" jdbcType="INTEGER" property="weight"/> |
| | | <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> |
| | | <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> |
| | | <result column="draw_state" property="drawState" jdbcType="INTEGER"/> |
| | | </resultMap> |
| | | <sql id="Base_Column_List"> |
| | | id, activity_id, app_id, uid, join_info, user_type, weight, create_time |
| | | </sql> |
| | | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
| | | select |
| | | <include refid="Base_Column_List"/> |
| | | from lucky_activity_join_record |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </select> |
| | | |
| | | <select id="selectByPrimaryKeyForUpdate" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
| | | select |
| | | <include refid="Base_Column_List"/> |
| | | from lucky_activity_join_record |
| | | where id = #{0} for update |
| | | </select> |
| | | |
| | | <resultMap id="RankResultMap" type="com.ks.lucky.pojo.DTO.ActivityJoinerRankInfo"> |
| | | <result column="rank" jdbcType="INTEGER" property="rank"/> |
| | | <result column="app_id" jdbcType="BIGINT" property="appId"/> |
| | | <result column="uid" jdbcType="VARCHAR" property="uid"/> |
| | | <result column="weight" jdbcType="INTEGER" property="weight"/> |
| | | </resultMap> |
| | | |
| | | <sql id="Base_Column_List">id, activity_id, app_id, uid, join_info, user_type, weight, create_time,update_time,draw_state</sql> |
| | | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">select |
| | | <include refid="Base_Column_List"/> |
| | | from lucky_activity_join_record where id = #{id,jdbcType=BIGINT} |
| | | </select> |
| | | <select id="selectByPrimaryKeyForUpdate" parameterType="java.lang.Long" resultMap="BaseResultMap">select |
| | | <include refid="Base_Column_List"/> |
| | | from lucky_activity_join_record where id = #{0} for update |
| | | </select> |
| | | <!-- 非模板 --> |
| | | |
| | | <sql id="listWhere"> |
| | | <if test="query.activityId!=null"> |
| | | and activity_id=#{query.activityId} |
| | | <if test="query.activityId!=null">and activity_id=#{query.activityId}</if> |
| | | <if test="query.appId!=null">and app_id=#{query.appId}</if> |
| | | <if test="query.uid!=null">and uid=#{query.uid}</if> |
| | | <if test="query.drawStateList!=null"> |
| | | <foreach collection="query.drawStateList" item="state" open=" and (" close=")" separator=" or "> |
| | | and draw_state=#{state} |
| | | </foreach> |
| | | </if> |
| | | <if test="query.appId!=null"> |
| | | and app_id=#{query.appId} |
| | | </if> |
| | | <if test="query.uid!=null"> |
| | | and uid=#{query.uid} |
| | | </if> |
| | | |
| | | <if test="query.minCreateTime!=null"> |
| | | and create_time>=#{query.minCreateTime} |
| | | </if> |
| | | |
| | | <if test="query.maxCreateTime!=null"> |
| | | and #{query.maxCreateTime}>create_time |
| | | </if> |
| | | |
| | | <if test="query.minCreateTime!=null">and create_time>=#{query.minCreateTime}</if> |
| | | <if test="query.maxCreateTime!=null">and #{query.maxCreateTime}>create_time</if> |
| | | </sql> |
| | | |
| | | |
| | | <select id="list" resultMap="BaseResultMap"> |
| | | select |
| | | <select id="list" resultMap="BaseResultMap">select |
| | | <include refid="Base_Column_List"/> |
| | | from lucky_activity_join_record |
| | | where 1=1 |
| | | <include refid="listWhere"> |
| | | |
| | | </include> |
| | | |
| | | |
| | | from lucky_activity_join_record where 1=1 |
| | | <include refid="listWhere"/> |
| | | <if test="query.sortList!=null"> |
| | | <foreach collection="query.sortList" item="item" separator="," open=" order by "> |
| | | #{item} |
| | | </foreach> |
| | | <foreach collection="query.sortList" item="item" separator="," open=" order by ">#{item}</foreach> |
| | | </if> |
| | | limit #{query.start},#{query.count} |
| | | </select> |
| | | |
| | | <select id="count" resultType="java.lang.Long"> |
| | | select |
| | | count(*) |
| | | from lucky_activity_join_record |
| | | where 1=1 |
| | | <include refid="listWhere"> |
| | | |
| | | </include> |
| | | <select id="count" resultType="java.lang.Long">select count(*) from lucky_activity_join_record where 1=1 |
| | | <include refid="listWhere"/> |
| | | </select> |
| | | |
| | | <update id="addWeight"> |
| | | |
| | | update lucky_activity_join_record set weight=weight+#{weight} where id=#{id} |
| | | <sql id="listWithActivityWhere"> |
| | | <if test="query.activityId!=null">and r.activity_id=#{query.activityId}</if> |
| | | <if test="query.appId!=null">and r.app_id=#{query.appId}</if> |
| | | <if test="query.uid!=null">and r.uid=#{query.uid}</if> |
| | | <if test="query.drawStateList!=null"> |
| | | <foreach collection="query.drawStateList" item="state" open=" and (" close=")" separator=" or "> |
| | | and draw_state=#{state} |
| | | </foreach> |
| | | </if> |
| | | <if test="query.minCreateTime!=null">and r.create_time>=#{query.minCreateTime}</if> |
| | | <if test="query.maxCreateTime!=null">and #{query.maxCreateTime}>r.create_time</if> |
| | | </sql> |
| | | |
| | | </update> |
| | | <select id="listWithActivityState" resultMap="BaseResultMap"> |
| | | select |
| | | r.* |
| | | from lucky_activity_join_record r LEFT JOIN `lucky_activity` a ON r.`activity_id`=a.`id` where 1=1 |
| | | <include refid="listWithActivityWhere"/> |
| | | |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
| | | delete from lucky_activity_join_record |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </delete> |
| | | <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord"> |
| | | insert into lucky_activity_join_record (id, activity_id, app_id, |
| | | uid, join_info, user_type, |
| | | weight, create_time) |
| | | values (#{id,jdbcType=BIGINT}, #{activityId,jdbcType=BIGINT}, #{appId,jdbcType=BIGINT}, |
| | | #{uid,jdbcType=VARCHAR}, #{joinInfo,jdbcType=VARCHAR}, #{userType,jdbcType=INTEGER}, |
| | | #{weight,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}) |
| | | </insert> |
| | | <insert id="insertSelective" useGeneratedKeys="true" keyProperty="id" parameterType="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord"> |
| | | insert into lucky_activity_join_record |
| | | <if test="activityStateList!=null"> |
| | | <foreach collection="activityStateList" item="state" open=" and (" close=")" separator="or"> |
| | | #{state}=a.state |
| | | </foreach> |
| | | </if> |
| | | order by r.create_time desc |
| | | limit #{query.start},#{query.count} |
| | | </select> |
| | | <select id="countWithActivityState" resultType="java.lang.Long"> |
| | | select |
| | | count(*) |
| | | from lucky_activity_join_record r LEFT JOIN `lucky_activity` a ON r.`activity_id`=a.`id` where 1=1 |
| | | <include refid="listWithActivityWhere"/> |
| | | |
| | | <if test="activityStateList!=null"> |
| | | <foreach collection="activityStateList" item="state" open=" and (" close=")" separator="or"> |
| | | #{state}=a.state |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="getJoinerPosition" resultType="java.lang.Integer"> |
| | | select count(*) from `lucky_activity_join_record` r where r.`activity_id`=#{activityId} and r.`id` <![CDATA[<]]> (SELECT r.`id` FROM `lucky_activity_join_record` r where r.`activity_id`=#{activityId} and r.`app_id`=#{appId} and r.`uid`=#{uid}) |
| | | </select> |
| | | |
| | | |
| | | <select id="sumWeight" resultType="java.lang.Long"> |
| | | select sum(r.weight) from `lucky_activity_join_record` r where r.`activity_id`=#{activityId} |
| | | </select> |
| | | |
| | | |
| | | <select id="listWeightRank" resultMap="RankResultMap"> |
| | | SELECT (@i:=@i+1) rank,r.* FROM lucky_activity_join_record r,(SELECT @i:=#{start}) t where r.`activity_id`=#{activityId} order by r.`weight` desc,r.`id` LIMIT #{start},#{count}; |
| | | </select> |
| | | |
| | | |
| | | <select id="countWeightRank" resultType="java.lang.Long"> |
| | | SELECT count(*) FROM lucky_activity_join_record r where r.`activity_id`=#{activityId} |
| | | </select> |
| | | |
| | | |
| | | <!-- 参与者的排行 = 大于自己权重的参与者数量 + 等于自己的权重数量且id小于等于自己ID的参与者数量 --> |
| | | |
| | | <select id="getWeightRankWithRecord" resultType="java.lang.Integer"> |
| | | select |
| | | ( |
| | | (select COUNT(*) from lucky_activity_join_record r where r.`activity_id`=#{activityId} and r.`weight`>#{weight}) |
| | | + |
| | | (SELECT COUNT(*) FROM lucky_activity_join_record r WHERE r.`activity_id`=#{activityId} AND r.`weight`=#{weight} and r.`id` <![CDATA[<=]]> #{id})) as rank |
| | | </select> |
| | | |
| | | |
| | | <update id="addWeight">update lucky_activity_join_record set weight=weight+#{weight} where id=#{id}</update> |
| | | <delete id="deleteByPrimaryKey" |
| | | parameterType="java.lang.Long">delete from lucky_activity_join_record where id = #{id,jdbcType=BIGINT}</delete> |
| | | <insert id="insert" useGeneratedKeys="true" keyProperty="id" |
| | | parameterType="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord">insert into lucky_activity_join_record (id, activity_id, app_id, uid, join_info, user_type, weight, create_time,id,update_time,draw_state) values (#{id,jdbcType=BIGINT}, #{activityId,jdbcType=BIGINT}, #{appId,jdbcType=BIGINT}, #{uid,jdbcType=VARCHAR}, #{joinInfo,jdbcType=VARCHAR}, #{userType,jdbcType=INTEGER}, #{weight,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},#{id,jdbcType=BIGINT},#{updateTime,jdbcType=TIMESTAMP},#{drawState,jdbcType=INTEGER})</insert> |
| | | <insert id="insertSelective" useGeneratedKeys="true" keyProperty="id" |
| | | parameterType="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord">insert into lucky_activity_join_record |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | id, |
| | | </if> |
| | | <if test="activityId != null"> |
| | | activity_id, |
| | | </if> |
| | | <if test="appId != null"> |
| | | app_id, |
| | | </if> |
| | | <if test="uid != null"> |
| | | uid, |
| | | </if> |
| | | <if test="joinInfo != null"> |
| | | join_info, |
| | | </if> |
| | | <if test="userType != null"> |
| | | user_type, |
| | | </if> |
| | | <if test="weight != null"> |
| | | weight, |
| | | </if> |
| | | <if test="createTime != null"> |
| | | create_time, |
| | | </if> |
| | | <if test="id != null">id,</if> |
| | | <if test="activityId != null">activity_id,</if> |
| | | <if test="appId != null">app_id,</if> |
| | | <if test="uid != null">uid,</if> |
| | | <if test="joinInfo != null">join_info,</if> |
| | | <if test="userType != null">user_type,</if> |
| | | <if test="weight != null">weight,</if> |
| | | <if test="createTime != null">create_time,</if> |
| | | <if test="updateTime != null">update_time,</if> |
| | | <if test="drawState != null">draw_state,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | #{id,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="activityId != null"> |
| | | #{activityId,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="appId != null"> |
| | | #{appId,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="uid != null"> |
| | | #{uid,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="joinInfo != null"> |
| | | #{joinInfo,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="userType != null"> |
| | | #{userType,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="weight != null"> |
| | | #{weight,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="createTime != null"> |
| | | #{createTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="id != null">#{id,jdbcType=BIGINT},</if> |
| | | <if test="activityId != null">#{activityId,jdbcType=BIGINT},</if> |
| | | <if test="appId != null">#{appId,jdbcType=BIGINT},</if> |
| | | <if test="uid != null">#{uid,jdbcType=VARCHAR},</if> |
| | | <if test="joinInfo != null">#{joinInfo,jdbcType=VARCHAR},</if> |
| | | <if test="userType != null">#{userType,jdbcType=INTEGER},</if> |
| | | <if test="weight != null">#{weight,jdbcType=INTEGER},</if> |
| | | <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if> |
| | | <if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP}</if> |
| | | <if test="drawState != null">#{drawState,jdbcType=INTEGER}</if> |
| | | </trim> |
| | | </insert> |
| | | <update id="updateByPrimaryKeySelective" parameterType="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord"> |
| | | update lucky_activity_join_record |
| | | <update id="updateByPrimaryKeySelective" parameterType="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord">update |
| | | lucky_activity_join_record |
| | | <set> |
| | | <if test="activityId != null"> |
| | | activity_id = #{activityId,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="appId != null"> |
| | | app_id = #{appId,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="uid != null"> |
| | | uid = #{uid,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="joinInfo != null"> |
| | | join_info = #{joinInfo,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="userType != null"> |
| | | user_type = #{userType,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="weight != null"> |
| | | weight = #{weight,jdbcType=INTEGER}, |
| | | </if> |
| | | <if test="createTime != null"> |
| | | create_time = #{createTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="activityId != null">activity_id = #{activityId,jdbcType=BIGINT},</if> |
| | | <if test="appId != null">app_id = #{appId,jdbcType=BIGINT},</if> |
| | | <if test="uid != null">uid = #{uid,jdbcType=VARCHAR},</if> |
| | | <if test="joinInfo != null">join_info = #{joinInfo,jdbcType=VARCHAR},</if> |
| | | <if test="userType != null">user_type = #{userType,jdbcType=INTEGER},</if> |
| | | <if test="weight != null">weight = #{weight,jdbcType=INTEGER},</if> |
| | | <if test="createTime != null">create_time = #{createTime,jdbcType=TIMESTAMP},</if> |
| | | <if test="updateTime !=null">update_time =#{updateTime,jdbcType=TIMESTAMP},</if> |
| | | <if test="drawState != null">draw_state =#{drawState,jdbcType=INTEGER},</if> |
| | | </set> |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | <update id="updateByPrimaryKey" parameterType="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord"> |
| | | update lucky_activity_join_record |
| | | set activity_id = #{activityId,jdbcType=BIGINT}, |
| | | app_id = #{appId,jdbcType=BIGINT}, |
| | | uid = #{uid,jdbcType=VARCHAR}, |
| | | join_info = #{joinInfo,jdbcType=VARCHAR}, |
| | | user_type = #{userType,jdbcType=INTEGER}, |
| | | weight = #{weight,jdbcType=INTEGER}, |
| | | create_time = #{createTime,jdbcType=TIMESTAMP} |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | </mapper> |
| | | |
| | | |
| | | <update id="updateSelectiveWithQuery" parameterType="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord">update |
| | | lucky_activity_join_record |
| | | <set> |
| | | <if test="record.activityId != null">activity_id = #{record.activityId,jdbcType=BIGINT},</if> |
| | | <if test="record.appId != null">app_id = #{record.appId,jdbcType=BIGINT},</if> |
| | | <if test="record.uid != null">uid = #{record.uid,jdbcType=VARCHAR},</if> |
| | | <if test="record.joinInfo != null">join_info = #{record.joinInfo,jdbcType=VARCHAR},</if> |
| | | <if test="record.userType != null">user_type = #{record.userType,jdbcType=INTEGER},</if> |
| | | <if test="record.weight != null">weight = #{record.weight,jdbcType=INTEGER},</if> |
| | | <if test="record.createTime != null">create_time = #{record.createTime,jdbcType=TIMESTAMP},</if> |
| | | <if test="record.updateTime !=null">update_time =#{record.updateTime,jdbcType=TIMESTAMP},</if> |
| | | <if test="record.drawState != null">draw_state =#{record.drawState,jdbcType=INTEGER},</if> |
| | | </set> |
| | | where 1=1 |
| | | <include refid="listWhere"></include> |
| | | </update> |
| | | |
| | | <update id="updateByPrimaryKey" |
| | | parameterType="com.ks.lucky.pojo.DO.LuckyActivityJoinRecord">update lucky_activity_join_record set activity_id = #{activityId,jdbcType=BIGINT}, app_id = #{appId,jdbcType=BIGINT}, uid = #{uid,jdbcType=VARCHAR}, join_info = #{joinInfo,jdbcType=VARCHAR}, user_type = #{userType,jdbcType=INTEGER}, weight = #{weight,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP} ,update_time =#{updateTime,jdbcType=TIMESTAMP} ,draw_state =#{drawState,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT}</update> |
| | | |
| | | |
| | | </mapper> |