Pārlūkot izejas kodu

云教练作业优化

zouxuan 3 gadi atpakaļ
vecāks
revīzija
b31140687f

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseHomeworkDao.java

@@ -67,4 +67,11 @@ public interface CourseHomeworkDao extends BaseDAO<Long, CourseHomework> {
 	 * @return
 	 */
 	int findHomeCount(Map<String, Object> params);
+
+	/**
+	 * 获取作业列表
+	 * @param homeworkIdList
+	 * @return
+	 */
+	List<TeacherHomeworkListDto> findByIdList(@Param("homeworkIdList") List<Integer> homeworkIdList);
 }

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

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.ExtracurricularExercisesHomeworkListDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.dto.TeacherHomeworkListDto;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercises;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
@@ -56,4 +57,11 @@ public interface ExtracurricularExercisesDao extends BaseDAO<Long, Extracurricul
      * @return
      */
     List<ExtracurricularExercisesHomeworkListDto> findExtraExercilsesHomeworks(Map<String, Object> params);
+
+    /**
+     * 获取课外训练列表
+     * @param exercisesIdList
+     * @return
+     */
+    List<TeacherHomeworkListDto> findByIdList(@Param("exercisesIdList") List<Integer> exercisesIdList);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherHomeworkListDto.java

@@ -17,7 +17,7 @@ public class TeacherHomeworkListDto {
     @ApiModelProperty(value = "作业内容")
     private String content;
 
-    @ApiModelProperty(value = "作业内容")
+    @ApiModelProperty(value = "作业标题")
     private String title;
 
     @ApiModelProperty(value = "创建时间")

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ExtracurricularExercisesService.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.dto.TeacherHomeworkListDto;
 import com.ym.mec.biz.dal.dto.WebCourseHomeworkListDto;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercises;
 import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
@@ -53,5 +54,5 @@ public interface ExtracurricularExercisesService extends BaseService<Long, Extra
      * @param queryInfo
      * @return
      */
-    PageInfo<WebCourseHomeworkListDto> findExtraExercilsesHomeworks(ExtraExercilseQueryInfo queryInfo);
+    PageInfo<TeacherHomeworkListDto> findExtraExercilsesHomeworks(ExtraExercilseQueryInfo queryInfo);
 }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java

@@ -294,6 +294,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         teacherClassGroupInfo.setEndClassTime(DateUtil.dateToString(courseSchedule.getEndClassTime(), "HH:mm"));
         teacherClassGroupInfo.setClassGroupName(classGroup.getName());
         teacherClassGroupInfo.setCourseScheduleType(courseSchedule.getType());
+        teacherClassGroupInfo.setTeachMode(courseSchedule.getTeachMode().getCode());
         return teacherClassGroupInfo;
     }
 

+ 29 - 20
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java

@@ -1,9 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
-import com.ym.mec.biz.dal.dao.ExtracurricularExercisesDao;
-import com.ym.mec.biz.dal.dao.ExtracurricularExercisesReplyDao;
-import com.ym.mec.biz.dal.dao.StudentExtracurricularExercisesSituationDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercises;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply;
@@ -49,6 +46,8 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 	@Autowired
 	private TeacherDao teacherDao;
 	@Autowired
+	private CourseHomeworkDao courseHomeworkDao;
+	@Autowired
 	private StudentServeService studentServeService;
 
 	@Override
@@ -214,25 +213,35 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 	}
 
 	@Override
