فهرست منبع

老师端评价增加VIP课

周箭河 5 سال پیش
والد
کامیت
cf74fccffa

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

@@ -107,5 +107,11 @@ public interface CourseReviewService extends BaseService<Integer, CourseSchedule
 	 */
 	CourseHomework addHomeWork(Integer courseScheduleId,String content, Date expiryDate);
 
+	/**
+	 * 获取网管课列表
+	 * @param queryInfo
+	 * @return
+	 */
+	PageInfo<CourseReviewDto> getVipCourseReviews(CourseReviewQueryInfo queryInfo);
 
 }

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

@@ -282,8 +282,12 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         ReviewInfoDto reviewInfoDto = new ReviewInfoDto();
         reviewInfoDto.setCourseScheduleReview(courseScheduleReview);
         reviewInfoDto.setTeacherClassHeadInfo(teacherClassGroupInfo);
+        Long studentId = null;
+        if(courseScheduleReview.getStudentId() != null){
+            studentId = courseScheduleReview.getStudentId().longValue();
+        }
         //学生评价
-        CourseScheduleComplaintsDto courseScheduleComplaint = courseScheduleComplaintsDao.findByUserIdAndCourseId(courseScheduleReview.getStudentId().longValue(), courseScheduleReview.getCourseScheduleId().longValue());
+        CourseScheduleComplaintsDto courseScheduleComplaint = courseScheduleComplaintsDao.findByUserIdAndCourseId(studentId, courseScheduleReview.getCourseScheduleId().longValue());
         if (courseScheduleComplaint != null) {
             List<CourseScheduleComplaintsDto> courseScheduleComplaints = new ArrayList<>();
             courseScheduleComplaints.add(courseScheduleComplaint);
@@ -603,4 +607,36 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 
         return courseHomework;
     }
+
+    @Override
+    public PageInfo<CourseReviewDto> getVipCourseReviews(CourseReviewQueryInfo queryInfo) {
+        PageInfo<CourseReviewDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<CourseReviewDto> dataList = null;
+        int count = courseScheduleReviewDao.countPracticeGroupReviews(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = courseScheduleReviewDao.getPracticeGroupReviewList(params);
+            if (dataList != null && dataList.size() > 0) {
+                List<Integer> subjectIds = dataList.stream().map(CourseReviewDto::getSubjectId).distinct().collect(Collectors.toList());
+                Set<Integer> organIds = dataList.stream().map(CourseReviewDto::getOrganId).collect(Collectors.toSet());
+                //声部名称列表
+                Map<Long, String> subjectNames = MapUtil.convertMybatisMap(subjectDao.findBySubjecIds(StringUtils.join(subjectIds, ",")));
+                Map<Integer, String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMapList(organIds));
+                dataList.forEach(e -> {
+                    e.setSubjectName(subjectNames.get(e.getSubjectId().intValue()));
+                    e.setOrganName(organNames.get(e.getOrganId()));
+                });
+            }
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+
+    }
 }

+ 20 - 12
mec-biz/src/main/resources/config/mybatis/CourseScheduleComplaintsMapper.xml

@@ -5,7 +5,7 @@
 不要修改此文件。所有改动将在下次重新自动生成时丢失。
 -->
 <mapper namespace="com.ym.mec.biz.dal.dao.CourseScheduleComplaintsDao">
-	
+
 	<resultMap type="com.ym.mec.biz.dal.entity.CourseScheduleComplaints" id="CourseScheduleComplaints">
 		<result column="id_" property="id" />
 		<result column="user_id_" property="userId" />
@@ -20,27 +20,27 @@
 		<result column="update_time_" property="updateTime" />
 		<result column="score_" property="score" />
 	</resultMap>
-	
+
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="CourseScheduleComplaints" >
-		SELECT * FROM course_schedule_complaints WHERE id_ = #{id} 
+		SELECT * FROM course_schedule_complaints WHERE id_ = #{id}
 	</select>
-	
+
 	<!-- 全查询 -->
 	<select id="findAll" resultMap="CourseScheduleComplaints">
 		SELECT * FROM course_schedule_complaints ORDER BY id_
 	</select>
