Bläddra i källkod

Merge remote-tracking branch 'origin/master'

周箭河 5 år sedan
förälder
incheckning
d676dc2a32

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

@@ -1344,4 +1344,12 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     CourseSchedule getLastEndCourse(@Param("groupId") String groupId, @Param("groupType") String groupType);
+
+    /**
+     * 根据课程组获取课表信息
+     * @param groupType
+     * @param groupId
+     * @return
+     */
+    List<CourseSchedule> findCourseByGroupId(@Param("groupType") String groupType, @Param("groupId") String groupId);
 }

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

@@ -477,4 +477,20 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @return
 	 */
 	Object teacherCourseRates(Long courseScheduleId);
+
+	/**
+	 * 根据课程组获取课程组老师信息
+	 * @param groupType
+	 * @param groupId
+	 * @return
+	 */
+	Object getTeacherCourseHeadInfo(GroupType groupType,String groupId);
+
+	/**
+	 * 根据课程组获取课表信息
+	 * @param groupType
+	 * @param groupId
+	 * @return
+	 */
+	Object queryCourseInfoByGroupId(GroupType groupType, String groupId);
 }

+ 29 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3940,21 +3940,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-	public Object teacherCourseHeadInfo(Long courseScheduleId) {
-		SysUser user = sysUserFeignService.queryUserInfo();
-		if (null == user) {
-			throw new BizException("获取用户信息失败");
-		}
-		CourseSchedule schedule = courseScheduleDao.get(courseScheduleId);
-		if(schedule == null){
-			throw new BizException("课程不存在");
-		}
-		GroupType groupType = schedule.getGroupType();
+	public Object getTeacherCourseHeadInfo(GroupType groupType,String groupId){
 		Map<String,Object> resultMap = new HashMap<>(8);
 		Teacher teacher;
 		switch (groupType){
 			case PRACTICE:
-				PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(schedule.getMusicGroupId()));
+				PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(groupId));
 				resultMap.put("groupName",practiceGroup.getName());
 				resultMap.put("startTime",practiceGroup.getCoursesStartDate());
 				resultMap.put("endTime",practiceGroup.getCoursesExpireDate());
@@ -3967,7 +3958,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				resultMap.put("teacherGiveLesson",courseScheduleTeacherSalaryDao.countTeacherGiveLesson(practiceGroup.getUserId()));
 				break;
 			case VIP:
-				VipGroup vipGroup = vipGroupDao.get(Long.parseLong(schedule.getMusicGroupId()));
+				VipGroup vipGroup = vipGroupDao.get(Long.parseLong(groupId));
 				resultMap.put("groupName",vipGroup.getName());
 				resultMap.put("startTime",vipGroup.getCourseStartDate());
 				resultMap.put("endTime",vipGroup.getCoursesExpireDate());
@@ -3986,6 +3977,32 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
+	public Object queryCourseInfoByGroupId(GroupType groupType, String groupId) {
+    	List<CourseSchedule> courseSchedules = courseScheduleDao.findCourseByGroupId(groupType.getCode(),groupId);
+    	Map<String,Object> resultMap = new HashMap<>(4);
+    	resultMap.put("courseInfo",courseSchedules);
+    	resultMap.put("count",courseSchedules.size());
+		int online = courseSchedules.stream().filter(e -> e.getTeachMode() == TeachModeEnum.ONLINE).collect(Collectors.toList()).size();
+		int offline = courseSchedules.stream().filter(e -> e.getTeachMode() == TeachModeEnum.OFFLINE).collect(Collectors.toList()).size();
+		resultMap.put("online",online);
+		resultMap.put("offline",offline);
+		return resultMap;
+	}
+
+	@Override
+	public Object teacherCourseHeadInfo(Long courseScheduleId) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (null == user) {
+			throw new BizException("获取用户信息失败");
+		}
+		CourseSchedule schedule = courseScheduleDao.get(courseScheduleId);
+		if(schedule == null){
+			throw new BizException("课程不存在");
+		}
+		return getTeacherCourseHeadInfo(schedule.getGroupType(),schedule.getMusicGroupId());
+	}
+
+	@Override
 	public Object teacherCourseRates(Long courseScheduleId) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if (null == user) {

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

@@ -2785,6 +2785,10 @@
         GROUP BY
             cg.id_
     </select>
+    <select id="findCourseByGroupId" resultMap="CourseSchedule">
+        SELECT * FROM course_schedule cs
+        WHERE cs.music_group_id_ = #{groupId} AND cs.group_type_ = #{groupType} AND cs.del_flag_ = 0
+    </select>
 
     <update id="updateCourseNameByGroup">
         UPDATE course_schedule SET name_=#{name} WHERE group_type_=#{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND music_group_id_ = #{groupId};

+ 3 - 3
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -567,7 +567,7 @@
 		CASE WHEN ta.sign_in_status_ = 0 THEN '异常' WHEN ta.sign_in_status_ = 1 THEN '正常' END signInStatus,
 		CASE WHEN ta.sign_out_status_=0 THEN '异常' WHEN ta.sign_out_status_ = 1 THEN '正常' END signOutStatus,
 		ROUND((UNIX_TIMESTAMP(ta.sign_out_time_)-UNIX_TIMESTAMP(ta.sign_in_time_))/60) currentTime,
-		ta.sign_in_time_ signInTime,ta.sign_out_time_ signOutTime,COUNT(sp.id_) studentNum
+		ta.sign_in_time_ signInTime,ta.sign_out_time_ signOutTime,COUNT(DISTINCT sp.id_) studentNum
 		FROM course_schedule_teacher_salary ts
 		LEFT JOIN course_schedule cs ON ts.course_schedule_id_ = cs.id_
 		LEFT JOIN `teacher_attendance` ta ON ta.`teacher_id_` = ts.`user_id_` AND ta.`course_schedule_id_` = ts.`course_schedule_id_`
@@ -597,7 +597,7 @@
 		CASE WHEN ta.sign_in_status_ = 0 THEN '异常' WHEN ta.sign_in_status_ = 1 THEN '正常' END signInStatus,
 		CASE WHEN ta.sign_out_status_=0 THEN '异常' WHEN ta.sign_out_status_ = 1 THEN '正常' END signOutStatus,
 		ROUND((UNIX_TIMESTAMP(ta.sign_out_time_)-UNIX_TIMESTAMP(ta.sign_in_time_))/60) currentTime,
-		ta.sign_in_time_ signInTime,ta.sign_out_time_ signOutTime,COUNT(sp.id_) studentNum,
+		ta.sign_in_time_ signInTime,ta.sign_out_time_ signOutTime,COUNT(DISTINCT sp.id_) studentNum,
 		vg.online_classes_unit_price_,vg.offline_classes_unit_price_,
 		GROUP_CONCAT(sa.sign_in_time_) studentSignInTime,GROUP_CONCAT(sa.sign_out_time_) studentSignOutTime
 		FROM course_schedule_teacher_salary ts
@@ -633,7 +633,7 @@
 		CASE WHEN ta.sign_in_status_ = 0 THEN '异常' WHEN ta.sign_in_status_ = 1 THEN '正常' END signInStatus,
 		CASE WHEN ta.sign_out_status_= 0 THEN '异常' WHEN ta.sign_out_status_ = 1 THEN '正常' END signOutStatus,
 		ROUND((UNIX_TIMESTAMP(ta.sign_out_time_)-UNIX_TIMESTAMP(ta.sign_in_time_))/60) currentTime,
-		ta.sign_in_time_ signInTime,ta.sign_out_time_ signOutTime,COUNT(sp.id_) studentNum,
+		ta.sign_in_time_ signInTime,ta.sign_out_time_ signOutTime,COUNT(DISTINCT sp.id_) studentNum,
 		GROUP_CONCAT(sa.sign_in_time_) studentSignInTime,GROUP_CONCAT(sa.sign_out_time_) studentSignOutTime
 		FROM course_schedule_teacher_salary ts
 		LEFT JOIN course_schedule cs ON ts.course_schedule_id_ = cs.id_

+ 13 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseScheduleController.java

@@ -3,6 +3,7 @@ package com.ym.mec.student.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.StudentAttendanceService;
@@ -71,4 +72,16 @@ public class StudentCourseScheduleController extends BaseController {
 		return succeed();
 	}
 
+	@ApiOperation(value = "根据课程组获取课程组老师信息")
+	@GetMapping("/teacherCourseHeadInfo")
+	public Object teacherCourseHeadInfo(GroupType groupType,String groupId){
+		return succeed(scheduleService.getTeacherCourseHeadInfo(groupType,groupId));
+	}
+
+	@ApiOperation(value = "根据课程组获取课表信息")
+	@GetMapping("/queryCourseInfoByGroupId")
+	public Object queryCourseInfoByGroupId(GroupType groupType,String groupId){
+		return succeed(scheduleService.queryCourseInfoByGroupId(groupType,groupId));
+	}
+
 }