Просмотр исходного кода

add 需提交报告列表接口

周箭河 5 лет назад
Родитель
Сommit
387a6c806b

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

@@ -50,9 +50,17 @@ public interface CourseScheduleEvaluateDao extends BaseDAO<Long, CourseScheduleE
 
     /**
      * 获取当前课程教师的评价列表
+     *
      * @param teacherId
      * @param courseScheduleId
      * @return
      */
     List<CourseScheduleEvaluate> findByCourseAndTeacher(@Param("teacherId") Integer teacherId, @Param("courseScheduleId") Long courseScheduleId);
+
+    /**
+     * 获取要提交的报告
+     * @param teacherId
+     * @return
+     */
+    List<CourseScheduleEvaluate> getNeedPostReports(@Param("teacherId") Integer teacherId);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleEvaluate.java

@@ -11,6 +11,9 @@ public class CourseScheduleEvaluate {
 
     private String musicGroupId;
 
+    @ApiModelProperty(value = "课程组名称")
+    private String groupName;
+
     @ApiModelProperty(value = "班级id")
     private Integer classGroupId;
 
@@ -64,6 +67,9 @@ public class CourseScheduleEvaluate {
     @ApiModelProperty(value = "报告提交或查看Url")
     private String reportLink;
 
+    @ApiModelProperty(value = "状态 1-已提交 0-未提交")
+    private Integer status;
+
     public String getStudentIdList() {
         return studentIdList;
     }
@@ -241,4 +247,20 @@ public class CourseScheduleEvaluate {
     public void setReportLink(String reportLink) {
         this.reportLink = reportLink;
     }
+
+    public String getGroupName() {
+        return groupName;
+    }
+
+    public void setGroupName(String groupName) {
+        this.groupName = groupName;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
 }

+ 9 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleEvaluateService.java

@@ -22,13 +22,20 @@ public interface CourseScheduleEvaluateService extends BaseService<Long, CourseS
      * @param groupId
      * @return
      */
-    List<CourseScheduleEvaluate> findByGroupId(@Param("groupId") Integer groupId);
+    List<CourseScheduleEvaluate> findByGroupId(Integer groupId);
 
     /**
      * 根据id获取报告
      *
      * @return
      */
-    CourseScheduleEvaluate findById(@Param("id") Integer id);
+    CourseScheduleEvaluate findById(Integer id);
+
+    /**
+     * 获取需评论的课程列表
+     * @param teacherId
+     * @return
+     */
+    List<CourseScheduleEvaluate> getNeedPostList(Integer teacherId);
 
 }

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

@@ -62,6 +62,7 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
             }
             courseScheduleEvaluate.setMusicGroupId(classGroup.getMusicGroupId());
             courseScheduleEvaluate.setCreateTime(new Date());
+            courseScheduleEvaluate.setStatus(1);
             long num = courseScheduleEvaluateDao.insert(courseScheduleEvaluate);
             if (num <= 0) {
                 throw new BizException("报告添加失败,请重试");
@@ -100,4 +101,9 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
     public CourseScheduleEvaluate findById(Integer id) {
         return courseScheduleEvaluateDao.findById(id);
     }
+
+    @Override
+    public List<CourseScheduleEvaluate> getNeedPostList(Integer teacherId) {
+        return courseScheduleEvaluateDao.getNeedPostReports(teacherId);
+    }
 }

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

@@ -18,20 +18,26 @@
         <result column="song_" jdbcType="VARCHAR" property="song"/>
         <result column="teaching_material_" jdbcType="VARCHAR" property="teachingMaterial"/>
         <result column="version_" jdbcType="INTEGER" property="version"/>
-		<result column="student_id_list_" jdbcType="VARCHAR" property="studentIdList"/>
+        <result column="student_id_list_" jdbcType="VARCHAR" property="studentIdList"/>
+        <result column="group_name_" jdbcType="VARCHAR" property="groupName"/>
+        <result column="status_" jdbcType="TINYINT" property="status"/>
     </resultMap>
     <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_,
-        teaching_material_,teacher_id_, item_, comment_,create_time_,student_id_list_,version_)
+        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_,
+                                              student_id_list_, version_, status_)
         values (#{musicGroupId,jdbcType=VARCHAR}, #{classGroupId,jdbcType=INTEGER}, #{courseScheduleId,jdbcType=BIGINT},
-                #{musicTheory,jdbcType=VARCHAR},#{song,jdbcType=VARCHAR},#{teachingMaterial,jdbcType=VARCHAR},#{teacherId,jdbcType=INTEGER},
-        #{item,jdbcType=VARCHAR}, #{comment,jdbcType=LONGVARCHAR},
-                NOW(),#{studentIdList},#{version,jdbcType=INTEGER})
+                #{musicTheory,jdbcType=VARCHAR}, #{song,jdbcType=VARCHAR}, #{teachingMaterial,jdbcType=VARCHAR},
+                #{teacherId,jdbcType=INTEGER}, #{item,jdbcType=VARCHAR}, #{comment,jdbcType=LONGVARCHAR}, NOW(),
+                #{studentIdList}, #{version,jdbcType=INTEGER}, #{status,jdbcType=TINYINT})
     </insert>
 
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleEvaluate">
-        update course_schedule_evaluate set is_pushed_=#{isPushed} where id_=#{id}
+        update course_schedule_evaluate
+        set is_pushed_=#{isPushed}
+        where id_ = #{id}
     </update>
 
     <select id="findByClassGroupId" resultMap="CourseScheduleEvaluate">
@@ -39,7 +45,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} ORDER BY create_time_ DESC LIMIT 1
+        WHERE cse.class_group_id_ = #{classGroupId}
+        ORDER BY create_time_ DESC
+        LIMIT 1
     </select>
 
     <select id="findByClassGroupIds" resultMap="CourseScheduleEvaluate">
