浏览代码

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父节点
当前提交
124be8b709

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

@@ -50,4 +50,10 @@ public interface CourseScheduleComplaintsDao extends BaseDAO<Long, CourseSchedul
      * @return
      */
     List<CourseScheduleComplaints> findByCourseIdAndUserId(@Param("courseIds") List<Long> courseIds, @Param("userId") Integer userId);
+
+    /**
+     * 根据课程id获取用户评价
+     * @return
+     */
+    List<CourseScheduleComplaints> findComplaintsByCourseScheduleIds(@Param("ids") List<Long> ids);
 }

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

@@ -93,6 +93,9 @@ public class CourseReviewDto {
     @ApiModelProperty(value = "回访日期",required = false)
     private Date createTime;
 
+    @ApiModelProperty(value = "更新时间",required = false)
+    private Date updateTime;
+
     @ApiModelProperty(value = "回访日期Str",required = false)
     private String createTimeStr;
 
@@ -390,4 +393,12 @@ public class CourseReviewDto {
     public void setMusicTheoryStr(String musicTheoryStr) {
         this.musicTheoryStr = musicTheoryStr;
     }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
 }

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

@@ -377,8 +377,8 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         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);
+            courseReviewsMap = reviews.stream().collect(Collectors.groupingBy(CourseScheduleReview::getCourseScheduleId));
+            List<CourseScheduleComplaints> studentReviewsList = courseScheduleComplaintsDao.findComplaintsByCourseScheduleIds(courseIds);
             courseComplaintsMap = studentReviewsList.stream().collect(Collectors.groupingBy(CourseScheduleComplaints::getCourseScheduleId));
         }
         for (CourseReviewDto course : coursesList) {

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

@@ -132,4 +132,10 @@
 		</foreach>
 		AND user_id_ = #{userId}
 	</select>
+	<select id="findComplaintsByCourseScheduleIds" resultMap="CourseScheduleComplaints">
+		SELECT * FROM course_schedule_complaints WHERE course_schedule_id_ IN
+		<foreach collection="ids" item="id" open="(" close=")" separator=",">
+			#{id}
+		</foreach>
+	</select>
 </mapper>

+ 39 - 22
mec-biz/src/main/resources/config/mybatis/CourseScheduleEvaluateMapper.xml

@@ -28,13 +28,17 @@
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleEvaluate" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
         INSERT INTO course_schedule_evaluate (music_group_id_, class_group_id_, course_schedule_id_, music_theory_,
-                                              song_,times_,total_minutes_,
-                                              teaching_material_, teacher_id_, item_, comment_, create_time_,update_time_,
+                                              song_, times_, total_minutes_,
+                                              teaching_material_, teacher_id_, item_, comment_, create_time_,
+                                              update_time_,
                                               student_id_list_, version_, status_)
         values (#{musicGroupId,jdbcType=VARCHAR}, #{classGroupId,jdbcType=INTEGER}, #{courseScheduleId,jdbcType=BIGINT},
-                #{musicTheory,jdbcType=VARCHAR}, #{song,jdbcType=VARCHAR},#{times,jdbcType=INTEGER},#{totalMinutes},#{teachingMaterial,jdbcType=VARCHAR},
-                #{teacherId,jdbcType=INTEGER}, #{item,jdbcType=VARCHAR}, #{comment,jdbcType=LONGVARCHAR}, #{createTime,jdbcType=TIMESTAMP},
-                #{updateTime,jdbcType=TIMESTAMP},#{studentIdList}, #{version,jdbcType=INTEGER}, #{status,jdbcType=TINYINT})
+                #{musicTheory,jdbcType=VARCHAR}, #{song,jdbcType=VARCHAR}, #{times,jdbcType=INTEGER}, #{totalMinutes},
+                #{teachingMaterial,jdbcType=VARCHAR},
+                #{teacherId,jdbcType=INTEGER}, #{item,jdbcType=VARCHAR}, #{comment,jdbcType=LONGVARCHAR},
+                #{createTime,jdbcType=TIMESTAMP},
+                #{updateTime,jdbcType=TIMESTAMP}, #{studentIdList}, #{version,jdbcType=INTEGER},
+                #{status,jdbcType=TINYINT})
     </insert>
 
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleEvaluate">
@@ -90,7 +94,9 @@
     </update>
 
     <select id="get" resultMap="CourseScheduleEvaluate">
-        SELECT * FROM course_schedule_evaluate WHERE id_ = #{id}
+        SELECT *
+        FROM course_schedule_evaluate
+        WHERE id_ = #{id}
     </select>
 
     <select id="findByClassGroupId" resultMap="CourseScheduleEvaluate">
@@ -98,7 +104,9 @@
         FROM course_schedule_evaluate cse
                  LEFT JOIN practice_group pg ON pg.id_ = cse.music_group_id_
                  LEFT JOIN subject s on s.id_ = pg.subject_id_
-        WHERE cse.class_group_id_ = #{classGroupId} AND status_=1 AND version_=1
+        WHERE cse.class_group_id_ = #{classGroupId}
+          AND status_ = 1
+          AND version_ = 1
         ORDER BY create_time_ DESC
         LIMIT 1
     </select>
@@ -133,13 +141,12 @@
 
     <!-- 已购买人数 -->
     <select id="getPracticeGroupsBuy" resultMap="PracticeGroupsOrgan">
-        SELECT pg.organ_id_, count(*) buy_nums_
-        FROM class_group cg
-                 LEFT JOIN practice_group pg on cg.music_group_id_ = pg.id_
-        WHERE cg.group_type_ = 'PRACTICE'
-          AND pg.buy_months_ >= 1
-          AND pg.group_status_ != 'LOCK'
-        GROUP BY pg.organ_id_,pg.student_id_
+        SELECT organ_id_, count(distinct student_id_) buy_nums_
+        FROM practice_group
+        WHERE group_status_ != 'LOCK'
+          AND group_status_ != 'CANCEL'
+          AND buy_months_ >= 1
+        GROUP BY organ_id_
     </select>
 
     <!-- 报告完成数 -->
@@ -178,7 +185,8 @@
     <select id="findExpiredDateBeforeReport" resultMap="CourseScheduleEvaluate">
         SELECT *
         FROM course_schedule_evaluate
-        WHERE status_ = 1 AND create_time_ &lt;= #{expiredDate}
+        WHERE status_ = 1
+          AND create_time_ &lt;= #{expiredDate}
           AND (is_pushed_ = 0 OR is_pushed_ IS NULL)
     </select>
 
@@ -208,7 +216,8 @@
     </select>
 
     <select id="getNeedPostReports" resultMap="CourseScheduleEvaluate">
-        SELECT cse.id_,cse.class_group_id_,DATE_FORMAT(cse.create_time_,'%Y年%m月') month_,pg.name_ group_name_,cse.teacher_id_ FROM course_schedule_evaluate cse
+        SELECT cse.id_,cse.class_group_id_,DATE_FORMAT(cse.create_time_,'%Y年%m月') month_,pg.name_
+        group_name_,cse.teacher_id_ FROM course_schedule_evaluate cse
         LEFT JOIN practice_group pg on cse.music_group_id_ = pg.id_ WHERE status_= 0
         <if test="teacherId != null">
             AND cse.teacher_id_ = #{teacherId}
@@ -218,20 +227,28 @@
 
     <insert id="batchAdd" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         INSERT INTO course_schedule_evaluate (music_group_id_, class_group_id_, course_schedule_id_, music_theory_,
-        song_,teaching_material_, teacher_id_, item_, comment_, create_time_,update_time_,student_id_list_, version_, status_,
+        song_,teaching_material_, teacher_id_, item_, comment_, create_time_,update_time_,student_id_list_, version_,
+        status_,
         times_,total_minutes_)
         VALUE
         <foreach collection="list" item="evaluate" separator=",">
-            (#{evaluate.musicGroupId,jdbcType=VARCHAR}, #{evaluate.classGroupId,jdbcType=INTEGER}, #{evaluate.courseScheduleId,jdbcType=BIGINT},
-            #{evaluate.musicTheory,jdbcType=VARCHAR}, #{evaluate.song,jdbcType=VARCHAR}, #{evaluate.teachingMaterial,jdbcType=VARCHAR},
-            #{evaluate.teacherId,jdbcType=INTEGER}, #{evaluate.item,jdbcType=VARCHAR}, #{evaluate.comment,jdbcType=LONGVARCHAR}, #{evaluate.createTime,jdbcType=LONGVARCHAR},
-            #{evaluate.updateTime,jdbcType=LONGVARCHAR}, #{evaluate.studentIdList}, #{evaluate.version,jdbcType=INTEGER}, #{evaluate.status,jdbcType=TINYINT},
+            (#{evaluate.musicGroupId,jdbcType=VARCHAR}, #{evaluate.classGroupId,jdbcType=INTEGER},
+            #{evaluate.courseScheduleId,jdbcType=BIGINT},
+            #{evaluate.musicTheory,jdbcType=VARCHAR}, #{evaluate.song,jdbcType=VARCHAR},
+            #{evaluate.teachingMaterial,jdbcType=VARCHAR},
+            #{evaluate.teacherId,jdbcType=INTEGER}, #{evaluate.item,jdbcType=VARCHAR},
+            #{evaluate.comment,jdbcType=LONGVARCHAR}, #{evaluate.createTime,jdbcType=LONGVARCHAR},
+            #{evaluate.updateTime,jdbcType=LONGVARCHAR}, #{evaluate.studentIdList},
+            #{evaluate.version,jdbcType=INTEGER}, #{evaluate.status,jdbcType=TINYINT},
             #{evaluate.times,jdbcType=INTEGER},#{evaluate.totalMinutes,jdbcType=INTEGER})
         </foreach>
     </insert>
 
     <select id="getClassGroupCourseTimes" resultType="int">
-        SELECT COUNT(*) FROM course_schedule WHERE class_group_id_ = #{classGroupId} AND (del_flag_=0 OR del_flag_ IS NULL)
+        SELECT COUNT(*)
+        FROM course_schedule
+        WHERE class_group_id_ = #{classGroupId}
+          AND (del_flag_ = 0 OR del_flag_ IS NULL)
     </select>
 
     <select id="hasReportList" resultMap="CourseScheduleEvaluate">

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleReviewMapper.xml

@@ -150,6 +150,7 @@
         <result column="song_" property="song"/>
         <result column="memo_" property="memo"/>
         <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
         <result column="has_liaison_" property="hasLiaison"/>
         <result column="student_id_" property="studentId"/>
     </resultMap>
@@ -217,7 +218,7 @@
         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_,pg.student_id_,csr.teaching_material_,csr.pronunciation_,csr.tempo_,
-        csr.music_theory_,csr.song_,csr.memo_,csr.create_time_,csr.has_liaison_
+        csr.music_theory_,csr.song_,csr.memo_,csr.create_time_,csr.has_liaison_,csr.create_time_,csr.update_time_
         FROM course_schedule cs
         LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
         LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_

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

@@ -75,4 +75,11 @@ public class CourseReviewController extends BaseController {
         return succeed(courseReviewService.getReviewInfo(id));
     }
 
+    @ApiOperation(value = "获取老师评价和学生评价")
+    @GetMapping("getStuAndTeaReview")
+    @PreAuthorize("@pcs.hasPermissions('courseReview/getStuAndTeaReview')")
+    public HttpResponseResult getStuAndTeaReview(Long courseId) {
+        return succeed(courseReviewService.getStuAndTeaReview(courseId));
+    }
+
 }