Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
dc8c0f5807

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.CourseReviewDto;
 import com.ym.mec.biz.dal.entity.CourseScheduleReview;
+import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
@@ -75,4 +76,15 @@ public interface CourseScheduleReviewDao extends BaseDAO<Integer, CourseSchedule
      * @return
      */
     List<CourseReviewDto> findByClassGroupId(@Param("classGroupId") Long classGroupId);
+
+    /**
+     *
+     * 根据课程id获取老师评价
+     * @param courseScheduleId
+     * @return
+     */
+    List<CourseScheduleReview> findByCourseScheduleId(@Param("courseScheduleId") Long courseScheduleId);
+
+    void batchAdd(@Param("courseScheduleReviews") List<CourseScheduleReview> courseScheduleReviews);
+
 }

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

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.CourseScheduleReview;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.List;
+import java.util.Set;
 
 public class ReviewInfoDto {
 
@@ -16,6 +17,16 @@ public class ReviewInfoDto {
     @ApiModelProperty(value = "学生评价信息",required = false)
     private List<CourseScheduleComplaintsDto> CourseScheduleComplaints;
 
+    @ApiModelProperty(value = "老师评价信息列表",required = false)
+    private List<CourseScheduleReview> courseScheduleReviewList;
+
+    @ApiModelProperty(value = "老师已评价的学生",required = false)
+    private Set<Integer> review4StudentIds;
+
+    @ApiModelProperty(value = "教学内容",required = false)
+    private String teachingMaterial;
+
+
     public TeacherClassHeadInfo getTeacherClassHeadInfo() {
         return teacherClassHeadInfo;
     }
@@ -39,4 +50,28 @@ public class ReviewInfoDto {
     public void setCourseScheduleComplaints(List<CourseScheduleComplaintsDto> courseScheduleComplaints) {
         CourseScheduleComplaints = courseScheduleComplaints;
     }
+
+    public List<CourseScheduleReview> getCourseScheduleReviewList() {
+        return courseScheduleReviewList;
+    }
+
+    public void setCourseScheduleReviewList(List<CourseScheduleReview> courseScheduleReviewList) {
+        this.courseScheduleReviewList = courseScheduleReviewList;
+    }
+
+    public Set<Integer> getReview4StudentIds() {
+        return review4StudentIds;
+    }
+
+    public void setReview4StudentIds(Set<Integer> review4StudentIds) {
+        this.review4StudentIds = review4StudentIds;
+    }
+
+    public String getTeachingMaterial() {
+        return teachingMaterial;
+    }
+
+    public void setTeachingMaterial(String teachingMaterial) {
+        this.teachingMaterial = teachingMaterial;
+    }
 }

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleReview.java

@@ -112,6 +112,15 @@ public class CourseScheduleReview {
     @ApiModelProperty(value = "老师名字",required = false)
     private String teacherName;
 
+    @ApiModelProperty(value = "老师头像",required = false)
+    private String teacherAvatar;
+
+    @ApiModelProperty(value = "学生名字",required = false)
+    private String studentName;
+
+    @ApiModelProperty(value = "学生",required = false)
+    private String studentAvatar;
+
     public Integer getId() {
         return id;
     }
@@ -292,4 +301,28 @@ public class CourseScheduleReview {
     public void setHomeWork(String homeWork) {
         this.homeWork = homeWork;
     }
+
+    public String getStudentName() {
+        return studentName;
+    }
+
+    public void setStudentName(String studentName) {
+        this.studentName = studentName;
+    }
+
+    public String getTeacherAvatar() {
+        return teacherAvatar;
+    }
+
+    public void setTeacherAvatar(String teacherAvatar) {
+        this.teacherAvatar = teacherAvatar;
+    }
+
+    public String getStudentAvatar() {
+        return studentAvatar;
+    }
+
+    public void setStudentAvatar(String studentAvatar) {
+        this.studentAvatar = studentAvatar;
+    }
 }

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

@@ -68,4 +68,18 @@ public interface CourseReviewService extends BaseService<Integer, CourseSchedule
 	 */
 	List<CourseReviewDto> getClassOverCourse(Long classGroupId);
 
+	/**
+	 * 根据课程id获取老师和学生评价
+	 * @param courseId
+	 * @return
+	 */
+	ReviewInfoDto getStuAndTeaReview(Long courseId);
+
+	/**
+	 * 批量添加评价
+	 * @param courseScheduleReviewList
+	 * @return
+	 */
+	List<CourseScheduleReview> batchAdd(Integer teacherId, List<CourseScheduleReview> courseScheduleReviewList);
+
 }

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

@@ -386,4 +386,52 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         }
         return coursesList;
     }
