ProgramMapper.xml 4.65 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.hui.iqiyi.mapper.ProgramMapper">


    <update id="updateFilm">
        UPDATE iqiyi_program as a
        LEFT JOIN iqiyi_movie as c on c.iqiyi_program_id=a.id
        set a.platform_info=1,c.priority=10
        where a.id = #{id}
    </update>

    <update id="updatePla">
        UPDATE iqiyi_content AS b
        set  b.platform_info=1
        where b.id = #{id}
    </update>

    <update id="updateTeleplay">
        UPDATE iqiyi_program as a
        LEFT JOIN iqiyi_movie as c on c.iqiyi_program_id=a.id
        set a.platform_info=1,c.priority=10
        where a.iqiyi_content_id = #{id}
    </update>

    <select id="selectDownload" parameterType="com.hui.iqiyi.request.ProgramRequest" resultType="com.hui.iqiyi.request.ProgramRequest">
        select ip.iqiyi_content_id,count(ip.id) as downloadCount
        from iqiyi_movie as io left join iqiyi_program as ip
        on ip.id  = io.iqiyi_program_id
        where io.local_status = '100' and ip.iqiyi_content_id in
        <foreach collection="contentIdList" index="i" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
        GROUP BY ip.iqiyi_content_id
    </select>
    
    
    <select id="selectProgramList" parameterType="com.hui.iqiyi.request.ProgramRequest" resultType="com.hui.iqiyi.request.ProgramRequest">
    select
    <include refid="Pro_Cloumn"></include>
    from iqiyi_program
    <include refid="Where_Cloumn"></include>
    </select>

    <select id="selectProgramDloadList" parameterType="com.hui.iqiyi.request.ProgramRequest" resultType="com.hui.iqiyi.response.ProgramResponse">
    select
    <include refid="Pro_Cloumn"></include>
    ,( select
        local_status
    from iqiyi_movie m where iqiyi_program_id =p.id ORDER BY create_time desc limit 1 ) as 'localStatus'
    from iqiyi_program p
    <include refid="Where_Cloumn"></include>
    </select>


    <select id="selectAllSeven" parameterType="com.hui.iqiyi.request.ProRequest" resultType="com.hui.iqiyi.response.ProgramSyResponse">

        SELECT DATE_FORMAT(update_time,"%Y-%m-%d")as day ,count(1) as TotlFee ,
        sum(file_size)/1024/1024/1024 as TotlSize,sum(duration)/60/60 as TotlDuration
        FROM iqiyi_movie
        <where>
        <if test="proRequest.startTime != null">
            and UNIX_TIMESTAMP(update_time) &gt;= UNIX_TIMESTAMP(#{proRequest.startTime})
        </if>
        <if test="proRequest.endTime != null">
            and UNIX_TIMESTAMP(update_time) &lt;= UNIX_TIMESTAMP(#{proRequest.endTime})
        </if>
            and date_sub(curdate(), interval 7 day) &lt; date(update_time)
            and local_status = 100
        </where>
        GROUP BY DATE_FORMAT(update_time,"%Y-%m-%d")
        order by DATE_FORMAT(update_time,"%Y-%m-%d") desc


    </select>

    <select id="selectAllProgramCount" resultType="com.hui.iqiyi.response.ProgramQBRequest">

        select local_status,count(p.id) as total_fee , sum(m.file_size)/1024/1024/1024 as totle_size,sum(m.duration)/60/60 as total_duration
        from iqiyi_program p left join iqiyi_movie m on p.id = m.iqiyi_program_id
        where p.platform_info like '%1%'
        group by local_status

    </select>


    <sql id="Pro_Cloumn">
        id,external_id,content_id,element_type,parent_id,iqiyi_content_id,
        series_flag,`name`,country,`language`,`year`,publish_time,`desc`,`status`,tags,focus,`length`,pic_url,
        img_pod,cid,cname,excl,type3d,content_type,persons,composers,hosters,dubbers,makers,stars,producers,
        song_writers,guesters,writers,directors,main_actors,actors,sname,is_charge,vip_info,is_vip,is_tvod,
        is_coupon,is_pkg,org_prc,valid_time,support_prob,prob_duration,search_name,multi_order,volumn_count,
        score,sync_status,platform_info,file_status,create_time,update_time
    </sql>
    <sql id="Where_Cloumn">
        <where>
        1=1
            <if test="iqiyiContentId != null">
              and  iqiyi_content_id = #{iqiyiContentId}
            </if>
            <if test="id != null ">
                and  id = #{id}
            </if>
            <if test="name != null ">
                and name like "%"#{name}"%"

            </if>
            <if test="localStatus != null">
                and  local_status = #{localStatus}
            </if>

            <if test="contentIdList != null">
                and ip.iqiyi_content_id in
                <foreach collection="contentIdList" index="i" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
    </sql>
</mapper>