Bladeren bron

学生课程列表接口修改

周箭河 5 jaren geleden
bovenliggende
commit
d4ea790a78

+ 12 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleComplaintsDao.java

@@ -10,27 +10,36 @@ import java.util.List;
 public interface CourseScheduleComplaintsDao extends BaseDAO<Long, CourseScheduleComplaints> {
 
     /**
+     * @return com.ym.mec.biz.dal.entity.CourseScheduleComplaints
      * @Author: Joburgess
      * @Date: 2019/10/8
      * @params [userId, courseScheduleId]
-     * @return com.ym.mec.biz.dal.entity.CourseScheduleComplaints
      * @describe 根据用户和课程获取申诉详情
      */
-    CourseScheduleComplaints findByUserAndCourse(@Param("userId") Long userId,@Param("courseScheduleId") Long courseScheduleId);
+    CourseScheduleComplaints findByUserAndCourse(@Param("userId") Long userId, @Param("courseScheduleId") Long courseScheduleId);
 
     /**
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleComplaints>
      * @Author: Joburgess
      * @Date: 2019/10/15
      * @params [ids]
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleComplaints>
      * @describe 根据课程编号批量获取投诉记录
      */
     List<CourseScheduleComplaints> findByCourseScheduleIds(@Param("ids") List<Long> ids);
 
     /**
      * 获取课程的学员评价
+     *
      * @param courseScheduleId
      * @return
      */
     List<CourseScheduleComplaintsDto> findByCourseScheduleId(Long courseScheduleId);
+
+    /**
+     * 获取用户的评价
+     * @param userId
+     * @param courseScheduleId
+     * @return
+     */
+    CourseScheduleComplaintsDto findByUserIdAndCourseId(@Param("userId") Long userId, @Param("courseScheduleId") Long courseScheduleId);
 }

+ 14 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleReviewDao.java

@@ -41,22 +41,30 @@ public interface CourseScheduleReviewDao extends BaseDAO<Integer, CourseSchedule
     Integer countPracticeGroupReviews4Edu(Map<String, Object> params);
 
     /**
-     * @describe 根据学生和课程获取评论
-     * @author Joburgess
-     * @date 2020/3/13
      * @param courseScheduleId:
      * @param studentId:
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleReview>
+     * @describe 根据学生和课程获取评论
+     * @author Joburgess
+     * @date 2020/3/13
      */
     CourseScheduleReview findByCourseScheduleAndStudent(@Param("courseScheduleId") Long courseScheduleId,
-                                                    @Param("studentId") Integer studentId);
+                                                        @Param("studentId") Integer studentId);
 
     /**
+     * @param courseScheduleIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleReview>
      * @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);
+
+    /**
+     * 获取学生课程评价
+     * @param courseScheduleIds
+     * @param studentId
+     * @return
+     */
+    List<CourseScheduleReview> findByCourseSchedulesAndStudentId(@Param("courseScheduleIds") List<Long> courseScheduleIds, @Param("studentId") Integer studentId);
 }

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ReviewInfoDto.java

@@ -3,6 +3,8 @@ package com.ym.mec.biz.dal.dto;
 import com.ym.mec.biz.dal.entity.CourseScheduleReview;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 public class ReviewInfoDto {
 
     @ApiModelProperty(value = "课程信息",required = false)
@@ -11,6 +13,9 @@ public class ReviewInfoDto {
     @ApiModelProperty(value = "老师评价信息",required = false)
     private CourseScheduleReview courseScheduleReview;
 
+    @ApiModelProperty(value = "学生评价信息",required = false)
+    private List<CourseScheduleComplaintsDto> CourseScheduleComplaints;
+
     public TeacherClassHeadInfo getTeacherClassHeadInfo() {
         return teacherClassHeadInfo;
     }
@@ -26,4 +31,12 @@ public class ReviewInfoDto {
     public void setCourseScheduleReview(CourseScheduleReview courseScheduleReview) {
         this.courseScheduleReview = courseScheduleReview;
     }
+
+    public List<CourseScheduleComplaintsDto> getCourseScheduleComplaints() {
+        return CourseScheduleComplaints;
+    }
+
+    public void setCourseScheduleComplaints(List<CourseScheduleComplaintsDto> courseScheduleComplaints) {
+        CourseScheduleComplaints = courseScheduleComplaints;
+    }
 }

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

@@ -81,6 +81,9 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
     @Autowired
     private CourseHomeworkDao courseHomeworkDao;
 
+    @Autowired
+    private CourseScheduleComplaintsDao courseScheduleComplaintsDao;
+
 
     @Override
     public BaseDAO<Integer, CourseScheduleReview> getDAO() {
@@ -207,10 +210,16 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         CourseHomework homework = courseHomeworkDao.findByCourseSchedule(courseScheduleReview.getCourseScheduleId().longValue());
         courseScheduleReview.setHomeWork(homework.getContent());
         TeacherClassHeadInfo teacherClassGroupInfo = getCourseInfoHead(courseScheduleReview.getCourseScheduleId());
+        courseScheduleReview.setTeacherName(teacherClassGroupInfo.getBishopTeacher());
+        //学生评价
+        CourseScheduleComplaintsDto courseScheduleComplaint = courseScheduleComplaintsDao.findByUserIdAndCourseId(courseScheduleReview.getStudentId().longValue(), courseScheduleReview.getCourseScheduleId().longValue());
+        ArrayList<CourseScheduleComplaintsDto> courseScheduleComplaints = new ArrayList<>();
+        courseScheduleComplaints.add(courseScheduleComplaint);
 
         ReviewInfoDto reviewInfoDto = new ReviewInfoDto();
         reviewInfoDto.setCourseScheduleReview(courseScheduleReview);
         reviewInfoDto.setTeacherClassHeadInfo(teacherClassGroupInfo);
+        reviewInfoDto.setCourseScheduleComplaints(courseScheduleComplaints);
         return reviewInfoDto;
     }
 

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

@@ -758,12 +758,16 @@ 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<>();
+
         if (!CollectionUtils.isEmpty(courseScheduleIds)) {
             List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
             List<Map<Integer, String>> subjectIdCourseMaps = subjectDao.findClassGroupSubjectId(courseScheduleIds);
             subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
             subjectIdCourseMap = MapUtil.convertMybatisMap(subjectIdCourseMaps);
-        }
+			List<CourseScheduleReview> reviews = courseScheduleReviewDao.findByCourseSchedulesAndStudentId(courseScheduleIds, user.getId());
+			reviewIdMap = reviews.stream().collect(Collectors.toMap(CourseScheduleReview::getCourseScheduleId, CourseScheduleReview::getId));
+		}
 
         for (CourseScheduleDto courseScheduleDto : studentCourseSchedulesWithDate) {
             if (now.before(courseScheduleDto.getStartClassTime())) {
@@ -775,6 +779,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             }
             courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
             courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId()));