-	
+
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleComplaints" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		<selectKey resultClass="int" keyProperty="id" >
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
 		</selectKey>
 		-->
 		INSERT INTO course_schedule_complaints (id_,user_id_,course_schedule_id_,reason_,status_,wf_process_id_,wf_order_id_,create_time_,update_time_,teacher_liability_ratio_,student_liability_ratio_,score_) VALUES(#{id},#{userId},#{courseScheduleId},#{reason},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{wfProcessId},#{wfOrderId},now(),now(),#{teacherLiabilityRatio},#{studentLiabilityRatio},#{score})
 	</insert>
-	
+
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleComplaints">
 		UPDATE course_schedule_complaints
@@ -80,10 +80,10 @@
 			</if>
 		</set> WHERE id_ = #{id}
 	</update>
-	
+
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
-		DELETE FROM course_schedule_complaints WHERE id_ = #{id} 
+		DELETE FROM course_schedule_complaints WHERE id_ = #{id}
 	</delete>
     <delete id="delByCourseScheduleId">
 		DELETE FROM course_schedule_complaints WHERE course_schedule_id_ = #{courseScheduleId}
@@ -99,7 +99,7 @@
 	<select id="queryPage" resultMap="CourseScheduleComplaints" parameterType="map">
 		SELECT * FROM course_schedule_complaints WHERE score_ &lt;= 2 ORDER BY id_ <include refid="global.limit"/>
 	</select>
-	
+
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM course_schedule_complaints
@@ -131,7 +131,15 @@
 	<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
+		<where>
+			<if test="userId != null">
+				user_id_=#{userId}
+			</if>
+			<if test="courseScheduleId != null">
+				AND course_schedule_id_=#{courseScheduleId}
+			</if>
+		</where>
+		LIMIT 1
 	</select>
 
 	<select id="findByCourseIdAndUserId" resultMap="CourseScheduleComplaints">

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

@@ -474,4 +474,35 @@
             </if>
         </where>
     </sql>
+
+    <select id="getVipCourseReviewList" resultMap="CourseReviewDto">
+        SELECT cs.id_,cs.actual_teacher_id_ teacher_id ,cs.class_date_, pg.subject_id_,vg.organ_id_,cs.name_
+        course_name_,su.real_name_ teacher_name_,edsu.real_name_
+        edu_teacher_name_,csr.id_ review_id_, csc.score_ student_review_,
+        csr.hand_homework_,csr.course_review_,csr.teaching_material_,csr.pronunciation_,csr.tempo_,
+        csr.music_theory_,csr.song_,csr.memo_,csr.create_time_,csr.has_liaison_,csr.update_time_,sa.id_
+        attendance_id_,sch.is_replied_ home_work_replied_,
+        CASE WHEN sch.id_ IS NULL THEN 0 ELSE 1 END assign_homework_,
+        FROM course_schedule cs
+        LEFT JOIN vip_group vg ON cs.music_group_id_ = vg.id_ AND cs.group_type_='VIP'
+        LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
+        LEFT JOIN sys_user edsu ON vg.educational_teacher_id_ = edsu.id_
+        LEFT JOIN course_schedule_review csr on cs.id_ = csr.course_schedule_id_
+        LEFT JOIN course_schedule_complaints csc on csc.course_schedule_id_ = cs.id_
+        LEFT JOIN student_attendance sa on sa.course_schedule_id_ = cs.id_
+        LEFT JOIN student_course_homework sch on cs.id_ = sch.course_schedule_id_
+        <include refid="practiceGroupReviewsQueryCondition"/>
+        ORDER BY cs.class_date_ DESC
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="countVipCourseReviews" resultType="java.lang.Integer">
+        SELECT count(*) FROM course_schedule cs
+        LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_ AND cs.group_type_='PRACTICE'
+        LEFT JOIN course_schedule_review csr on cs.id_ = csr.course_schedule_id_
+        LEFT JOIN course_schedule_complaints csc on csc.course_schedule_id_ = cs.id_
+        LEFT JOIN student_attendance sa on sa.course_schedule_id_ = cs.id_
+        LEFT JOIN student_course_homework sch on cs.id_ = sch.course_schedule_id_
+        <include refid="practiceGroupReviewsQueryCondition"/>
+    </select>
 </mapper>

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

@@ -82,7 +82,7 @@ public class CourseReviewController extends BaseController {
         return succeed(courseReviewService.getStuAndTeaReview(courseId));
     }
 
-    @ApiOperation(value = "网管课课程评论管理")
+    @ApiOperation(value = "VIP课课程评论管理")
     @GetMapping("getVipGroup")
     @PreAuthorize("@pcs.hasPermissions('courseReview/getVipGroup')")
     public Object getVipGroup(CourseReviewQueryInfo queryInfo) {
@@ -103,7 +103,7 @@ public class CourseReviewController extends BaseController {
                 }
             }
         }
-        return succeed(courseReviewService.findPracticeGroupReviews(queryInfo));
+        return succeed(courseReviewService.getVipCourseReviews(queryInfo));
     }
 
 }