@@ -91,7 +99,7 @@
 
     <!-- 已完成课程数统计 -->
     <select id="getOrganPracticeGroups" resultMap="PracticeGroupsOrgan">
-        SELECT COUNT(class_group_id_) buy_nums_,cg.total_class_times_ total_nums_, pg.organ_id_
+        SELECT COUNT(class_group_id_) buy_nums_, cg.total_class_times_ total_nums_, pg.organ_id_
         FROM course_schedule cs
                  LEFT JOIN class_group cg on cg.id_ = cs.class_group_id_
                  LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
@@ -105,35 +113,48 @@
 
     <!-- 成交金额 -->
     <select id="getOrganMoney" resultMap="PracticeGroupsOrgan">
-        SELECT SUM(actual_amount_) total_money_,organ_id_ FROM student_payment_order
-        WHERE group_type_='PRACTICE' AND status_='SUCCESS'
+        SELECT SUM(actual_amount_) total_money_, organ_id_
+        FROM student_payment_order
+        WHERE group_type_ = 'PRACTICE'
+          AND status_ = 'SUCCESS'
         GROUP BY organ_id_
     </select>
     <select id="findExpiredDateBeforeReport" resultMap="CourseScheduleEvaluate">
-      SELECT * FROM course_schedule_evaluate
-      WHERE create_time_ &lt;= #{expiredDate}
-      AND (is_pushed_ = 0 OR is_pushed_ IS NULL)
+        SELECT *
+        FROM course_schedule_evaluate
+        WHERE create_time_ &lt;= #{expiredDate}
+          AND (is_pushed_ = 0 OR is_pushed_ IS NULL)
     </select>
 
     <select id="findByGroupId" resultMap="CourseScheduleEvaluate">
-        SELECT id_,DATE_FORMAT(create_time_, '%Y年%m月') month_ FROM course_schedule_evaluate WHERE music_group_id_ = #{groupId}
+        SELECT id_, DATE_FORMAT(create_time_, '%Y年%m月') month_
+        FROM course_schedule_evaluate
+        WHERE music_group_id_ = #{groupId}
         ORDER BY create_time_ ASC
     </select>
 
     <select id="findById" resultMap="CourseScheduleEvaluate">
         SELECT cse.*, s.name_ subject_name_, pg.student_id_
         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_
+                 LEFT JOIN practice_group pg ON pg.id_ = cse.music_group_id_
+                 LEFT JOIN subject s on s.id_ = pg.subject_id_
         WHERE cse.id_ = #{id}
     </select>
 
     <select id="findByCourseAndTeacher" resultMap="CourseScheduleEvaluate">
-        SELECT * FROM course_schedule_evaluate cse
-        WHERE cse.teacher_id_ = #{teacherId} AND cse.course_schedule_id_ = #{courseScheduleId}
+        SELECT *
+        FROM course_schedule_evaluate cse
+        WHERE cse.teacher_id_ = #{teacherId}
+          AND cse.course_schedule_id_ = #{courseScheduleId}
     </select>
 
-<!--    <select id="getNeedReports" resultMap="CourseScheduleEvaluate">-->
-
-<!--    </select>-->
+    <select id="getNeedPostReports" resultMap="CourseScheduleEvaluate">
+        SELECT cse.id_,DATE_FORMAT(cse.create_time_,'%Y年%m月') month_,pg.name_ group_name_ 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}
+        </if>
+        ORDER BY cse.create_time_ ASC
+    </select>
 </mapper>

+ 56 - 40
mec-teacher/src/main/java/com/ym/mec/teacher/controller/StudyReportController.java

