<?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="cn.roadm.mapper.SmsPhonepoolTaskMapper">
    <resultMap id="BaseResultMap" type="cn.roadm.bo.SmsPhonepoolTask">
        <result column="id" property="id" />
        <result column="name"  property="name" />
        <result column="city" property="city" />
        <result column="filepath" property="filepath" />
        <result column="status" property="status" />
        <result column="existnum" property="existnum" />
        <result column="total" property="total" />
        <result column="parsernum" property="parsernum" />
        <result column="remark" property="remark" />
        <result column="createtime" property="createtime" />
        <result column="endtime" property="endtime" />
        <result column="uid" property="uid" />
        <result column="groups" property="groups" />
        <result column="userid" property="userid" />
        <result column="userName" property="userName" />
        <result column="channel_id" property="channelId"/>
    </resultMap>

    <sql id="Base_Column_List">
        `id`,`name`,`city`,`filepath`,`status`,`existnum`,`total`,`parsernum`,`remark`,`createtime`,`endtime`,`uid`,`groups`, `channel_id`
    </sql>

    <select id="listPageRotationNumManagement" resultMap="BaseResultMap" parameterType="cn.roadm.bo.RotationNumManageInfo">
        select   <include refid="Base_Column_List" /> from sms_phonepool_task pt
        <where>
            <if test="@cn.roadm.util.StringUtil@isNotEmpty(fileName)">
                AND pt.name = #{fileName,jdbcType=VARCHAR}
            </if>
            <if test="status != null ">
                AND pt.status = #{status}
            </if>
            <if test="@cn.roadm.util.StringUtil@isNotEmpty(city)">
                AND pt.city = #{city}
            </if>
            <if test="channelId != null and channelId != ''">
                AND pt.channel_id = #{channelId}
            </if>
        </where>
        order by createtime desc
    </select>

    <select id="listPagePhoneManagement" resultMap="BaseResultMap" parameterType="cn.roadm.bo.RotationNumManageInfo">
        select   <include refid="Base_Column_List" /> from sms_phone_task pt
        <where>
            <if test="@cn.roadm.util.StringUtil@isNotEmpty(fileName)">
                AND pt.name = #{fileName,jdbcType=VARCHAR}
            </if>
            <if test="status != null ">
                AND pt.status = #{status}
            </if>
            <if test="@cn.roadm.util.StringUtil@isNotEmpty(userid)">
                AND pt.userid = #{userid}
            </if>
        </where>
        order by createtime desc
    </select>

    <select id="getSmsPhonepoolTaskById" parameterType="long" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from sms_phonepool_task
        where id = #{id}
    </select>

    <insert id="insertSmsPhonepoolTask" parameterType="SmsPhonepoolTask" useGeneratedKeys="true" keyProperty="id">
        insert into sms_phonepool_task (`name`,`city`,`filepath`,`status`,`existnum`,`total`,`parsernum`,`remark`,`createtime`,`endtime`,`uid`,`groups`, `channel_id`)
        value (#{name,jdbcType=VARCHAR},
            #{city,jdbcType=VARCHAR},
            #{filepath ,jdbcType=VARCHAR},
            #{status,jdbcType=INTEGER},
            #{existnum,jdbcType=INTEGER},
            #{total,jdbcType=INTEGER},
            #{parsernum,jdbcType=INTEGER},
            #{remark,jdbcType=VARCHAR},
            #{createtime,jdbcType=TIMESTAMP},
            #{endtime,jdbcType=TIMESTAMP},
            #{uid,jdbcType=VARCHAR},
            #{groups,jdbcType=INTEGER}, #{channelId})
    </insert>

    <insert id="insertPhoneManagement" parameterType="SmsPhonepoolTask" useGeneratedKeys="true" keyProperty="id">
        insert into sms_phone_task (`name`,`city`,`filepath`,`status`,`total`,`parsernum`,`createtime`,`endtime`,`uid`,)
            value (#{name,jdbcType=VARCHAR},
            #{userid,jdbcType=VARCHAR},
            #{filepath ,jdbcType=VARCHAR},
            #{status,jdbcType=INTEGER},
            #{total,jdbcType=INTEGER},
            #{parsernum,jdbcType=INTEGER},
            #{createtime,jdbcType=TIMESTAMP},
            #{endtime,jdbcType=TIMESTAMP},
            #{uid,jdbcType=VARCHAR})
    </insert>

    <update id="updateSmsPhonepoolTaskByStatus" parameterType="SmsPhonepoolTask">
        update sms_phonepool_task set status = #{status,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
    </update>
    <update id="updateSmsPhoneTaskByStatus" parameterType="SmsPhonepoolTask">
        update sms_phone_task set status = #{status,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
    </update>
</mapper>
