ソースを参照

Merge remote-tracking branch 'origin/master'

周箭河 5 年 前
コミット
3b9b67c512

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleReviewDao.java

@@ -50,4 +50,13 @@ public interface CourseScheduleReviewDao extends BaseDAO<Integer, CourseSchedule
      */
     CourseScheduleReview findByCourseScheduleAndStudent(@Param("courseScheduleId") Long courseScheduleId,
                                                     @Param("studentId") Integer studentId);
+
+    /**
+     * @describe 获取课程的评价
+     * @author Joburgess
+     * @date 2020/3/13
+     * @param courseScheduleIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleReview>
+     */
+    List<CourseScheduleReview> findByCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 }

+ 16 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -124,6 +124,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     private GroupDao groupDao;
     @Autowired
     private TeacherDao teacherDao;
+    @Autowired
+	private CourseScheduleReviewDao courseScheduleReviewDao;
 
     private final Logger LOGGER = LoggerFactory
             .getLogger(this.getClass());
@@ -894,7 +896,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         List<Map<Long, Integer>> courseLeaveStudentNumMaps = studentAttendanceDao.countCourseLeaveStudentNumWithFourHoursAgo(allCourseScheduleIds, advanceLeaveHours);
         Map<Long,Long> courseLeaveStudentNumMap = MapUtil.convertIntegerMap((courseLeaveStudentNumMaps));
 
-        for (CourseScheduleDto courseScheduleDto : teacherCourseSchedulesWithDate) {
+		List<CourseScheduleReview> AllCourseScheduleReviews = courseScheduleReviewDao.findByCourseSchedules(allCourseScheduleIds);
+		Map<Integer, List<CourseScheduleReview>> idCourseReview=new HashMap<>();
+		if(!CollectionUtils.isEmpty(AllCourseScheduleReviews)){
+			idCourseReview=AllCourseScheduleReviews.stream().collect(Collectors.groupingBy(CourseScheduleReview::getCourseScheduleId));
+		}
+
+		for (CourseScheduleDto courseScheduleDto : teacherCourseSchedulesWithDate) {
             Long studentNum = studentNumCourseMap.get(courseScheduleDto.getId());
             if (Objects.nonNull(studentNum)) {
                 courseScheduleDto.setStudentAttendanceIsFirstTime(studentNum > 0 ? 0 : 1);
@@ -925,7 +933,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             if(Objects.nonNull(leaveStudentNum)&&Objects.nonNull(normalStudentNum)&&leaveStudentNum.intValue()==normalStudentNum.intValue()){
                 courseScheduleDto.setEnableAdjustInToday(1);
             }
-        }
+			List<CourseScheduleReview> courseScheduleReviews = idCourseReview.get(courseScheduleDto.getId().intValue());
+            if(!CollectionUtils.isEmpty(courseScheduleReviews)){
+				courseScheduleDto.setComplaintStatus(1);
+			}else{
+            	courseScheduleDto.setComplaintStatus(0);
+			}
+		}
         return teacherCourseSchedulesWithDate;
     }
 

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleReviewMapper.xml

@@ -249,4 +249,10 @@
     <select id="findByCourseScheduleAndStudent" resultMap="CourseScheduleReview">
         SELECT * FROM course_schedule_review WHERE course_schedule_id_=#{courseScheduleId} AND student_id_=#{studentId}
     </select>
+    <select id="findByCourseSchedules" resultMap="CourseScheduleReview">
+        SELECT * FROM course_schedule_review WHERE course_schedule_id_ IN
+        <foreach collection="courseScheduleIds" item="courseScheduleId" separator="," open="(" close=")">
+            #{courseScheduleId}
+        </foreach>
+    </select>
 </mapper>