Blame view

RenSheJuMapper.xml 17.2 KB
涂亚平 committed
1 2 3 4 5 6
<?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.RenSheJuMapper">

    <select id="classBaseInfo" parameterType="long" resultType="com.subsidy.vo.renshe.ClassBaseInfoVO">
        SELECT
涂亚平 committed
7 8 9
            t2.id,
            t2.class_code downCode,
            sum( t7.vod_length ) AS learnHour,
涂亚平 committed
10
            REPLACE ( unix_timestamp( t2.start_date ), '.', '' )/ 1000 AS startDate,
涂亚平 committed
11
            REPLACE ( unix_timestamp( t2.end_date ), '.', '' )/ 1000 AS endDate
涂亚平 committed
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
        FROM
            class_dict t2
            LEFT JOIN company_dict t3 ON t2.company_id = t3.id
            LEFT JOIN course_dict t4 ON t2.course_id = t4.id
            LEFT JOIN course_content t5 ON t4.id = t5.course_id
            LEFT JOIN content_vod_mapping t6 ON t5.id = t6.content_id
            LEFT JOIN vod_dict t7 ON t6.vod_id = t7.id
        WHERE
            t2.id = #{classId}
            AND t2.delete_date IS NULL
            AND t3.delete_date IS NULL
            AND t4.delete_date IS NULL
            AND t5.delete_date IS NULL
            AND t6.delete_date IS NULL
            AND t7.delete_date IS NULL
    </select>

    <select id="classMembers" parameterType="long" resultType="com.subsidy.vo.renshe.MemberVO">
        SELECT
            t2.user_name as name,
            t2.telephone as phone,
            t2.id_card as identity
        FROM
            class_member_mapping t
            LEFT JOIN member t2 ON t.member_id = t2.id
        WHERE
            t.class_id = #{classId}
            AND t.delete_date IS NULL
            AND t2.delete_date IS NULL
    </select>

    <select id="classChapters" parameterType="long" resultType="com.subsidy.dto.renshe.ChapterList2">
        SELECT
            t7.id AS chapterCode,
            IFNULL( t6.vod_alias_name, t7.vod_name ) as chapterName,
涂亚平 committed
47
            t7.vod_length as chapterTime,
涂亚平 committed
48
            0 as isExam,
涂亚平 committed
49
            120*60 as examTime
涂亚平 committed
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
        FROM
            class_dict t2
            LEFT JOIN course_dict t4 ON t2.course_id = t4.id
            LEFT JOIN course_content t5 ON t4.id = t5.course_id
            LEFT JOIN content_vod_mapping t6 ON t5.id = t6.content_id
            LEFT JOIN vod_dict t7 ON t6.vod_id = t7.id
        WHERE
            t2.id = #{classId}
            AND t2.delete_date IS NULL
            AND t4.delete_date IS NULL
            AND t5.delete_date IS NULL
            AND t6.delete_date IS NULL
            AND t7.delete_date IS NULL
        ORDER BY
            t5.order_no,
            t6.order_no,
            t7.order_no
    </select>

69
    <select id="newClasses" parameterType="string" resultType="long">
70 71 72 73 74 75 76 77 78 79 80
        SELECT DISTINCT
        t1.id
        FROM
        class_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 t1.class_code is not NULL
        <if test="classType != null and classType != ''">
            and t1.class_type = #{classType}
        </if>
涂亚平 committed
81 82 83 84
    </select>

    <select id="dailyStudyInfo" resultType="com.subsidy.vo.renshe.DailyStudyInfoVO">
        SELECT
涂亚平 committed
85
            t.class_id,
86
            t5.class_code,
87 88 89
            t3.id AS member_id,
            t3.user_name AS studentName,
            t3.telephone AS phone,
涂亚平 committed
90
            t3.id_card identity
涂亚平 committed
91
        FROM
92
            class_member_mapping t
涂亚平 committed
93
            left join class_dict t5 on t.class_id = t5.id
94
            LEFT JOIN member t3 ON t.member_id = t3.id
95
        WHERE
96 97 98
            t.delete_date IS NULL
            AND t3.delete_date IS NULL
            AND t.class_id = #{classId}
涂亚平 committed
99 100 101 102 103 104
    </select>


    <select id="dailyActivities" resultType="com.subsidy.vo.renshe.DailyActivitiesVO">
        SELECT
            t1.`status` as access,