+
+    @Override
+    public ReviewInfoDto getStuAndTeaReview(Long courseId) {
+        CourseSchedule courseSchedule = courseScheduleDao.get(courseId);
+        if (courseSchedule == null) {
+            throw new BizException("课程不存在");
+        }
+        //头部信息
+        TeacherClassHeadInfo teacherClassGroupInfo = getCourseInfoHead(courseId.intValue());
+        ReviewInfoDto reviewInfoDto = new ReviewInfoDto();
+        reviewInfoDto.setTeacherClassHeadInfo(teacherClassGroupInfo);
+        //学生评价
+        List<CourseScheduleComplaintsDto> CourseScheduleComplaints = courseScheduleComplaintsDao.findByCourseScheduleId(courseId);
+        if (CourseScheduleComplaints.size() > 0) {
+            reviewInfoDto.setCourseScheduleComplaints(CourseScheduleComplaints);
+        }
+        //老师评价
+        List<CourseScheduleReview> teacherReviews = courseScheduleReviewDao.findByCourseScheduleId(courseId);
+        if (teacherReviews.size() > 0) {
+            reviewInfoDto.setCourseScheduleReviewList(teacherReviews);
+            Set<Integer> review4StudentIds = teacherReviews.stream().map(CourseScheduleReview::getStudentId).collect(Collectors.toSet());
+            reviewInfoDto.setReview4StudentIds(review4StudentIds);
+            reviewInfoDto.setTeachingMaterial(teacherReviews.get(0).getTeachingMaterial());
+        }
+        return reviewInfoDto;
+    }
+
+    @Override
+    public List<CourseScheduleReview> batchAdd(Integer teacherId, List<CourseScheduleReview> courseScheduleReviewList) {
+        if (courseScheduleReviewList == null || courseScheduleReviewList.size() <= 0) {
+            throw new BizException("提交内容不能为空");
+        }
+        Integer courseScheduleId = courseScheduleReviewList.get(0).getCourseScheduleId();
+        if (courseScheduleId == null || courseScheduleId <= 0) {
+            throw new BizException("课程id不能为空");
+        }
+        CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue());
+        if (courseSchedule == null) {
+            throw new BizException("课程不存在,确保课程id正确");
+        }
+        for (CourseScheduleReview courseScheduleReview : courseScheduleReviewList) {
+            courseScheduleReview.setCourseScheduleId(courseSchedule.getId().intValue());
+            courseScheduleReview.setClassGroupId(courseSchedule.getClassGroupId());
+            courseScheduleReview.setTeacherId(teacherId);
+        }
+        courseScheduleReviewDao.batchAdd(courseScheduleReviewList);
+        return courseScheduleReviewList;
+    }
 }

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

@@ -22,6 +22,9 @@
         <result column="update_time_" jdbcType="DATE" property="updateTime"/>
         <result column="course_name_" jdbcType="VARCHAR" property="courseName"/>
         <result column="teacher_name_" jdbcType="VARCHAR" property="teacherName"/>
