honorfire hai 6 meses
pai
achega
410c8cb98f

+ 17 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/ClassHourMapper.xml

@@ -145,9 +145,23 @@
             IFNULL (cc.CHAPTER_ID ,'') AS chapterId,
             IFNULL (cc.REMARK ,'') AS remark,
             IFNULL (cc.CREATE_TIME,'') AS createTime,
-            IFNULL (su.NAME,'') AS createUserName
+            IFNULL (su.NAME,'') AS createUserName,
+            IFNULL (rel0.name,'') AS coverImageName,
+            IFNULL (rel0.url,'') AS coverImageUrl
         FROM  COURSE_CLASSHOUR cc
         LEFT JOIN SYS_USER su ON cc.CREATE_USER =su.ID AND su.DELETE_FLAG ='NOT_DELETE'
+        LEFT JOIN (
+            SELECT
+            DISTINCT cr.MAIN_ID AS mainId,
+            IFNULL (CAST(df.NAME AS VARCHAR),'') AS name,
+            IFNULL (CAST(df.DOWNLOAD_PATH AS VARCHAR),'') AS url
+            FROM COURSE_RELATE cr
+            LEFT JOIN DEV_FILE df ON cr.RELATE_ID =df.ID AND df.DELETE_FLAG ='NOT_DELETE'
+            WHERE cr.DELETE_FLAG ='NOT_DELETE'
+            AND cr.FUNC_TYPE ='0'
+            AND cr.CHAPTERHOUR_TYPE='1'
+            AND cr.INFO_TYPE ='0'
+        )rel0 ON rel0.mainId=cc.id
         <if test="verifyPass !=null  and verifyPass != ''">
             <if test="verifyPass == 1">
                 LEFT JOIN (
@@ -161,13 +175,13 @@
                     AND cr.FUNC_TYPE ='1'
                     AND cr.CHAPTERHOUR_TYPE='1'
                     AND cr.INFO_TYPE ='0'
-                )rel ON rel.mainId=cc.id
+                )rel1 ON rel1.mainId=cc.id
             </if>
         </if>
         where cc.DELETE_FLAG ='NOT_DELETE'
         <if test="verifyPass !=null  and verifyPass != ''">
             <if test="verifyPass == 1">
-                AND rel.realId IS NOT null
+                AND rel1.realId IS NOT null
             </if>
         </if>
         <if test="chapterId !=null and chapterId != ''">

+ 57 - 56
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseInfoMapper.xml

@@ -310,64 +310,65 @@
     <select id="getFinishRate" resultType="java.util.Map">
         SELECT
             z2.courseId AS courseId,
