瀏覽代碼

优化课程查询sql

hgw 2 年之前
父節點
當前提交
c2507419b1

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleDao.java

@@ -111,6 +111,7 @@ public interface CourseScheduleDao extends BaseMapper<CourseSchedule> {
      *              <p> - endDate 结束时间
      *              <p> - subjectId 声部id
      *              <p> - type PRACTICE 陪练课 LIVE 直播课
+     *              <p> - orderState OrderStatusEnum支付状态
      */
     <T> IPage<T> queryStudentLiveCourse(Page<T> page, @Param("param") Map<String, Object> param);
 

+ 2 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -19,10 +19,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.HomeworkSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.MyCourseSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.PracticeTeacherSearch;
 import com.yonge.cooleshow.biz.dal.entity.*;
-import com.yonge.cooleshow.biz.dal.enums.CourseGroupEnum;
-import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
-import com.yonge.cooleshow.biz.dal.enums.GoodTypeEnum;
-import com.yonge.cooleshow.biz.dal.enums.TeacherSalaryEnum;
+import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
@@ -802,6 +799,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         param.put("type", CourseScheduleEnum.LIVE.getCode());
         param.put("startDate", firstDay.toString());
         param.put("endDate", lastDay.toString());
+        param.put("orderState", OrderStatusEnum.PAID.getCode());
         Page<CourseStudent> pageInfo = PageUtil.getPageInfo(param);
         pageInfo.setAsc(" cs.start_time_");
         return PageUtil.pageInfo(baseMapper.queryStudentLiveCourse(pageInfo, param));

+ 5 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -403,7 +403,7 @@
     </select>
 
     <select id="queryStudentLiveCourse" parameterType="map" resultType="com.yonge.cooleshow.biz.dal.vo.CourseStudent">
-        SELECT
+        SELECT distinct
         cs.id_ AS courseId,
         cs.course_group_id_ AS courseGoupId,
         cs.class_date_ AS classDate,
@@ -424,10 +424,14 @@
         LEFT JOIN course_group g ON cs.course_group_id_ = g.id_
         LEFT JOIN `subject` sb ON g.subject_id_=sb.id_
         LEFT JOIN sys_user su on g.teacher_id_ = su.id_
+        LEFT JOIN user_order o on a.order_no_  = o.order_no_
         WHERE cs.type_=#{param.type}
         AND a.user_id_ = #{param.studentId}
         <![CDATA[ AND class_date_  >= #{param.startDate} ]]>
         <![CDATA[ AND class_date_  <= #{param.endDate} ]]>
+        <if test="param.orderState != null">
+            AND o.status_ = #{param.orderState}
+        </if>
         <if test="param.subjectId != null">
             AND g.subject_id_ = #{param.subjectId}
         </if>