+        <result column="teacher_avatar_" jdbcType="VARCHAR" property="teacherAvatar"/>
+        <result column="student_name_" jdbcType="VARCHAR" property="studentName"/>
+        <result column="student_avatar_" jdbcType="VARCHAR" property="studentAvatar"/>
         <result column="class_date_" jdbcType="DATE" property="classDate"/>
     </resultMap>
 
@@ -52,6 +55,19 @@
         #{handHomework,jdbcType=TINYINT}, #{courseReview,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
         #{updateTime,jdbcType=TIMESTAMP})
     </insert>
+
+    <insert id="batchAdd" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+        INSERT INTO course_schedule_review (course_schedule_id_, class_group_id_, teacher_id_, student_id_,
+        teaching_material_,memo_, create_time_,update_time_)
+        VALUE
+        <foreach collection="courseScheduleReviews" item="courseScheduleReview" separator=",">
+            (#{courseScheduleReview.courseScheduleId,jdbcType=INTEGER},#{courseScheduleReview.classGroupId,jdbcType=INTEGER},
+            #{courseScheduleReview.classGroupId,jdbcType=INTEGER},#{courseScheduleReview.teacherId,jdbcType=INTEGER},#{courseScheduleReview.studentId,jdbcType=INTEGER},
+            #{courseScheduleReview.teachingMaterial,jdbcType=VARCHAR},
+            #{courseScheduleReview.memo,jdbcType=VARCHAR},NOW(),now())
+        </foreach>
+    </insert>
+
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleReview">
         <!--@mbg.generated-->
         update course_schedule_review
@@ -188,9 +204,11 @@
     </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_ course_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_
+        edu_teacher_name_,pg.buy_months_,csr.id_ review_id_, csc.score_
+        student_review_,csr.hand_homework_,csr.course_review_
         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_
@@ -283,7 +301,30 @@
     </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 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>
+
+    <select id="findByCourseScheduleId" resultMap="CourseScheduleReview">
+        SELECT csr.teacher_id_,
+               t.real_name_  teacher_name_,
+               t.avatar_     teacher_avatar_,
+               csr.student_id_,
+               stu.username_ student_name_,
+               stu.avatar_   student_avatar_,
+               csr.teaching_material_,
+               csr.memo_
+        FROM course_schedule_review csr
+                 LEFT JOIN sys_user t on csr.teacher_id_ = t.id_
+                 LEFT JOIN sys_user stu on csr.student_id_ = t.id_
+        WHERE csr.course_schedule_id_ = #{courseScheduleId}
     </select>
 </mapper>

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/config/ResourceServerConfig.java

@@ -32,7 +32,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 				.and()
 				.authorizeRequests()
 				.antMatchers("/v2/api-docs", "/code/*", "/teacher/queryStudentApply", "/teacher/querySubByMusicGroupId", "/studentRegistration/updateSubject",
-						"/studyReport/createEvaluate", "/teacherOrder/*").permitAll().anyRequest().authenticated().and().httpBasic();
+						"/studyReport/createEvaluate", "/teacherOrder/*","/courseReview/batchAdd").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 18 - 4
mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseReviewController.java

@@ -11,11 +11,9 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
 import java.util.Objects;
 
 @RequestMapping("courseReview")
@@ -77,4 +75,20 @@ public class CourseReviewController extends BaseController {
         return succeed(courseReviewService.getClassOverCourse(classGroupId));
     }
 
+    @ApiOperation(value = "获取老师评价和学生评价")
+    @GetMapping("getStuAndTeaReview")
+    public HttpResponseResult getStuAndTeaReview(Long courseId) {
+        return succeed(courseReviewService.getStuAndTeaReview(courseId));
+    }
+
+    @ApiOperation(value = "批量添加评价")
+    @PostMapping("batchAdd")
+    public HttpResponseResult batchAdd(@RequestBody List<CourseScheduleReview> courseScheduleReviews) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (Objects.isNull(sysUser)) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return succeed(courseReviewService.batchAdd(sysUser.getId(),courseScheduleReviews));
+    }
+
 }