浏览代码

乐教通

zouxuan 1 年之前
父节点
当前提交
e8ab22acb8

+ 1 - 6
mec-application/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -99,12 +99,7 @@ public class TeacherCourseScheduleController extends BaseController {
     @ApiOperation(value = "获取最近的一节课")
     @PostMapping("/getRecentCourseSchedule")
     public HttpResponseResult<CourseScheduleDto> getRecentCourseSchedule(){
-        SysUser user = sysUserService.getUser();
-        List<CourseScheduleDto> teacherCourseSchedulesWithDate = scheduleService.getTeacherCourseSchedulesWithDate(user.getId(),new Date(),null,user.getTenantId());
-        if(CollectionUtils.isEmpty(teacherCourseSchedulesWithDate)){
-            return null;
-        }
-        return succeed(teacherCourseSchedulesWithDate.get(0));
+        return succeed(scheduleService.getRecentCourseSchedule(sysUserService.getUserId()));
     }
 
     @ApiOperation(value = "根据月份获取该月历史有课的日期")

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -2091,4 +2091,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<CourseSchedule> getEndTimeBetweenYesterdayAndNow();
 
     void configCourseware(@Param("courseId") Long courseId, @Param("coursewareDetailId") String coursewareDetailId);
+
+    //获取最近的一节线下课
+    CourseScheduleDto getRecentCourseSchedule(@Param("userId") Integer userId);
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -169,6 +169,11 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId, Date classDate, String type,Integer tenantId);
 
 	/**
+	 * 获取最近的一节课
+	 */
+	CourseScheduleDto getRecentCourseSchedule(Integer userId);
+
+	/**
 	 * @describe 根据日期获取
 	 * @author Joburgess
 	 * @date 2019/12/26

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -1345,7 +1345,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 teacherCourseSchedulesWithDate, allCourseScheduleIds, courseScheduleIds);
     }
 
-    // 数据整理
+	@Override
+	public CourseScheduleDto getRecentCourseSchedule(Integer userId) {
+		return courseScheduleDao.getRecentCourseSchedule(userId);
+	}
+
+	// 数据整理
     @Nullable
     private List<CourseScheduleDto> getTeacherCourseFormat(Integer userId, Date classDate, Integer tenantId,
                                                            List<CourseScheduleDto> teacherCourseSchedulesWithDate, List<Long> allCourseScheduleIds,

+ 41 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -741,6 +741,47 @@
         ORDER BY start_class_time_
     </select>
 
+    <select id="getRecentCourseSchedule" resultMap="courseScheduleDto">
+        SELECT
+        cs.id_ seal_class_id_,
+        cs.new_course_id_,
+        cg.name_,
+        su.real_name_ teacher_name_,
+        cs.type_,
+        cs.id_,
+        cs.class_group_id_,
+        cs.class_date_,
+        CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
+        CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
+        cs.status_,
+        csts.user_id_ actual_teacher_id_,
+        csts.teacher_role_,
+        cg.expect_student_num_,
+        cs.schoole_id_,
+        s.name_ school_name_,
+        IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_enum_,
+        IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_enum_,
+        IF(ta.sign_in_status_ IS NULL,0,1) sign_in_status_,
+        IF(ta.sign_out_status_ IS NULL,0,1) sign_out_status_,
+        cs.teach_mode_,
+        cs.live_room_id_,
+        cs.group_type_,
+        cs.music_group_id_,
+        cs.share_mode_,
+        cs.courseware_detail_id_
+        FROM
+        course_schedule_teacher_salary csts
+        LEFT JOIN course_schedule cs ON csts.course_schedule_id_=cs.id_
+        LEFT JOIN sys_user su ON csts.user_id_ = su.id_
+        LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
+        LEFT JOIN school s ON cs.schoole_id_ = s.id_
+        LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_ AND ta.teacher_id_=#{userId}
+        WHERE cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND cs.merge_flag_ = 0
+        AND cs.class_date_ &lt;= DATE_FORMAT(NOW(),'%Y%m%d')
+        AND cs.status_ IN ('NOT_START','UNDERWAY')
+        AND csts.user_id_ = #{teacherId} AND cs.pre_course_flag_ != 1 LIMIT 1
+    </select>
+
     <select id="getTeacherCourseSchedulesWithDate" resultMap="courseScheduleDto">
         SELECT
         cs.id_ seal_class_id_,