涂亚平 committed
105 106
	        unix_timestamp( t1.create_date )*1000  as activityTime,
	        t1.check_type
涂亚平 committed
107 108 109
        FROM
            activity_detection t1
        WHERE
110
             DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
111 112
             AND
            t1.delete_date IS NULL
涂亚平 committed
113 114 115 116 117 118 119
            AND t1.member_id = #{memberId}
            AND t1.class_id = #{classId}
    </select>

    <select id="examActivities" resultType="com.subsidy.vo.renshe.ExamActivitiesVO">
        SELECT
            t1.result AS access,
120
            UNIX_TIMESTAMP( t1.create_date )* 1000 AS activityTime
涂亚平 committed
121 122 123 124
        FROM
            image_check_record t1
        WHERE
            class_id =#{classId}
125
            AND DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
126
            AND t1.paper_id IS NOT NULL
涂亚平 committed
127
            and t1.result =1
涂亚平 committed
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
            AND t1.member_id=#{memberId}
    </select>

    <select id="dailyStayLength" parameterType="long" resultType="long">
            SELECT
        login - logout
    FROM
        (
        SELECT
            user_id,
            sum(
            unix_timestamp( t1.create_date )) AS login
        FROM
            opr_mem_dict t1
        WHERE
143
            DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
144 145 146 147 148 149 150 151 152 153 154 155 156
            AND t1.delete_date IS NULL
            AND t1.user_id = #{memberId}
            AND opr_type = "登出"
            AND result = 1
        ) t3
        LEFT JOIN (
        SELECT
            user_id,
            sum(
            unix_timestamp( t1.create_date )) AS logout
        FROM
            opr_mem_dict t1
        WHERE
157
            DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
158 159 160 161 162 163 164 165 166
            AND t1.delete_date IS NULL
            AND t1.user_id = #{memberId}
            AND opr_type = "登录"
        AND result = 1
        ) t2 ON t3.user_id = t2.user_id
    </select>

    <select id="loginRecords" parameterType="long" resultType="com.subsidy.model.OprMemDictDO">
        SELECT
涂亚平 committed
167
            distinct *
涂亚平 committed
168 169 170 171 172 173 174
        FROM
            opr_mem_dict t
        WHERE
            user_id = #{memberId}
            AND t.result = 1
            AND t.delete_date IS NULL
            AND opr_type = "登录"
