瀏覽代碼

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父節點
當前提交
d11dd0c47a

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

@@ -62,9 +62,17 @@ public interface CourseScheduleReviewDao extends BaseDAO<Integer, CourseSchedule
 
     /**
      * 获取学生课程评价
+     *
      * @param courseScheduleIds
      * @param studentId
      * @return
      */
     List<CourseScheduleReview> findByCourseSchedulesAndStudentId(@Param("courseScheduleIds") List<Long> courseScheduleIds, @Param("studentId") Integer studentId);
+
+    /**
+     * 获取已结束的课程列表
+     * @param classGroupId
+     * @return
+     */
+    List<CourseReviewDto> findByClassGroupId(@Param("classGroupId") Long classGroupId);
 }

+ 66 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseReviewDto.java

@@ -51,6 +51,24 @@ public class CourseReviewDto {
     @ApiModelProperty(value = "老师id",required = false)
     private Integer teacherId;
 
+    @ApiModelProperty(value = "上课时间",required = false)
+    private Date startClassTime;
+
+    @ApiModelProperty(value = "下课时间",required = false)
+    private Date endClassTime;
+
+    @ApiModelProperty(value = "课程上课日期str",required = false)
+    private String classDateStr;
+
+    @ApiModelProperty(value = "上课时间Str",required = false)
+    private String startClassTimeStr;
+
+    @ApiModelProperty(value = "下课时间Str",required = false)
+    private String endClassTimeStr;
+
+    @ApiModelProperty(value = "课时长度",required = false)
+    private Integer courseDuration;
+
     public Integer getOrganId() {
         return organId;
     }
@@ -170,4 +188,52 @@ public class CourseReviewDto {
     public void setTeacherId(Integer teacherId) {
         this.teacherId = teacherId;
     }
+
+    public Date getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(Date startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public Date getEndClassTime() {
+        return endClassTime;
+    }
+
+    public void setEndClassTime(Date endClassTime) {
+        this.endClassTime = endClassTime;
+    }
+
+    public String getClassDateStr() {
+        return classDateStr;
+    }
+
+    public void setClassDateStr(String classDateStr) {
+        this.classDateStr = classDateStr;
+    }
+
+    public String getStartClassTimeStr() {
+        return startClassTimeStr;
+    }
+
+    public void setStartClassTimeStr(String startClassTimeStr) {
+        this.startClassTimeStr = startClassTimeStr;
+    }
+
+    public String getEndClassTimeStr() {
+        return endClassTimeStr;
+    }
+
+    public void setEndClassTimeStr(String endClassTimeStr) {
+        this.endClassTimeStr = endClassTimeStr;
+    }
+
+    public Integer getCourseDuration() {
+        return courseDuration;
+    }
+
+    public void setCourseDuration(Integer courseDuration) {
+        this.courseDuration = courseDuration;
+    }
 }

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

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.page.CourseReviewQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.List;
 
 
 public interface CourseReviewService extends BaseService<Integer, CourseScheduleReview> {
@@ -60,4 +61,11 @@ public interface CourseReviewService extends BaseService<Integer, CourseSchedule
 	 */
 	void pushNeedReview2Teacher();
 
+	/**
+	 * 获取班级已结束的课程
+	 * @param classGroupId
+	 * @return
+	 */
+	List<CourseReviewDto> getClassOverCourse(Long classGroupId);
+
 }

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

@@ -353,4 +353,37 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
                 userMap, null, 0, "8?" + pushUrl, "TEACHER");
 
     }
+
+    @Override
+    public List<CourseReviewDto> getClassOverCourse(Long classGroupId) {
+        List<CourseReviewDto> coursesList = courseScheduleReviewDao.findByClassGroupId(classGroupId);
+
+        Map<Integer, List<CourseScheduleReview>> courseReviewsMap = new HashMap<>();
+        Map<Long, List<CourseScheduleComplaints>> courseComplaintsMap = new HashMap<>();
+        if (coursesList.size() > 0) {
+            List<Long> courseIds = coursesList.stream().map(courseReviewDto -> courseReviewDto.getId().longValue()).collect(Collectors.toList());
+            List<CourseScheduleReview> reviews = courseScheduleReviewDao.findByCourseSchedules(courseIds);
+            courseReviewsMap = reviews.stream().collect(Collectors.groupingBy(CourseScheduleReview::getId));
+            List<CourseScheduleComplaints> studentReviewsList = courseScheduleComplaintsDao.findByCourseScheduleIds(courseIds);
+            courseComplaintsMap = studentReviewsList.stream().collect(Collectors.groupingBy(CourseScheduleComplaints::getCourseScheduleId));
+        }
+        for (CourseReviewDto course : coursesList) {
+            if (courseReviewsMap.containsKey(course.getId())) {
+                List<CourseScheduleReview> reviews = courseReviewsMap.get(course.getId());
+                course.setReviewId(reviews.get(0).getId());
+            }
+            if (courseComplaintsMap.containsKey(course.getId().longValue())) {
+                List<CourseScheduleComplaints> courseScheduleComplaints = courseComplaintsMap.get(course.getId().longValue());
+                course.setStudentReview(courseScheduleComplaints.get(0).getScore().intValue());
+            }
+
+            Date startTime = DateUtil.stringToDate(course.getClassDateStr() + " " + course.getStartClassTimeStr());
+            Date endTime = DateUtil.stringToDate(course.getClassDateStr() + " " + course.getEndClassTimeStr());
+            int duration = DateUtil.minutesBetween(startTime, endTime);
+            course.setCourseDuration(duration);
+            course.setStartClassTimeStr(course.getStartClassTimeStr().substring(0, 5));
+            course.setEndClassTimeStr(course.getEndClassTimeStr().substring(0, 5));
+        }
+        return coursesList;
+    }
 }

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