-            TRUNC(z1.alreadyCount * 1.0 / z2.allCount, 2) AS finishRate
+            IFNULL(TRUNC(z1.alreadyCount * 1.0 / z2.allCount, 2),0) AS finishRate
         FROM (
-                SELECT
-                 t1.courseId AS courseId,
-                 IFNULL(COUNT(t1.courseId AS courseId),0) AS alreadyCount
-                from(
-                SELECT
-                    csb.USER_ID AS userId,
-                    cch.ID AS hourId,
-                    cc.ID AS chapterId,
-                    ci.COURSE_ID AS courseId
-                FROM (SELECT csb1.USER_ID,csb1.HOUR_ID FROM COURSE_STUDENT_BURIALPOINT csb1 WHERE csb1.DELETE_FLAG ='NOT_DELETE' AND csb1.FUNC_TYPE='1' AND csb1.TYPE='1' GROUP BY csb1.USER_ID,csb1.HOUR_ID) csb
-                LEFT JOIN COURSE_CLASSHOUR cch ON cch.ID=csb.HOUR_ID AND cch.DELETE_FLAG ='NOT_DELETE'
-                LEFT JOIN COURSE_CHAPTER cc ON cc.ID=cch.CHAPTER_ID AND cc.DELETE_FLAG ='NOT_DELETE'
-                LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
-                WHERE 1=1
-                )t1
-                WHERE 1=1
-                AND t1.hourId IS NOT NULL
-                AND t1.chapterId IS NOT NULL
-                AND t1.courseId IS NOT NULL
-                <if test="userId != null and userId != ''">
-                    AND t1.userId = #{userId}
-                </if>
-                <if test="courseId != null and courseId != ''">
-                    AND t1.courseId = #{courseId}
-                </if>
-                GROUP BY t1.courseId
-        )z1
+            SELECT
+            t2.courseId AS courseId,
+            IFNULL(COUNT(t2.courseId AS courseId),0) AS allCount
+            FROM(
+            SELECT
+            cch.ID AS hourId,
+            cc.ID AS chapterId,
+            ci.COURSE_ID AS courseId
+            FROM (
+            SELECT ci1.* FROM COURSE_INFO ci1
+            WHERE ci1.DELETE_FLAG ='NOT_DELETE'
+            <if test="courseId != null and courseId != ''">
+                AND ci1.COURSE_ID = #{courseId}
+            </if>
+            ) ci
+            LEFT JOIN COURSE_CHAPTER cc ON ci.COURSE_ID =cc.COURSE_ID AND cc.DELETE_FLAG ='NOT_DELETE'
+            LEFT JOIN COURSE_CLASSHOUR cch ON cc.ID=cch.CHAPTER_ID AND cch.DELETE_FLAG ='NOT_DELETE'
+            WHERE ci.DELETE_FLAG ='NOT_DELETE'
+            )t2
+            WHERE 1=1
+            AND t2.hourId IS NOT NULL
+            AND t2.chapterId IS NOT NULL
+            AND t2.courseId IS NOT NULL
+            <if test="courseId != null and courseId != ''">
+                AND t2.courseId = #{courseId}
+            </if>
+            GROUP BY t2.courseId
+        )z2
         LEFT JOIN(
-                SELECT
-                    t2.courseId AS courseId,
-                    IFNULL(COUNT(t2.courseId AS courseId),0) AS allCount
-                FROM(
-                    SELECT
-                        cch.ID AS hourId,
-                        cc.ID AS chapterId,
-                        ci.COURSE_ID AS courseId
-                    FROM (
-                        SELECT ci1.* FROM COURSE_INFO ci1
-                        WHERE ci1.DELETE_FLAG ='NOT_DELETE'
-                        <if test="courseId != null and courseId != ''">
-                            AND ci1.COURSE_ID = #{courseId}
-                        </if>
-                    ) ci
-                    LEFT JOIN COURSE_CHAPTER cc ON ci.COURSE_ID =cc.COURSE_ID AND cc.DELETE_FLAG ='NOT_DELETE'
-                    LEFT JOIN COURSE_CLASSHOUR cch ON cc.ID=cch.CHAPTER_ID AND cch.DELETE_FLAG ='NOT_DELETE'
-                    WHERE ci.DELETE_FLAG ='NOT_DELETE'
-                )t2
-                WHERE 1=1
-                AND t2.hourId IS NOT NULL
-                AND t2.chapterId IS NOT NULL
-                AND t2.courseId IS NOT NULL
-                <if test="courseId != null and courseId != ''">
-                    AND t2.courseId = #{courseId}
-                </if>
-                GROUP BY t2.courseId
-        )z2 ON z1.courseId=z2.courseId
+            SELECT
+            cin.COURSE_ID AS courseId,
+            IFNULL(COUNT(t1.courseId AS courseId),0) AS alreadyCount
+            FROM COURSE_INFO cin
+            LEFT JOIN (
+            SELECT
+            csb.USER_ID AS userId,
+            cch.ID AS hourId,
+            cc.ID AS chapterId,
+            ci.COURSE_ID AS courseId
+            FROM (SELECT csb1.USER_ID,csb1.HOUR_ID FROM COURSE_STUDENT_BURIALPOINT csb1 WHERE csb1.DELETE_FLAG ='NOT_DELETE' AND csb1.FUNC_TYPE='1' AND csb1.TYPE='1' GROUP BY csb1.USER_ID,csb1.HOUR_ID) csb
+            LEFT JOIN COURSE_CLASSHOUR cch ON cch.ID=csb.HOUR_ID AND cch.DELETE_FLAG ='NOT_DELETE'
+            LEFT JOIN COURSE_CHAPTER cc ON cc.ID=cch.CHAPTER_ID AND cc.DELETE_FLAG ='NOT_DELETE'
+            LEFT JOIN COURSE_INFO ci ON ci.COURSE_ID =cc.COURSE_ID AND ci.DELETE_FLAG ='NOT_DELETE'
+            WHERE 1=1
+            AND cch.ID IS NOT NULL
+            AND cc.ID IS NOT NULL
+            AND ci.COURSE_ID IS NOT NULL
+            <if test="userId != null and userId != ''">
+                AND csb.USER_ID = #{userId}
+            </if>
+            )t1 ON cin.COURSE_ID=t1.courseId AND cin.DELETE_FLAG ='NOT_DELETE'
+            WHERE 1=1
+            <if test="courseId != null and courseId != ''">
+                AND t1.courseId = #{courseId}
+            </if>
+            GROUP BY cin.COURSE_ID
+        )z1 ON z1.courseId=z2.courseId
         where 1=1
         <if test="courseId != null and courseId != ''">
             AND z2.courseId = #{courseId}