175
           AND DATE_FORMAT( DATE_ADD( create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT(
涂亚平 committed
176 177 178 179
               NOW(),
          '%Y-%m-%d'
           )
            order by id
涂亚平 committed
180 181 182
    </select>

    <select id="loginOutRecords" parameterType="long" resultType="com.subsidy.model.OprMemDictDO">
183
          select  distinct *
涂亚平 committed
184 185 186 187 188 189 190
        FROM
            opr_mem_dict t
        WHERE
            user_id = #{memberId}
            AND t.result = 1
            AND t.delete_date IS NULL
            AND opr_type = "登出"
191
           AND DATE_FORMAT( DATE_ADD( create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT(
涂亚平 committed
192 193 194 195
               NOW(),
           '%Y-%m-%d'
           )
            order by id
涂亚平 committed
196 197 198 199 200
    </select>

    <select id="dailyStudyRecords" resultType="com.subsidy.dto.renshe.ChapterList3">
        SELECT
            t2.id as chapterCode,
涂亚平 committed
201 202
            t.suspend_length AS pauseTime,
            unix_timestamp(subdate( t.create_date, INTERVAL (t.play_length+t.suspend_length)SECOND ))*1000 AS startTime,
涂亚平 committed
203 204 205 206 207 208 209 210 211 212 213 214
            unix_timestamp(t.create_date)*1000 AS endTime
        FROM
            vod_play_history t
            LEFT JOIN vod_dict t2 ON t.vod_id = t2.id
        WHERE
            t.delete_date IS NULL
            AND t.member_id = #{memberId}
            AND t.create_date BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%i:%s' )
            AND DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%i:%s' )
            and t.class_id = #{classId}
    </select>

涂亚平 committed
215 216
    <select id="dailyExamBasic" resultType="long">
        SELECT DISTINCT
涂亚平 committed
217 218 219 220 221 222 223
            class_id
        FROM
            exercise_done_result t1
            LEFT JOIN class_dict t2 ON t1.class_id = t2.id
        WHERE
            t1.delete_date IS NULL
            AND t2.class_type = #{classType}
224
            AND DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT(
涂亚平 committed
225 226 227
                NOW(),
            '%Y-%m-%d'
            )
涂亚平 committed
228 229
    </select>

涂亚平 committed
230 231 232 233 234 235 236 237 238 239 240
    <select id="memberIds" parameterType="long" resultType="com.subsidy.model.MemberDO">
        SELECT DISTINCT
             member_id as id,
             t2.id_card,
             t2.telephone,
             t2.user_name
            FROM
             exercise_done_result t1
             LEFT JOIN member t2 ON t1.member_id = t2.id
            WHERE
             t1.delete_date IS NULL
241
             AND DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
242
             and class_id = #{classId}
涂亚平 committed
243 244 245
    </select>

    <select id="classVodName" parameterType="long" resultType="string">
涂亚平 committed
246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267
        SELECT
             t7.id AS chapterCode
            FROM
             class_dict t2
             LEFT JOIN course_dict t4 ON t2.course_id = t4.id
             LEFT JOIN course_content t5 ON t4.id = t5.course_id
             LEFT JOIN content_vod_mapping t6 ON t5.id = t6.content_id
             LEFT JOIN vod_dict t7 ON t6.vod_id = t7.id
            WHERE
             t2.id = #{classId}
             AND t2.delete_date IS NULL
             AND t4.delete_date IS NULL
             AND t5.delete_date IS NULL
             AND t6.delete_date IS NULL
             AND t7.delete_date IS NULL
            ORDER BY
             t5.order_no desc,
             t6.order_no desc,
             t7.order_no desc
             limit 1
    </select>

涂亚平 committed
268 269 270 271 272 273 274
    <select id="examLength" resultType="long">
        SELECT
             SUM(unix_timestamp( t1.create_date )- unix_timestamp( t1.start_date ) ) AS examTime
            FROM
             exercise_done_result t1
            WHERE
             t1.delete_date IS NULL
275
             AND DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
276 277 278 279
             AND class_id = #{classId}
             AND member_id = #{memberId}
    </select>

涂亚平 committed
280 281 282 283 284 285 286 287 288 289
    <select id="dailyExerciseDone" resultType="com.subsidy.model.ExerciseDoneResultDO">
          SELECT
            *
        FROM
            exercise_done_result t
        WHERE
            t.delete_date IS NULL
            AND t.member_id = #{memberId}
            AND t.create_date BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%i:%s' )
            AND DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%i:%s' )
涂亚平 committed
290
            and t.class_id = #{classId}
涂亚平 committed
291 292 293 294 295 296
    </select>

    <select id="dailyAnswer" resultType="com.subsidy.vo.renshe.DailyAnswerVO">
        SELECT
            t1.id,
            t1.ask_id,
涂亚平 committed
297
            t2.class_code AS downCode,
涂亚平 committed
298
            t3.id_card AS identity,
涂亚平 committed
299 300
            UNIX_TIMESTAMP( t1.create_date )*1000 AS question,
            UNIX_TIMESTAMP( t1.update_date )*1000 AS answer
涂亚平 committed
301 302 303 304 305
        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
        WHERE
306
            DATE_FORMAT( DATE_ADD( t1.update_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
307 308 309
            AND t1.delete_date IS NULL
            AND t2.delete_date IS NULL
            AND t3.delete_date IS NULL
涂亚平 committed
310
            and t2.class_type = #{classType}
涂亚平 committed
311 312
    </select>

313
    <select id="checkClassIds" parameterType="string" resultType="long">
314 315
        SELECT
        distinct class_id
涂亚平 committed
316
        FROM
317
        image_check_record t
318
        left join class_dict t2 on t.class_id = t2.id
涂亚平 committed
319
        WHERE
320 321 322 323 324 325 326 327 328
        t.delete_date IS NULL
        AND DATE_FORMAT( DATE_ADD( t.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT(
        NOW(),
        '%Y-%m-%d'
        )
        and class_id is not null
        <if test="classType != null and classType != ''">
            and t2.class_type = #{classType}
        </if>
涂亚平 committed
329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345
    </select>

    <select id="classImageChecks" parameterType="long" resultType="com.subsidy.vo.renshe.ClassImageChecksVO">
      SELECT
         t1.member_id,
         t1.photo AS image,
         t2.telephone AS phone,
         t2.user_name AS studentName,
         t2.id_card AS identity,
         UNIX_TIMESTAMP( t1.update_date)*1000 AS activityTime
        FROM
         class_member_mapping t1
         LEFT JOIN member t2 ON t1.member_id = t2.id
        WHERE
         class_id = #{classId}
         AND t1.delete_date IS NULL
         and t2.delete_date is null
346
         AND DATE_FORMAT( DATE_ADD( t1.update_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT(
涂亚平 committed
347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364
          NOW(),
         '%Y-%m-%d'
         )
    </select>

    <select id="passExamCheck" parameterType="long" resultType="com.subsidy.vo.renshe.ClassImageChecksVO">
        SELECT
             t1.member_id,
             t1.photo AS image,
             t2.user_name AS studentName,
             t2.id_card AS identity,
             t2.telephone AS phone,
             UNIX_TIMESTAMP( t1.create_date )* 1000 AS activityTime
            FROM
             image_check_record t1
             LEFT JOIN member t2 ON t1.member_id = t2.id
            WHERE
             class_id = #{classId}
365
             AND DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
366 367 368 369
             AND t1.paper_id IS NOT NULL
             AND t1.result = 1
    </select>

涂亚平 committed
370 371 372 373 374 375 376 377
    <select id="studyCheck" parameterType="long" resultType="com.subsidy.vo.renshe.ClassImageChecksVO">
        SELECT
             t1.class_id,
             t1.member_id,
             t1.photo AS image,
             t2.user_name AS studentName,
             t2.id_card AS identity,
             t2.telephone AS phone,
378
             UNIX_TIMESTAMP( t1.create_date )* 1000 AS activityTime
涂亚平 committed
379 380 381 382
            FROM
             image_check_record t1
             LEFT JOIN member t2 ON t1.member_id = t2.id
            WHERE
涂亚平 committed
383 384
              t1.delete_date is null
             and class_id = #{classId}
385
             AND DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
386 387 388 389 390 391
             AND t1.paper_id IS NULL
             AND t1.result = 1
            ORDER BY t1.create_date desc
    </select>


涂亚平 committed
392 393 394 395 396 397 398 399
    <select id="examCheck" parameterType="long" resultType="com.subsidy.vo.renshe.ClassImageChecksVO">
        SELECT
             t1.class_id,
             t1.member_id,
             t1.photo AS image,
             t2.user_name AS studentName,
             t2.id_card AS identity,
             t2.telephone AS phone,
400
             UNIX_TIMESTAMP( t1.create_date )* 1000 AS activityTime
涂亚平 committed
401 402 403 404 405
            FROM
             image_check_record t1
             LEFT JOIN member t2 ON t1.member_id = t2.id
            WHERE
             t1.delete_date is null
406
            AND DATE_FORMAT( DATE_ADD( t1.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
407 408 409 410 411 412
             and class_id = #{classId}
             AND t1.paper_id IS not NULL
             AND t1.result = 1
            ORDER BY t1.create_date desc
    </select>

涂亚平 committed
413 414 415 416 417 418 419 420 421 422 423
    <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
424
                    DATE_FORMAT( DATE_ADD( t.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442
                    AND t.delete_date IS NULL
                ) t2 ON t.id = t2.class_id
            WHERE
                t2.class_Id IS NOT NULL
                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
443
                DATE_FORMAT( DATE_ADD( t.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461
                AND t.delete_date IS NULL
            ) t2 ON t.id = t2.class_id
        WHERE
            t2.class_Id IS NOT NULL
            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
462
                DATE_FORMAT( DATE_ADD( t.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480
                AND t.delete_date IS NULL
            ) t2 ON t.id = t2.class_id
        WHERE
            t2.class_Id IS NOT NULL
            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
481
                    DATE_FORMAT( DATE_ADD( t.create_date,interval 1 day), '%Y-%m-%d' ) = DATE_FORMAT( NOW(), '%Y-%m-%d' )
涂亚平 committed
482 483 484 485 486 487 488 489 490
                    AND t.delete_date IS NULL
                    AND t.result = 1
                ) t2 ON t.id = t2.class_id
            WHERE
                t2.class_Id IS NOT NULL
                AND t.class_type = #{classType}
                AND t.delete_date IS NULL
    </select>

涂亚平 committed
491

涂亚平 committed
492
</mapper>