|
@@ -0,0 +1,106 @@
|
|
|
|
|
+<?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="vip.xiaonuo.disk.mapper.PlatformStatusOverviewMapper">
|
|
|
|
|
+
|
|
|
|
|
+ <select id="getSystemStatus" resultType="java.util.Map">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ *
|
|
|
|
|
+ FROM
|
|
|
|
|
+ ( SELECT COUNT( ci.COURSE_ID ) COURSE_TOTAL FROM COURSE_INFO ci WHERE ci.DELETE_FLAG = 'NOT_DELETE' ) r1,
|
|
|
|
|
+ ( SELECT COUNT( co.ID ) COURSE_OPEN_TOTAL FROM COURSE_OPEN co WHERE co.DELETE_FLAG = 'NOT_DELETE' ) r2,
|
|
|
|
|
+ ( SELECT COUNT( su.ID ) TEACHER_TOTAL FROM SYS_USER su WHERE su.EDU_IDENTITY = 1 AND su.DELETE_FLAG = 'NOT_DELETE' ) r3,
|
|
|
|
|
+ ( SELECT COUNT( su.ID ) STUDENT_TOTAL FROM SYS_USER su WHERE su.EDU_IDENTITY = 2 AND su.DELETE_FLAG = 'NOT_DELETE' ) r4
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <select id="getPopularCourses" resultType="map">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ ci.COURSE_ID,
|
|
|
|
|
+ ci.COURSE_NAME,
|
|
|
|
|
+ su.NAME TEACHER_NAME,
|
|
|
|
|
+ ci.VIEW_COUNT,
|
|
|
|
|
+ IFNULL( r1.COLLECT_COUNT, 0 ) COLLECT_COUNT
|
|
|
|
|
+ FROM
|
|
|
|
|
+ COURSE_INFO ci
|
|
|
|
|
+ LEFT JOIN SYS_USER su ON ci.TEACHER_ID = su.ID
|
|
|
|
|
+ LEFT JOIN ( SELECT COUNT( csc.ID ) COLLECT_COUNT, csc.COURSE_ID FROM COURSE_STUDENT_COLLECT csc WHERE csc.DELETE_FLAG = 'NOT_DELETE' GROUP BY COURSE_ID ) r1 ON ci.COURSE_ID = r1.COURSE_ID
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ ci.DELETE_FLAG = 'NOT_DELETE'
|
|
|
|
|
+ AND ci.PUTAWAY_STATUS = 1
|
|
|
|
|
+ ORDER BY
|
|
|
|
|
+ ci.VIEW_COUNT DESC,
|
|
|
|
|
+ r1.COLLECT_COUNT DESC
|
|
|
|
|
+ LIMIT 5
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <select id="getAllCourses" resultType="map">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ co.ID,
|
|
|
|
|
+ co.COURSE_ID,
|
|
|
|
|
+ ci.COURSE_NAME,
|
|
|
|
|
+ co.TEACHER_ID,
|
|
|
|
|
+ su.NAME TEACHER_NAME,
|
|
|
|
|
+ co.START_TIME,
|
|
|
|
|
+ ci.VIEW_COUNT,
|
|
|
|
|
+ IFNULL( r1.STUDENT_COUNT, 0 ) STUDENT_COUNT
|
|
|
|
|
+ FROM
|
|
|
|
|
+ COURSE_OPEN co
|
|
|
|
|
+ LEFT JOIN COURSE_INFO ci ON co.COURSE_ID = ci.COURSE_ID
|
|
|
|
|
+ LEFT JOIN SYS_USER su ON co.TEACHER_ID = su.ID
|
|
|
|
|
+ LEFT JOIN (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ COUNT( su.ID ) STUDENT_COUNT,
|
|
|
|
|
+ su.GRADES_ID
|
|
|
|
|
+ FROM
|
|
|
|
|
+ SYS_USER su
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ su.DELETE_FLAG = 'NOT_DELETE'
|
|
|
|
|
+ AND su.EDU_IDENTITY = 2
|
|
|
|
|
+ GROUP BY
|
|
|
|
|
+ su.GRADES_ID
|
|
|
|
|
+ ) r1 ON co.GRADES_ID = r1.GRADES_ID
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ co.DELETE_FLAG = 'NOT_DELETE'
|
|
|
|
|
+ AND co.STATUS = 0
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <select id="getCourseVisitTrend" resultType="map">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ r1.visitDate,
|
|
|
|
|
+ IFNULL( r2.visitCount, 0 ) AS visitCount
|
|
|
|
|
+ FROM
|
|
|
|
|
+ ( SELECT TO_CHAR ( SYSDATE - ROWNUM + 1, 'YYYY-MM-DD' ) AS visitDate FROM DUAL CONNECT BY ROWNUM <= 7 ORDER BY visitDate ) r1
|
|
|
|
|
+ LEFT JOIN (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ TO_CHAR ( csb.CREATE_TIME, 'YYYY-MM-DD' ) AS visitDate,
|
|
|
|
|
+ COUNT( csb.ID ) AS visitCount,
|
|
|
|
|
+ WM_CONCAT ( csb.ID ) AS employees
|
|
|
|
|
+ FROM
|
|
|
|
|
+ COURSE_STUDENT_BURIALPOINT csb
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ csb.DELETE_FLAG = 'NOT_DELETE'
|
|
|
|
|
+ AND csb.HOUR_ID IN (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ ID
|
|
|
|
|
+ FROM
|
|
|
|
|
+ COURSE_CLASSHOUR cc
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ cc.DELETE_FLAG = 'NOT_DELETE'
|
|
|
|
|
+ AND cc.CHAPTER_ID IN (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ ID
|
|
|
|
|
+ FROM
|
|
|
|
|
+ COURSE_CHAPTER
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ DELETE_FLAG = 'NOT_DELETE'
|
|
|
|
|
+ AND COURSE_ID IN ( SELECT co.COURSE_ID FROM COURSE_OPEN co WHERE co.DELETE_FLAG = 'NOT_DELETE' AND co.ID = #{courseId} )
|
|
|
|
|
+ )
|
|
|
|
|
+ )
|
|
|
|
|
+ AND csb.CREATE_TIME >= TRUNC ( SYSDATE ) - 6
|
|
|
|
|
+ GROUP BY
|
|
|
|
|
+ TO_CHAR ( csb.CREATE_TIME, 'YYYY-MM-DD' )
|
|
|
|
|
+ ) r2 ON r1.visitDate = r2.visitDate
|
|
|
|
|
+ ORDER BY
|
|
|
|
|
+ r1.visitDate ASC
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+</mapper>
|