浏览代码

课程学习人数

yangfeng 1 年之前
父节点
当前提交
3ee05a052d

+ 2 - 1
web/src/main/java/com/ynfy/app/api/v1/controller/ApiCourseController.java

@@ -175,7 +175,8 @@ public class ApiCourseController extends ApiBaseController {
         if (StringUtils.isNotBlank(course.getTeacherPost())) {
             course.setTeacherPost(sysPositionService.listByCodes(Arrays.asList(course.getTeacherPost().split(","))));
         }
-
+        //统计课程学习人数
+        course.setLearnerNumber(courseService.countCourseLearner(course.getId()));
         //获取课程学习进度
         List<String> courseIdList = new ArrayList<>();
         courseIdList.add(course.getId());

+ 2 - 1
web/src/main/java/com/ynfy/buss/course/course/controller/CourseController.java

@@ -159,7 +159,8 @@ public class CourseController extends JeecgController<Course, ICourseService> {
         if (StringUtils.isNotBlank(course.getTeacherPost())) {
             course.setTeacherPost(sysPositionService.listByCodes(Arrays.asList(course.getTeacherPost().split(","))));
         }
-
+        //统计课程学习人数
+        course.setLearnerNumber(courseService.countCourseLearner(course.getId()));
         //获取课程学习进度
         List<String> courseIdList = new ArrayList<>();
         courseIdList.add(course.getId());

+ 2 - 0
web/src/main/java/com/ynfy/buss/course/course/mapper/CourseMapper.java

@@ -22,4 +22,6 @@ public interface CourseMapper extends BaseMapper<Course> {
 
 
     List<Course> listHotCourse(Integer limit);
+
+    Integer countCourseLearner(String courseId);
 }

+ 11 - 0
web/src/main/java/com/ynfy/buss/course/course/mapper/xml/CourseMapper.xml

@@ -107,4 +107,15 @@
         END
         AS state
     </sql>
+
+    <select id="countCourseLearner" resultType="int">
+        SELECT
+            count(
+                    DISTINCT ( ucc.user_id )) AS learner_number
+        FROM
+            user_course_catalog ucc
+                LEFT JOIN course_catalog cc ON ucc.course_catalog_id = cc.id
+        WHERE
+            course_id = #{courseId}
+    </select>
 </mapper>

+ 8 - 0
web/src/main/java/com/ynfy/buss/course/course/service/ICourseService.java

@@ -53,4 +53,12 @@ public interface ICourseService extends IService<Course> {
      * @param userId
      */
     void setUserStudyInfo(List<Course> courseList, String userId);
+
+    /**
+     * 统计课程学习人数
+     *
+     * @param courseId
+     * @return
+     */
+    Integer countCourseLearner(String courseId);
 }

+ 11 - 2
web/src/main/java/com/ynfy/buss/course/course/service/impl/CourseServiceImpl.java

@@ -9,9 +9,7 @@ import com.ynfy.buss.course.course.service.ICourseService;
 import com.ynfy.buss.course.coursecatalog.service.ICourseCatalogService;
 import com.ynfy.buss.course.usercoursecatalog.entity.vo.UserCourseStudyVO;
 import com.ynfy.buss.course.usercoursecatalog.service.IUserCourseCatalogService;
-import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.system.entity.SysDepart;
 import org.jeecg.modules.system.service.ISysCategoryService;
 import org.jeecg.modules.system.service.ISysDepartService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -127,4 +125,15 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
             courseList.forEach((o) -> setCourseStudyProcess(studyList, o));
         }
     }
+
+    /**
+     * 统计课程学习人数
+     *
+     * @param courseId
+     * @return
+     */
+    @Override
+    public Integer countCourseLearner(String courseId) {
+        return courseMapper.countCourseLearner(courseId);
+    }
 }