DrawlineLuckyUserMapper.xml 7.1 KB
<?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.yoho.queue.dal.IDrawlineLuckyUserDAO">
	<resultMap id="BaseResultMap" type="com.yoho.queue.dal.model.DrawlineLuckyUser">
		<id column="id" property="id" jdbcType="INTEGER" />
		<result column="sid" property="sid" jdbcType="VARCHAR" />
		<result column="activity_id" property="activityId" jdbcType="INTEGER" />
		<result column="vip_level" property="vipLevel" jdbcType="TINYINT" />
		<result column="queue_time" property="queueTime" jdbcType="INTEGER" />
		<result column="status" property="status" jdbcType="TINYINT" />
		<result column="create_time" property="createTime" jdbcType="INTEGER" />
		<result column="update_time" property="updateTime" jdbcType="INTEGER" />
		<result column="is_send_inbox" property="isSendInbox" jdbcType="TINYINT" />
		<result column="is_send_prize" property="isSendPrize" jdbcType="TINYINT" />
		<result column="uid" property="uid" jdbcType="INTEGER" />
		<result column="user_type" property="userType" jdbcType="TINYINT" />
	</resultMap>
	<sql id="Base_Column_List">
		id, sid, activity_id, vip_level, queue_time, status, create_time, update_time, is_send_inbox,
		is_send_prize, uid, user_type
	</sql>
	<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
		select
		<include refid="Base_Column_List" />
		from drawline_lucky_user
		where id = #{id,jdbcType=INTEGER}
	</select>
	<select id="selectByActivityId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
		select
		<include refid="Base_Column_List" />
		from drawline_lucky_user
		where activity_id = #{activityId,jdbcType=INTEGER} limit #{offset, jdbcType=INTEGER}, #{limit, jdbcType=INTEGER}
	</select>
	<select id="selectCountByActivityId" resultType="java.lang.Integer" parameterType="java.lang.Integer">
		select
		IFNULL(count(1), 0)
		from drawline_lucky_user
		where activity_id = #{activityId,jdbcType=INTEGER}
	</select>
	<select id="selectByActivityIdAndUids" resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from drawline_lucky_user
		where activity_id = #{activityId,jdbcType=INTEGER} and uid in
		<foreach collection="list" item="item" open="(" close=")" separator=",">
			#{item}
		</foreach>
	</select>

	<select id="selectByActivityIdAndUidAndUserType" resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from drawline_lucky_user
		where uid = #{uid,jdbcType=INTEGER} and activity_id = #{activityId,jdbcType=INTEGER} and user_type = #{userType,jdbcType=TINYINT} and status = 1
	</select>

	<select id="selectNotcieUserByActId" resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from drawline_lucky_user where status = 1 and user_type = 1
		and is_send_inbox = 0
		<if test="activityId != null">
			and activity_id = #{activityId,jdbcType=INTEGER}
		</if>
		order by create_time
	</select>

	<select id="selectUnNoticeActivityIds" resultType="java.lang.Integer">
		select
		DISTINCT(activity_id)
		from drawline_lucky_user where status = 1 and user_type = 1
		and is_send_inbox = 0
	</select>

	<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
		delete from drawline_lucky_user
		where id = #{id,jdbcType=INTEGER}
	</delete>
	<delete id="deleteByActivityId" parameterType="java.lang.Integer">
		delete from drawline_lucky_user
		where activity_id = #{activityId,jdbcType=INTEGER}
	</delete>
	<insert id="insert" parameterType="com.yoho.queue.dal.model.DrawlineLuckyUser">
		insert into drawline_lucky_user (sid, activity_id,
		vip_level, queue_time,
		create_time, update_time, is_send_inbox,
		is_send_prize, uid, user_type
		)
		values (#{sid,jdbcType=VARCHAR}, #{activityId,jdbcType=INTEGER},
		#{vipLevel,jdbcType=TINYINT}, UNIX_TIMESTAMP(),
		UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0,
		0, #{uid,jdbcType=INTEGER}, #{userType,jdbcType=TINYINT}
		)
	</insert>
	<update id="updateByPrimaryKeySelective" parameterType="com.yoho.queue.dal.model.DrawlineLuckyUser">
		update drawline_lucky_user
		<set>
			<if test="sid != null">
				sid = #{sid,jdbcType=VARCHAR},
			</if>
			<if test="activityId != null">
				activity_id = #{activityId,jdbcType=INTEGER},
			</if>
			<if test="vipLevel != null">
				vip_level = #{vipLevel,jdbcType=TINYINT},
			</if>
			<if test="queueTime != null">
				queue_time = #{queueTime,jdbcType=INTEGER},
			</if>
			<if test="status != null">
				status = #{status,jdbcType=TINYINT},
			</if>
			<if test="createTime != null">
				create_time = #{createTime,jdbcType=INTEGER},
			</if>
			<if test="updateTime != null">
				update_time = #{updateTime,jdbcType=INTEGER},
			</if>
			<if test="isSendInbox != null">
				is_send_inbox = #{isSendInbox,jdbcType=TINYINT},
			</if>
			<if test="isSendPrize != null">
				is_send_prize = #{isSendPrize,jdbcType=TINYINT},
			</if>
			<if test="uid != null">
				uid = #{uid,jdbcType=INTEGER},
			</if>
			<if test="userType != null">
				user_type = #{userType,jdbcType=TINYINT},
			</if>
		</set>
		where id = #{id,jdbcType=INTEGER}
	</update>
	<update id="updateByPrimaryKey" parameterType="com.yoho.queue.dal.model.DrawlineLuckyUser">
		update drawline_lucky_user
		set sid = #{sid,jdbcType=VARCHAR},
		activity_id = #{activityId,jdbcType=INTEGER},
		vip_level = #{vipLevel,jdbcType=TINYINT},
		queue_time = #{queueTime,jdbcType=INTEGER},
		status = #{status,jdbcType=TINYINT},
		create_time = #{createTime,jdbcType=INTEGER},
		update_time = #{updateTime,jdbcType=INTEGER},
		is_send_inbox =
		#{isSendInbox,jdbcType=TINYINT},
		is_send_prize = #{isSendPrize,jdbcType=TINYINT},
		uid = #{uid,jdbcType=INTEGER},
		user_type = #{userType,jdbcType=TINYINT}
		where id = #{id,jdbcType=INTEGER}
	</update>

	<update id="updateByActIdAndUid">
		update drawline_lucky_user
		set is_send_inbox = 1, update_time = UNIX_TIMESTAMP() 
		where status = 1 and user_type = 1
		and activity_id = #{activityId,jdbcType=INTEGER}
		and uid = #{uid,jdbcType=INTEGER}
	</update>

	<insert id="insertBatch" parameterType="java.util.List">
		insert into drawline_lucky_user (sid, activity_id, queue_time, status, create_time, update_time, uid, user_type)
		values
		<foreach collection="list" item="item" index="index" separator=",">
			(#{item.sid}, #{item.activityId}, #{item.queueTime}, #{item.status}, #{item.createTime}, #{item.updateTime}, #{item.uid},
			#{item.userType})
		</foreach>
	</insert>
		
	<select id="selectLuckyUserCount" resultType="java.lang.Integer">
		select
		count(id)
		from drawline_lucky_user
		where status=1 and user_type=1 and is_send_prize=0
	</select>
	
	<select id="selectLuckyUserList" resultMap="BaseResultMap" >
		select
		<include refid="Base_Column_List" />
		from drawline_lucky_user
		where status=1 and user_type=1 and is_send_prize=0 order by create_time
	</select>
	
	<update id="updatePrizeStatusByActIdAndUids">
		update drawline_lucky_user
		set is_send_prize = 1
		where status = 1 and user_type = 1
		and activity_id = #{activityId,jdbcType=INTEGER} 
		<if test="list != null and list.size() > 0">
			and uid in
			<foreach collection="list" item="item" open="(" close=")" separator=",">
				#{item}
			</foreach>
		</if>
	</update>
</mapper>