Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
5a473a9902

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

@@ -492,6 +492,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     List<CourseSchedule> queryFinishedWithNoUpdateStatus();
+    
+    /**
+     * 查询进行中未更新状态的课程列表
+     *
+     * @return
+     */
+    List<CourseSchedule> queryUnderwayWithNoUpdateStatus();
 
     int batchUpdate(List<CourseSchedule> courseScheduleList);
 

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseReviewService.java

@@ -82,4 +82,11 @@ public interface CourseReviewService extends BaseService<Integer, CourseSchedule
 	 */
 	List<CourseScheduleReview> batchAdd(Integer teacherId, List<CourseScheduleReview> courseScheduleReviewList);
 
+	/**
+	 * 根据课程id获取老师和学生对应评价
+	 * @param courseId
+	 * @return
+	 */
+	ReviewInfoDto getStuAndTeaReviewInfo(Long courseId,Integer userId);
+
 }

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

@@ -321,6 +321,12 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	boolean updateCourseScheduleToOverStatus();
 
 	/**
+	 * 更新课程至进行中状态
+	 * @return
+	 */
+	boolean updateCourseScheduleToUnderway();
+
+	/**
 	 * @describe 获取老师指定班级的排课
 	 * @author Joburgess
 	 * @date 2019/10/18

+ 35 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java

@@ -252,14 +252,14 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
             throw new BizException("评价不存在");
         }
         CourseHomework homework = courseHomeworkDao.findByCourseSchedule(courseScheduleReview.getCourseScheduleId().longValue());
-        if(homework != null){
-        	courseScheduleReview.setHomeWork(homework.getContent());
+        if (homework != null) {
+            courseScheduleReview.setHomeWork(homework.getContent());
         }
         TeacherClassHeadInfo teacherClassGroupInfo = getCourseInfoHead(courseScheduleReview.getCourseScheduleId());
         courseScheduleReview.setTeacherName(teacherClassGroupInfo.getBishopTeacher());
 
         CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleReview.getCourseScheduleId().longValue());
-        if(courseSchedule.getGroupType().equals(GroupType.PRACTICE)){
+        if (courseSchedule.getGroupType().equals(GroupType.PRACTICE)) {
             PracticeCourseDto practiceGroup = practiceGroupDao.findByGroupId(Integer.parseInt(courseSchedule.getMusicGroupId()));
             courseScheduleReview.setEduTeacherName(practiceGroup.getEduTeacherName());
         }
@@ -456,4 +456,36 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         }
         return courseScheduleReviewList;
     }
+
+    @Override
+    public ReviewInfoDto getStuAndTeaReviewInfo(Long courseId, Integer userId) {
+        CourseScheduleReview courseScheduleReview = courseScheduleReviewDao.findByCourseScheduleAndStudent(courseId, userId);
+        TeacherClassHeadInfo teacherClassGroupInfo = getCourseInfoHead(courseId.intValue());
+
+        ReviewInfoDto reviewInfoDto = new ReviewInfoDto();
+        reviewInfoDto.setTeacherClassHeadInfo(teacherClassGroupInfo);
+        if (courseScheduleReview == null) {
+            courseScheduleReview = new CourseScheduleReview();
+        }
+        CourseHomework homework = courseHomeworkDao.findByCourseSchedule(courseId);
+        if (homework != null) {
+            courseScheduleReview.setHomeWork(homework.getContent());
+        }
+        courseScheduleReview.setTeacherName(teacherClassGroupInfo.getBishopTeacher());
+        CourseSchedule courseSchedule = courseScheduleDao.get(courseId);
+        if (courseSchedule.getGroupType().equals(GroupType.PRACTICE)) {
+            PracticeCourseDto practiceGroup = practiceGroupDao.findByGroupId(Integer.parseInt(courseSchedule.getMusicGroupId()));
+            courseScheduleReview.setEduTeacherName(practiceGroup.getEduTeacherName());
+        }
+        reviewInfoDto.setCourseScheduleReview(courseScheduleReview);
+
+        //学生评价
+        CourseScheduleComplaintsDto courseScheduleComplaint = courseScheduleComplaintsDao.findByUserIdAndCourseId(userId.longValue(), courseId);
+        if (courseScheduleComplaint != null) {
+            List<CourseScheduleComplaintsDto> courseScheduleComplaints = new ArrayList<>();
+            courseScheduleComplaints.add(courseScheduleComplaint);
+            reviewInfoDto.setCourseScheduleComplaints(courseScheduleComplaints);
+        }
+        return reviewInfoDto;
+    }
 }

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3269,6 +3269,25 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     }
 
     @Override
+	public boolean updateCourseScheduleToUnderway() {
+    	Date date = new Date();
+    	List<CourseSchedule> list = courseScheduleDao.queryUnderwayWithNoUpdateStatus();
+
+        List<CourseSchedule> updateList = new ArrayList<CourseSchedule>();
+
+        for (CourseSchedule courseSchedule : list) {
+            courseSchedule.setStatus(CourseStatusEnum.OVER);
+            courseSchedule.setUpdateTime(date);
+            updateList.add(courseSchedule);
+        }
+
+        if (updateList.size() > 0) {
+            courseScheduleDao.batchUpdate(updateList);
+        }
+		return true;
+	}
+
+	@Override
     public PageInfo queryTeacherClassCourseSchedule(CourseScheduleQueryInfo queryInfo) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (null == user) {
@@ -4108,9 +4127,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		List<CourseScheduleRateDto> courseScheduleRateDtos = courseScheduleDao.findCourseRate(schedule.getMusicGroupId(),schedule.getGroupType().getCode());
 		//获取最近一次已结束的课程
 		CourseSchedule courseSchedule = courseScheduleDao.getLastEndCourse(schedule.getMusicGroupId(),schedule.getGroupType().getCode());
+		List<Long> courseScheduleIds = courseScheduleRateDtos.stream().map(CourseScheduleRateDto::getCourseScheduleId).collect(Collectors.toList());
+		List<CourseScheduleReview> courseReviews = courseScheduleReviewDao.findByCourseSchedules(courseScheduleIds);
+		Map<Integer, List<CourseScheduleReview>> reviews = courseReviews.stream().collect(Collectors.groupingBy(CourseScheduleReview::getCourseScheduleId));
+
 		//标记当前课程的上一节课
 		if(courseSchedule != null){
 			for (CourseScheduleRateDto e:courseScheduleRateDtos) {
+				if(reviews.containsKey(e.getCourseScheduleId().intValue())){
+					List<CourseScheduleReview> review = reviews.get(e.getCourseScheduleId().intValue());
+					e.setTeachingContent(review.get(0).getTeachingMaterial());
+				}
 				if(e.getCourseScheduleId().equals(courseSchedule.getId())){
 					e.setIsDefault(true);
 					break;

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

@@ -1144,6 +1144,13 @@
           and status_ != 'OVER'
     </select>
 
+    <select id="queryUnderwayWithNoUpdateStatus" resultMap="CourseSchedule">
+        select *
+        from course_schedule
+        where CONCAT(class_date_, ' ', start_class_time_) &lt;= now()
+          and status_ = 'NOT_START'
+    </select>
+
     <update id="batchUpdate" parameterType="java.util.List">
         <foreach collection="list" item="item" index="index" open="" close="" separator=";">
             UPDATE course_schedule

+ 11 - 0
mec-student/src/main/java/com/ym/mec/student/controller/CourseReviewController.java

@@ -12,6 +12,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -38,4 +39,14 @@ public class CourseReviewController extends BaseController {
         return succeed(courseReviewService.getReviewInfo(id));
     }
 
+    @ApiOperation(value = "获取老师评价和学生评价")
+    @GetMapping("getStuAndTeaReviewInfo")
+    public HttpResponseResult getStuAndTeaReviewInfo(Long courseScheduleId) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return succeed(courseReviewService.getStuAndTeaReviewInfo(courseScheduleId,sysUser.getId()));
+    }
+
 }

+ 1 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -90,6 +90,7 @@ public class TaskController extends BaseController {
 	// 更新课程状态至已结束
 	public void updateCourseScheduleToOverStatus() {
 		courseScheduleService.updateCourseScheduleToOverStatus();
+		courseScheduleService.updateCourseScheduleToUnderway();
 	}
 
 	@GetMapping("/updateVipGroupToFinishedStatus")