DudaoMapper.xml 7.47 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.subsidy.mapper.DudaoMapper">

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        create_date,
        update_date,
        delete_date,
        id, company_id, cert_id
    </sql>


    <select id="vodClassIds" parameterType="string" resultType="long">
        SELECT
                t.id
            FROM
                class_dict t
                LEFT JOIN (
                SELECT DISTINCT
                    t.class_id AS class_Id
                FROM
                    vod_play_history t
                WHERE
                    DATE_FORMAT( DATE_ADD( t.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
                    AND t.delete_date IS NULL
                ) t2 ON t.id = t2.class_id
                LEFT JOIN company_dict t3 ON t.company_id = t3.id
            WHERE
                t2.class_Id IS NOT NULL
                and  t3.area_name = '普陀'
                AND t.class_type = #{classType}
    </select>

    <select id="examClassIds" parameterType="string" resultType="long">
        SELECT
            t.id
        FROM
            class_dict t
            LEFT JOIN (
            SELECT DISTINCT
                t.class_id AS class_Id
            FROM
                exercise_done_result t
            WHERE
                DATE_FORMAT( DATE_ADD( t.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
                AND t.delete_date IS NULL
            ) t2 ON t.id = t2.class_id
            LEFT JOIN company_dict t3 ON t.company_id = t3.id
            WHERE
                t2.class_Id IS NOT NULL
                and  t3.area_name = '普陀'
                AND t.class_type = #{classType}
    </select>

    <select id="answerClassIds" parameterType="string" resultType="long">
        SELECT
            t.id
        FROM
            class_dict t
            LEFT JOIN (
            SELECT DISTINCT
                t.class_id AS class_Id
            FROM
                answering_question t
            WHERE
                DATE_FORMAT( DATE_ADD( t.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
                AND t.delete_date IS NULL
            ) t2 ON t.id = t2.class_id
         LEFT JOIN company_dict t3 ON t.company_id = t3.id
            WHERE
                t2.class_Id IS NOT NULL
                and  t3.area_name = '普陀'
                AND t.class_type = #{classType}
    </select>

    <select id="imageClassIds" parameterType="string" resultType="long">
        SELECT
                t.id
            FROM
                class_dict t
                LEFT JOIN (
                SELECT DISTINCT
                    t.class_id AS class_Id
                FROM
                    image_check_record t
                WHERE
                    DATE_FORMAT( DATE_ADD( t.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
                    AND t.delete_date IS NULL
                    AND t.result = 1
                ) t2 ON t.id = t2.class_id
                LEFT JOIN company_dict t3 ON t.company_id = t3.id
            WHERE
                t2.class_Id IS NOT NULL
                and  t3.area_name = '普陀'
                AND t.class_type = #{classType}
                AND t.delete_date IS NULL
    </select>

    <select id="dailyStudyInfo" resultType="com.subsidy.vo.renshe.DailyStudyInfoVO">
        SELECT
        t2.class_id as downCode,
        t2.member_id,
        t4.user_name as studentName,
        t4.telephone as phone,
        t4.id_card as identity,
        t2.learnTime,
        t2.playTime,
        t5.loginTime
        FROM
        (
        SELECT
        t1.class_id,
        t1.member_id,
        sum( t1.play_length ) AS learnTime,
        sum( t1.play_length + t1.suspend_length ) AS playTime
        FROM
        vod_play_history t1
        WHERE
       DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
       AND
        t1.delete_date IS NULL
        GROUP BY
        t1.class_id,
        t1.member_id
        ) t2
        LEFT JOIN class_dict t3 ON t2.class_id = t3.id
        LEFT JOIN company_dict t6 ON t3.company_id = t6.id
        LEFT JOIN member t4 ON t2.member_id = t4.id
        LEFT JOIN (
        SELECT
        t3.user_id,
        login - logout AS loginTime
        FROM
        (
        SELECT
        user_id,
        sum(
        unix_timestamp( t1.create_date )) AS login
        FROM
        opr_mem_dict t1
        WHERE
        DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
        AND
        t1.delete_date IS NULL
        AND opr_type = "登出"
        AND result = 1
        GROUP BY user_id
        ) t3
        LEFT JOIN (
        SELECT
        user_id,
        sum(
        unix_timestamp( t1.create_date )) AS logout
        FROM
        opr_mem_dict t1
        WHERE
        DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
        AND
        t1.delete_date IS NULL
        AND opr_type = "登录"
        AND result = 1
        GROUP BY user_id
        ) t2 ON t3.user_id = t2.user_id
        ) t5 ON t4.id = t5.user_id
        <if test="classType != null and classType != ''">
            where t3.class_type = #{classType}
        </if>
        and t6.area_name = '普陀'
    </select>

    <select id="dailyExamBasic" resultType="long">
        SELECT DISTINCT
            class_id
        FROM
            exercise_done_result t1
            LEFT JOIN class_dict t2 ON t1.class_id = t2.id
            LEFT JOIN company_dict t3 ON t2.company_id = t3.id
        WHERE
            t1.delete_date IS NULL
            AND t2.class_type = #{classType}
            AND DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT(
                NOW(),
            '%Y-%m-%d'
            )
            and t3.area_name = '普陀'
    </select>

    <select id="dailyAnswer" resultType="com.subsidy.vo.renshe.DailyAnswerVO">
        SELECT
            t1.id,
            t1.ask_id,
            t2.id AS downCode,
            t3.id_card AS identity,
            UNIX_TIMESTAMP( t1.create_date )*1000 AS answer,
            UNIX_TIMESTAMP( t1.update_date )*1000 AS question
        FROM
            answering_question t1
            LEFT JOIN class_dict t2 ON t1.class_id = t2.id
            LEFT JOIN member t3 ON t1.ask_id = t3.id
            LEFT JOIN company_dict t4 ON t2.company_id = t4.id
        WHERE
             DATE_FORMAT( DATE_ADD( t1.update_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
            AND
            t1.delete_date IS NULL
            AND t2.delete_date IS NULL
            AND t3.delete_date IS NULL
            and t2.class_type = #{classType}
            and t4.area_name = '普陀'
    </select>

    <select id="newClasses" parameterType="string" resultType="long">
        SELECT DISTINCT
        t1.id
        FROM
        class_dict t1
        LEFT JOIN company_dict t3 ON t1.company_id = t3.id
        WHERE
        DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
        AND t1.delete_date IS NULL
        and t1.class_code is not NULL
        <if test="classType != null and classType != ''">
            and t1.class_type = #{classType}
        </if>
        and t3.area_name = '普陀'
    </select>
</mapper>