@@ -1,5 +1,7 @@
 package com.ym.mec.teacher.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
 import com.ym.mec.biz.service.CourseScheduleEvaluateService;
 import com.ym.mec.common.controller.BaseController;
@@ -7,56 +9,70 @@ import com.ym.mec.util.date.DateUtil;
 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.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 @RequestMapping("studyReport")
 @Api(tags = "陪练报告")
 @RestController
 public class StudyReportController extends BaseController {
 
-	@Autowired
-	private CourseScheduleEvaluateService courseScheduleEvaluateService;
-
-
-	@ApiOperation("获取学生陪练报告信息")
-	@GetMapping(value = "info")
-	public Object info(Integer classGroupId) {
-		return succeed(courseScheduleEvaluateService.getStudyReport(classGroupId));
-	}
-
-	@ApiOperation(value = "课程组评论列表")
-	@GetMapping("getGroupReviews")
-	public Object getGroupReviews(Integer groupId) {
-		List<CourseScheduleEvaluate> courseScheduleEvaluates = courseScheduleEvaluateService.findByGroupId(groupId);
-		boolean hasReport = false;
-		Date nowDate = new Date();
-		for (CourseScheduleEvaluate courseScheduleEvaluate : courseScheduleEvaluates) {
-			courseScheduleEvaluate.setTimes(2);
-			courseScheduleEvaluate.setTotalMinutes(100);
-			courseScheduleEvaluate.setReportLink("http://www.baidu.com");
-			if(DateUtil.format(courseScheduleEvaluate.getCreateTime(),"yyyy-MM").equals(DateUtil.format(nowDate,"yyyy-MM"))){
-				hasReport = true;
-			}
-		}
-		if(!hasReport){
-			CourseScheduleEvaluate courseScheduleEvaluate = new CourseScheduleEvaluate();
-			courseScheduleEvaluate.setReportLink("http://www.baidu.com");
-			courseScheduleEvaluate.setTimes(2);
-			courseScheduleEvaluate.setTotalMinutes(100);
-			courseScheduleEvaluate.setMonth(DateUtil.format(nowDate,"yyyy年MM月"));
-		}
-
-		return succeed(courseScheduleEvaluates);
-	}
-
-	@ApiOperation(value = "评论详情")
-	@GetMapping("getReviewsInfo")
-	public Object getReviewsInfo(Integer id) {
-		return succeed(courseScheduleEvaluateService.findById(id));
-	}
+    @Autowired
+    private CourseScheduleEvaluateService courseScheduleEvaluateService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+
+    @ApiOperation("获取学生陪练报告信息")
+    @GetMapping(value = "info")
+    public Object info(Integer classGroupId) {
+        return succeed(courseScheduleEvaluateService.getStudyReport(classGroupId));
+    }
+
+    @ApiOperation(value = "课程组评论列表")
+    @GetMapping("getGroupReviews")
+    public Object getGroupReviews(Integer groupId) {
+        List<CourseScheduleEvaluate> courseScheduleEvaluates = courseScheduleEvaluateService.findByGroupId(groupId);
+        boolean hasReport = false;
+        Date nowDate = new Date();
+        for (CourseScheduleEvaluate courseScheduleEvaluate : courseScheduleEvaluates) {
+            courseScheduleEvaluate.setTimes(2);
+            courseScheduleEvaluate.setTotalMinutes(100);
+            courseScheduleEvaluate.setReportLink("http://www.baidu.com");
+            if (DateUtil.format(courseScheduleEvaluate.getCreateTime(), "yyyy-MM").equals(DateUtil.format(nowDate, "yyyy-MM"))) {
+                hasReport = true;
+            }
+        }
+        if (!hasReport) {
+            CourseScheduleEvaluate courseScheduleEvaluate = new CourseScheduleEvaluate();
+            courseScheduleEvaluate.setReportLink("http://www.baidu.com");
+            courseScheduleEvaluate.setTimes(2);
+            courseScheduleEvaluate.setTotalMinutes(100);
+            courseScheduleEvaluate.setMonth(DateUtil.format(nowDate, "yyyy年MM月"));
+        }
+
+        return succeed(courseScheduleEvaluates);
+    }
+
+    @ApiOperation(value = "评论详情")
+    @GetMapping("getReviewsInfo")
+    public Object getReviewsInfo(Integer id) {
+        return succeed(courseScheduleEvaluateService.findById(id));
+    }
+
+    @ApiOperation(value = "获取需评论的课程列表")
+    @GetMapping("getNeedPost")
+    public Object getNeedPost() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (Objects.isNull(sysUser)) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return succeed(courseScheduleEvaluateService.getNeedPostList(sysUser.getId()));
+    }
 }