he2802 1 ano atrás
pai
commit
70eedf0750

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

@@ -54,6 +54,8 @@ public interface CourseMapper extends BaseMapper<Course> {
     //不传班级可能出现用户重复购买情况
     ClassGradeVo gradeIdSelect(@Param("userId") Long userId, @Param("goodsId") Long goodsId, @Param("gradeId") Long gradeId, @Param("orderGoodsId") Long orderGoodsId);
 
+    ClassGradeVo gradeIdSimpleSelect(@Param("userId") Long userId, @Param("goodsId") Long goodsId, @Param("gradeId") Long gradeId, @Param("orderGoodsId") Long orderGoodsId);
+
     @InterceptorIgnore(tenantLine = "true")
     ClassGradeVo gradeIdSelectTenant(@Param("userId") Long userId, @Param("goodsId") Long goodsId, @Param("gradeId") Long gradeId,@Param("tenantId") Long tenantId);
 

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

@@ -972,7 +972,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
         //用户课程得详细信息
         for (GoodsUserVo goodsUserVo : goodsUserVos) {
             //获得当前所在班级
-            ClassGradeVo classGradeVo = baseMapper.gradeIdSelect(goodsUserVo.getUserId(),goodsUserVo.getGoodsId(),goodsUserVo.getGradeId(),goodsUserVo.getOrderGoodsId());
+            ClassGradeVo classGradeVo = baseMapper.gradeIdSimpleSelect(goodsUserVo.getUserId(),goodsUserVo.getGoodsId(),goodsUserVo.getGradeId(),goodsUserVo.getOrderGoodsId());
             if(Validator.isEmpty(classGradeVo)){
                 continue;
             }
@@ -983,7 +983,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
             subjectStudyRecordQueryBo.setUserId(bo.getUserId());
             subjectStudyRecordQueryBo.setGradeId(goodsUserVo.getGradeId());
             subjectStudyRecordQueryBo.setOrderGoodsId(goodsUserVo.getOrderGoodsId());
-            List<SubjectStudyRecordVo> subjectStudyRecordVos = iUserStudyRecordService.listSubject(subjectStudyRecordQueryBo);
+            List<SubjectStudyRecordVo> subjectStudyRecordVos = iUserStudyRecordService.listDangAnSubject(subjectStudyRecordQueryBo);
             for (SubjectStudyRecordVo subjectStudyRecordVo : subjectStudyRecordVos) {
                 secLong = new BigDecimal(secLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getSectionNum().toString())).longValue();
                 studyLong = new BigDecimal(studyLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getRecordNum().toString())).longValue();

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

@@ -591,6 +591,8 @@
         </if>
     </select>
 
+
+
     <select id="goodsProgressList" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo"  resultMap="GoodsUserVo">
         SELECT
         g.*,
@@ -831,6 +833,49 @@
           AND ups.`status` = 0
           AND ups.period_status = 1
     </select>
+
+    <select id="gradeIdSimpleSelect" parameterType="map"  resultMap="ClassGradeVoResult" >
+        SELECT
+        (SELECT
+        COUNT( m.id )
+        FROM
+        goods_course c  LEFT JOIN  course_menu_exam m ON m.course_id = c.course_id
+        where
+        m.type in (1,3)
+        and c.goods_id = #{goodsId}) as exam_num,
+        (SELECT COUNT(DISTINCT ubr.module_id,ubr.chapter_id,ubr.exam_id) FROM user_bank_record ubr  where ubr.`status`=1 and ubr.report_status=1 and ubr.grade_id = cg.grade_id and ubr.order_goods_id = cgu.order_goods_id and ubr.user_id = cgu.user_id and ubr.current_status = 1) as record_num,
+        cgu.grade_id,
+        cg.class_start_time,
+        cg.class_end_time,
+        cg.class_status,
+        cg.status,
+        cg.learning_status,
+        cgu.period_status,
+        cg.learning_time_start,
+        cgu.learn_status,
+        cg.interface_account_id,
+        cg.official_learning_url,
+        cg.interface_push_id,
+        cgu.official_status,
+        cgu.period_plush,
+        cgu.order_goods_id,
+        cg.official_name,
+        cgu.period_wait_time
+        FROM
+        class_grade_user cgu
+        LEFT JOIN class_grade cg on cgu.grade_id = cg.grade_id
+        WHERE
+        1=1
+        <if test="gradeId != null and gradeId != ''">
+            and cg.grade_id = #{gradeId}
+        </if>
+        <if test="orderGoodsId != null and orderGoodsId != ''">
+            and cgu.order_goods_id = #{orderGoodsId}
+        </if>
+        and cg.`status` =1  and cgu.change_grade = 0 and cgu.user_id=#{userId}
+        order by cg.create_time desc LIMIT 1
+    </select>
+
     <select id="gradeIdSelect" parameterType="map"  resultMap="ClassGradeVoResult" >
         SELECT
          (SELECT