he2802 4 rokov pred
rodič
commit
f28a519502

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseController.java

@@ -52,7 +52,7 @@ public class CourseController extends BaseController {
     @GetMapping("/list")
     public TableDataInfo<CourseVo> list(CourseQueryBo bo) {
         startPage();
-        List<CourseVo> list = iCourseService.queryList(bo);
+        List<CourseVo> list = iCourseService.selectCourseList(bo);
         return getDataTable(list);
     }
 

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/Course.java

@@ -66,5 +66,11 @@ private static final long serialVersionUID=1L;
     /** 课程名称 */
     private String courseName;
 
+    private Integer chapterNum;
+
+    private Integer sectionNum;
+
+    private Long videoTime;
+
 
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseMapper.java

@@ -2,7 +2,13 @@ package com.zhongzheng.modules.course.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.common.core.domain.entity.SysRole;
+import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.domain.Course;
+import com.zhongzheng.modules.course.vo.CourseVo;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 课程Mapper接口
@@ -12,4 +18,6 @@ import com.zhongzheng.modules.course.domain.Course;
  */
 public interface CourseMapper extends BaseMapper<Course> {
 
+    List<CourseVo> selectCourseList(CourseQueryBo bo);
+
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseService.java

@@ -10,6 +10,7 @@ import com.zhongzheng.modules.course.vo.CourseVo;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 课程Service接口
@@ -24,11 +25,14 @@ public interface ICourseService extends IService<Course> {
 	 */
 	CourseVo queryById(Long courseId);
 
+
 	/**
 	 * 查询列表
 	 */
 	List<CourseVo> queryList(CourseQueryBo bo);
 
+	List<CourseVo> selectCourseList(CourseQueryBo bo);
+
 	/**
 	 * 根据新增业务对象插入课程
 	 * @param bo 课程新增业务对象

+ 12 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java

@@ -11,15 +11,16 @@ import com.zhongzheng.modules.course.domain.Course;
 import com.zhongzheng.modules.course.mapper.CourseMapper;
 import com.zhongzheng.modules.course.service.ICourseService;
 import com.zhongzheng.modules.course.vo.CourseVo;
+import com.zhongzheng.modules.system.domain.SysUserRole;
+import com.zhongzheng.modules.system.mapper.SysRoleMapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -31,6 +32,9 @@ import java.util.stream.Collectors;
 @Service
 public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements ICourseService {
 
+    @Autowired
+    private CourseMapper courseMapper;
+
     @Override
     public CourseVo queryById(Long courseId){
         Course db = this.baseMapper.selectById(courseId);
@@ -53,6 +57,11 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
         return entity2Vo(this.list(lqw));
     }
 
+    @Override
+    public List<CourseVo> selectCourseList(CourseQueryBo bo) {
+        return courseMapper.selectCourseList(bo);
+    }
+
     /**
     * 实体类转化成视图对象
     *

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseVo.java

@@ -66,4 +66,6 @@ public class CourseVo {
 	@ApiModelProperty("课程名称")
 	private String courseName;
 
+
+
 }

+ 13 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -18,7 +18,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status" column="status"/>
         <result property="teacherIds" column="teacher_ids"/>
         <result property="courseName" column="course_name"/>
+        <result property="chapterNum" column="chapter_num"/>
+        <result property="sectionNum" column="section_num"/>
+        <result property="videoTime" column="video_time"/>
     </resultMap>
 
+    <select id="selectCourseList" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo"  resultMap="CourseResult">
+        SELECT rs.course_name,
+               rs.course_id,rs.status,sum(section_num) as section_num,count(chapter_id)
+                                                            as chapter_num,mc.category_name,sum(total_time) as video_time from
+            (SELECT c.*,count(cs.section_id) as section_num,cs.chapter_id,IFNULL(sum(cs.video_time),0) as total_time
+             FROM course c LEFT JOIN course_chapter cc on c.course_id = cc.course_id LEFT JOIN course_section cs
+                                                                                               on cc.chapter_id = cs.chapter_id
+             GROUP BY cs.chapter_id,c.course_id)rs LEFT JOIN major_category mc on rs.category_id = mc.category_id
+        GROUP BY course_id
+    </select>
 
 </mapper>