@@ -20,7 +20,7 @@
         <result column="student_review_" jdbcType="TINYINT" property="studentReview"/>
         <result column="create_time_" jdbcType="DATE" property="createTime"/>
         <result column="update_time_" jdbcType="DATE" property="updateTime"/>
-        <result column="coursre_name_" jdbcType="VARCHAR" property="courseName"/>
+        <result column="course_name_" jdbcType="VARCHAR" property="courseName"/>
         <result column="teacher_name_" jdbcType="VARCHAR" property="teacherName"/>
         <result column="class_date_" jdbcType="DATE" property="classDate"/>
     </resultMap>
@@ -115,7 +115,7 @@
         <result column="subject_id_" jdbcType="INTEGER" property="subjectId"/>
         <result column="organ_id_" jdbcType="INTEGER" property="organId"/>
         <result column="class_date_" jdbcType="DATE" property="classDate"/>
-        <result column="coursre_name_" jdbcType="VARCHAR" property="courseName"/>
+        <result column="course_name_" jdbcType="VARCHAR" property="courseName"/>
         <result column="teacher_name_" jdbcType="VARCHAR" property="teacherName"/>
         <result column="edu_teacher_name_" jdbcType="VARCHAR" property="eduTeacherName"/>
         <result column="buy_months_" property="BuyMonths"/>
@@ -124,6 +124,12 @@
         <result column="hand_homework_" property="handHomework"/>
         <result column="course_review_" property="courseReview"/>
         <result column="teacher_id" property="teacherId"/>
+        <result column="start_class_time_" jdbcType="DATE" property="startClassTime"/>
+        <result column="end_class_time_" jdbcType="DATE" property="endClassTime"/>
+        <result column="class_date_Str_" jdbcType="VARCHAR" property="classDateStr"/>
+        <result column="start_class_time_Str_" jdbcType="VARCHAR" property="startClassTimeStr"/>
+        <result column="end_class_time_Str_" jdbcType="VARCHAR" property="endClassTimeStr"/>
+
     </resultMap>
 
     <sql id="practiceGroupReviewsQueryCondition">
@@ -182,7 +188,7 @@
     </sql>
 
     <select id="getPracticeGroupReviewList" resultMap="CourseReviewDto">
-        SELECT cs.id_,cs.actual_teacher_id_ teacher_id ,cs.class_date_, pg.subject_id_,pg.organ_id_,pg.name_ coursre_name_,su.real_name_
+        SELECT cs.id_,cs.actual_teacher_id_ teacher_id ,cs.class_date_, pg.subject_id_,pg.organ_id_,pg.name_ course_name_,su.real_name_
         teacher_name_,edsu.real_name_
         edu_teacher_name_,pg.buy_months_,csr.id_ review_id_, csc.score_ student_review_,csr.hand_homework_,csr.course_review_
         FROM course_schedule cs
@@ -237,7 +243,7 @@
     </sql>
 
     <select id="getPracticeGroupReview4EduList" resultMap="CourseScheduleReview">
-        SELECT csr.id_,cs.class_date_, pg.name_ coursre_name_,su.real_name_ teacher_name_,csr.hand_homework_
+        SELECT csr.id_,cs.class_date_, pg.name_ course_name_,su.real_name_ teacher_name_,csr.hand_homework_
         FROM course_schedule_review csr
         LEFT JOIN course_schedule cs on cs.id_ = csr.course_schedule_id_
         LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
@@ -275,4 +281,9 @@
         </foreach>
         AND student_id_ = #{studentId}
     </select>
+
+    <select id="findByClassGroupId" resultMap="CourseReviewDto">
+        SELECT id_,class_date_, name_ course_name_,class_date_ class_date_Str_,start_class_time_ start_class_time_Str_,end_class_time_ end_class_time_Str_ FROM course_schedule
+        WHERE class_group_id_ = #{classGroupId} AND status_ = 'OVER' ORDER BY class_date_ DESC
+    </select>
 </mapper>

+ 7 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseReviewController.java

@@ -70,4 +70,11 @@ public class CourseReviewController extends BaseController {
     public HttpResponseResult updateReviewInfo(CourseScheduleReview courseScheduleReview) {
         return succeed(courseReviewService.updateReview(courseScheduleReview));
     }
+
+    @ApiOperation(value = "获取班级结束课程评价情况")
+    @GetMapping("getClassOverCourse")
+    public HttpResponseResult getClassOverCourse(Long classGroupId) {
+        return succeed(courseReviewService.getClassOverCourse(classGroupId));
+    }
+
 }