+			courseScheduleDto.setReviewId(reviewIdMap.get(courseScheduleDto.getId()));
         }
         result.put("list", studentCourseSchedulesWithDate);
         return result;

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

@@ -118,4 +118,10 @@
 		LEFT JOIN sys_user su ON su.id_ = csc.user_id_
 		WHERE csc.course_schedule_id_ = #{courseScheduleId}
 	</select>
+
+	<select id="findByUserIdAndCourseId" resultMap="CourseScheduleComplaintsDtoMap">
+		SELECT su.username_,csc.reason_,csc.score_,su.avatar_ FROM course_schedule_complaints csc
+		LEFT JOIN sys_user su on csc.user_id_ = su.id_
+		WHERE user_id_=#{userId} AND course_schedule_id_=#{courseScheduleId} LIMIT 1
+	</select>
 </mapper>

+ 20 - 4
mec-biz/src/main/resources/config/mybatis/CourseScheduleReviewMapper.xml

@@ -26,7 +26,8 @@
     </resultMap>
 
     <select id="get" parameterType="java.lang.Integer" resultMap="CourseScheduleReview">
-        select * from course_schedule_review
+        select *
+        from course_schedule_review
         where id_ = #{id,jdbcType=INTEGER}
     </select>
 
@@ -126,7 +127,8 @@
 
     <sql id="practiceGroupReviewsQueryCondition">
         <where>
-            AND pg.id_ > 0 AND cs.group_type_='PRACTICE' AND cs.status_='OVER' AND (cs.del_flag_ = 0 OR cs.del_flag_ IS NULL)
+            AND pg.id_ > 0 AND cs.group_type_='PRACTICE' AND cs.status_='OVER' AND (cs.del_flag_ = 0 OR cs.del_flag_ IS
+            NULL)
             <if test="organId != null">
                 AND FIND_IN_SET(pg.organ_id_,#{organId})
             </if>
@@ -179,7 +181,8 @@
     </sql>
 
     <select id="getPracticeGroupReviewList" resultMap="CourseReviewDto">
-        SELECT cs.id_,cs.class_date_, pg.subject_id_,pg.organ_id_,pg.name_ coursre_name_,su.real_name_ teacher_name_,edsu.real_name_
+        SELECT cs.id_,cs.class_date_, pg.subject_id_,pg.organ_id_,pg.name_ coursre_name_,su.real_name_
+        teacher_name_,edsu.real_name_
         edu_teacher_name_,pg.buy_months_,csr.id_ review_id_, csr.student_review_,csr.hand_homework_,csr.course_review_
         FROM course_schedule cs
         LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
@@ -246,13 +249,26 @@
         LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
         <include refid="practiceGroupReviews4EduQueryCondition"/>
     </select>
+
     <select id="findByCourseScheduleAndStudent" resultMap="CourseScheduleReview">
-        SELECT * FROM course_schedule_review WHERE course_schedule_id_=#{courseScheduleId} AND student_id_=#{studentId}
+        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>
+
+    <select id="findByCourseSchedulesAndStudentId" resultMap="CourseScheduleReview">
+        SELECT * FROM course_schedule_review WHERE course_schedule_id_ IN
+        <foreach collection="courseScheduleIds" item="courseScheduleId" separator="," open="(" close=")">
+            #{courseScheduleId}
+        </foreach>
+        AND student_id_ = #{studentId}
+    </select>
 </mapper>