-	public PageInfo<WebCourseHomeworkListDto> findExtraExercilsesHomeworks(ExtraExercilseQueryInfo queryInfo) {
-		PageInfo<WebCourseHomeworkListDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+	public PageInfo<TeacherHomeworkListDto> findExtraExercilsesHomeworks(ExtraExercilseQueryInfo queryInfo) {
+		PageInfo<TeacherHomeworkListDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 		Map<String, Object> params = new HashMap<>();
 		MapUtil.populateMap(params, queryInfo);
 		int count = extracurricularExercisesDao.countExtraExercilsesHomeworks(params);
-		List<ExtracurricularExercisesHomeworkListDto> homeworksExercises = extracurricularExercisesDao.findExtraExercilsesHomeworks(params);
-		if(homeworksExercises == null || homeworksExercises.size() == 0){
-			return pageInfo;
-		}
-		//课外训练
-		List<ExtracurricularExercisesHomeworkListDto> exercises = homeworksExercises.stream().filter(e -> e.getType().equals("EXERCISES")).collect(Collectors.toList());
-		if(exercises.size() > 0){
-
-		}
-		//课后作业
-		List<ExtracurricularExercisesHomeworkListDto> homeworkList = homeworksExercises.stream().filter(e -> e.getType().equals("HOMEWORK")).collect(Collectors.toList());
-		if(homeworkList.size() > 0){
-
+		List<TeacherHomeworkListDto> dataList = new ArrayList<>();
+		if(count > 0){
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			List<ExtracurricularExercisesHomeworkListDto> homeworksExercises = extracurricularExercisesDao.findExtraExercilsesHomeworks(params);
+			if(homeworksExercises == null || homeworksExercises.size() == 0){
+				return pageInfo;
+			}
+			//课外训练
+			List<ExtracurricularExercisesHomeworkListDto> exercises = homeworksExercises.stream().filter(e -> e.getType().equals("EXERCISES")).collect(Collectors.toList());
+			if(exercises.size() > 0){
+				List<Integer> exercisesIdList = exercises.stream().map(e -> e.getHomeworkId()).collect(Collectors.toList());
+				dataList.addAll(extracurricularExercisesDao.findByIdList(exercisesIdList));
+			}
+			//课后作业
+			List<ExtracurricularExercisesHomeworkListDto> homeworkList = homeworksExercises.stream().filter(e -> e.getType().equals("HOMEWORK")).collect(Collectors.toList());
+			if(homeworkList.size() > 0){
+				List<Integer> homeworkIdList = homeworkList.stream().map(e -> e.getHomeworkId()).collect(Collectors.toList());
+				dataList.addAll(courseHomeworkDao.findByIdList(homeworkIdList));
+			}
+			dataList.removeAll(Collections.singleton(null));
+			dataList = dataList.stream().sorted(Comparator.comparing(TeacherHomeworkListDto::getDay).reversed()).collect(Collectors.toList());
+			pageInfo.setRows(dataList);
 		}
-		return null;
+		return pageInfo;
 	}
 }

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

@@ -909,7 +909,7 @@ public class StudentServeServiceImpl implements StudentServeService {
             result.put("enableAssignHomework", 0);
         }
 
-        if(Objects.isNull(courseScheduleId)&&Objects.isNull(studentIdsStr)){
+        if(Objects.isNull(courseScheduleId) && Objects.isNull(studentIdsStr)){
             result.put("isAssignHomework", 0);
             return result;
         }

+ 17 - 2
mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -157,7 +157,7 @@
 	</select>
 
 	<resultMap id="teacherHomeworkListDto" type="com.ym.mec.biz.dal.dto.TeacherHomeworkListDto">
-		<result property="courseScheduleId" column="course_homework_id_"/>
+		<result property="courseScheduleId" column="course_schedule_id_"/>
 		<result property="content" column="content_"/>
 		<result property="title" column="title_"/>
 		<result property="expectNum" column="expect_num_"/>
@@ -176,7 +176,7 @@
 
 	<select id="findByClassGroupAndTeacher" resultMap="teacherHomeworkListDto">
 		SELECT
-			cs.id_ course_homework_id_,
+			cs.id_ course_schedule_id_,
 			ch.content_,
 			ch.title_,
 			ch.create_time_,
@@ -330,6 +330,21 @@
 		</if>
 		<include refid="queryHomePageSql"/>
 	</select>
+	<select id="findByIdList" resultMap="teacherHomeworkListDto">
+		SELECT ch.*,
+		DATE_FORMAT(ch.create_time_,'%Y-%m-%d') 'day_',
+		CONCAT(cs.class_date_, ' ',cs.start_class_time_ ) start_class_time_,
+		CONCAT(cs.class_date_, ' ',cs.end_class_time_ ) end_class_time_,
+		cs.name_ course_schedule_name_,
+		mg.name_ music_group_name_
+		FROM course_homework ch
+		LEFT JOIN course_schedule cs ON ch.course_schedule_id_ = cs.id_
+		LEFT JOIN music_group mg ON ch.music_group_id_ = mg.id_
+		WHERE ch.id_ IN
+		<foreach collection="homeworkIdList" separator="," item="item" open="(" close=")">
+			#{item}
+		</foreach>
+	</select>
 
 	<delete id="delByCourseScheduleId" >
 		DELETE FROM course_homework WHERE course_schedule_id_ = #{courseScheduleId} 

+ 46 - 4
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml

@@ -211,22 +211,64 @@
 		SELECT COUNT(id_) FROM (
 		SELECT id_, create_time_,'EXERCISES' type_
 		FROM extracurricular_exercises
-		WHERE teacher_id_ = #{teacherId} AND DATE_FORMAT(create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')
+		<where>
+			<if test="teacherId!=null">
+				AND teacher_id_ = #{teacherId}
+			</if>
+			<if test="createTime!=null">
+				AND DATE_FORMAT(create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')
+			</if>
+		</where>
 		UNION ALL
 		SELECT ch.id_,ch.create_time_,'HOMEWORK' type_ FROM course_homework ch
 		LEFT JOIN course_schedule_teacher_salary csts ON ch.course_schedule_id_ = csts.course_schedule_id_ AND csts.teacher_role_ = 'BISHOP'
-		WHERE csts.user_id_ = #{teacherId} AND DATE_FORMAT(ch.create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')) h
+		<where>
+			<if test="teacherId!=null">
+				AND csts.user_id_ = #{teacherId}
+			</if>
+			<if test="classGroupId!=null">
+				AND ch.class_group_id_=#{classGroupId}
+			</if>
+			<if test="createTime!=null">
+				AND DATE_FORMAT(ch.create_time_,'%Y-%m')=DATE_FORMAT(#{createTime}, '%Y-%m')
+			</if>
+		</where>
+		    ) h
 	</select>
 	<select id="findExtraExercilsesHomeworks" resultMap="ExtracurricularExercisesHomeworkListDto">
 		SELECT * FROM (
 		SELECT id_, create_time_,'EXERCISES' type_
 		FROM extracurricular_exercises
-		WHERE teacher_id_ = #{teacherId} AND DATE_FORMAT(create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')
+		<where>
+			<if test="teacherId!=null">
+				AND teacher_id_ = #{teacherId}
+			</if>
+			<if test="createTime!=null">
+				AND DATE_FORMAT(create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')
+			</if>
+		</where>
 		UNION ALL
 		SELECT ch.id_,ch.create_time_,'HOMEWORK' type_ FROM course_homework ch
 		LEFT JOIN course_schedule_teacher_salary csts ON ch.course_schedule_id_ = csts.course_schedule_id_ AND csts.teacher_role_ = 'BISHOP'
-		WHERE csts.user_id_ = #{teacherId} AND DATE_FORMAT(ch.create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')) h
+		<where>
+			<if test="teacherId!=null">
+				AND csts.user_id_ = #{teacherId}
+			</if>
+			<if test="classGroupId!=null">
+				AND ch.class_group_id_=#{classGroupId}
+			</if>
+			<if test="createTime!=null">
+				AND DATE_FORMAT(ch.create_time_,'%Y-%m')=DATE_FORMAT(#{createTime}, '%Y-%m')
+			</if>
+		</where>) h
 		ORDER BY h.create_time_ DESC
 		<include refid="global.limit"/>
 	</select>
+	<select id="findByIdList" resultMap="com.ym.mec.biz.dal.dao.CourseHomeworkDao.teacherHomeworkListDto">
+		SELECT id_,title_,content_,completed_num_,expect_num_,music_score_id_,expire_date_,DATE_FORMAT(create_time_,'%Y-%m-%d') 'day_'
+		FROM extracurricular_exercises WHERE id_ IN
+		<foreach collection="exercisesIdList" separator="," item="item" open="(" close=")">
+			#{item}
+		</foreach>
+	</select>
 </mapper>