Browse Source

学生课程列表接口修改

周箭河 5 years ago
parent
commit
564e96ea95

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

@@ -37,9 +37,17 @@ public interface CourseScheduleComplaintsDao extends BaseDAO<Long, CourseSchedul
 
     /**
      * 获取用户的评价
+     *
      * @param userId
      * @param courseScheduleId
      * @return
      */
     CourseScheduleComplaintsDto findByUserIdAndCourseId(@Param("userId") Long userId, @Param("courseScheduleId") Long courseScheduleId);
+
+    /**
+     * 获取用户多课程的评价
+     *
+     * @return
+     */
+    List<CourseScheduleComplaints> findByCourseIdAndUserId(@Param("courseIds") List<Long> courseIds, @Param("userId") Integer userId);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -64,6 +64,9 @@ public class CourseScheduleDto extends CourseSchedule {
     @ApiModelProperty(value = "老师评论id")
     private Integer reviewId;
 
+    @ApiModelProperty(value = "学生评论id")
+    private Long StudentReviewId;
+
     public List<StudentNameAndPhoneDto> getStudents() {
         return students;
     }
@@ -217,4 +220,12 @@ public class CourseScheduleDto extends CourseSchedule {
     public void setReviewId(Integer reviewId) {
         this.reviewId = reviewId;
     }
+
+    public Long getStudentReviewId() {
+        return StudentReviewId;
+    }
+
+    public void setStudentReviewId(Long studentReviewId) {
+        StudentReviewId = studentReviewId;
+    }
 }

+ 7 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -759,6 +759,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Map<Integer, String> subjectNameCourseMap = new HashMap<>();
         Map<Integer, String> subjectIdCourseMap = new HashMap<>();
         Map<Integer, Integer> reviewIdMap = new HashMap<>();
+        Map<Long, Long> StudentReviewIdMap = new HashMap<>();
 
         if (!CollectionUtils.isEmpty(courseScheduleIds)) {
             List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
@@ -767,6 +768,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             subjectIdCourseMap = MapUtil.convertMybatisMap(subjectIdCourseMaps);
 			List<CourseScheduleReview> reviews = courseScheduleReviewDao.findByCourseSchedulesAndStudentId(courseScheduleIds, user.getId());
 			reviewIdMap = reviews.stream().collect(Collectors.toMap(CourseScheduleReview::getCourseScheduleId, CourseScheduleReview::getId));
+			List<CourseScheduleComplaints> studentReviews = courseScheduleComplaintsDao.findByCourseIdAndUserId(courseScheduleIds, user.getId());
+			StudentReviewIdMap = studentReviews.stream().collect(Collectors.toMap(CourseScheduleComplaints::getCourseScheduleId, CourseScheduleComplaints::getId));
 		}
 
         for (CourseScheduleDto courseScheduleDto : studentCourseSchedulesWithDate) {
@@ -777,9 +780,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             } else {
                 courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
             }
-            courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
-            courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId()));
-			courseScheduleDto.setReviewId(reviewIdMap.get(courseScheduleDto.getId()));
+            courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId().intValue()));
+            courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId().intValue()));
+			courseScheduleDto.setReviewId(reviewIdMap.get(courseScheduleDto.getId().intValue()));
+			courseScheduleDto.setStudentReviewId(StudentReviewIdMap.get(courseScheduleDto.getId()));
         }
         result.put("list", studentCourseSchedulesWithDate);
         return result;

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleComplaintsMapper.xml

@@ -124,4 +124,12 @@
 		LEFT JOIN sys_user su on csc.user_id_ = su.id_
 		WHERE user_id_=#{userId} AND course_schedule_id_=#{courseScheduleId} LIMIT 1
 	</select>
+
+	<select id="findByCourseIdAndUserId" resultMap="CourseScheduleComplaints">
+		SELECT * FROM course_schedule_complaints WHERE course_schedule_id_ IN
+		<foreach collection="courseIds" item="courseId" open="(" close=")" separator=",">
+			#{courseId}
+		</foreach>
+		AND user_id_ = #{userId}
+	</select>
 </mapper>