Sfoglia il codice sorgente

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 anni fa
parent
commit
ef3fdd098b

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleReviewDao.java

@@ -3,6 +3,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.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -38,4 +39,15 @@ public interface CourseScheduleReviewDao extends BaseDAO<Integer, CourseSchedule
      * @return
      */
     Integer countPracticeGroupReviews4Edu(Map<String, Object> params);
-}
+
+    /**
+     * @describe 根据学生和课程获取评论
+     * @author Joburgess
+     * @date 2020/3/13
+     * @param courseScheduleId:
+     * @param studentId:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleReview>
+     */
+    CourseScheduleReview findByCourseScheduleAndStudent(@Param("courseScheduleId") Long courseScheduleId,
+                                                    @Param("studentId") Integer studentId);
+}

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

@@ -140,6 +140,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public CourseScheduleReview addPracticeGroupReview(CourseScheduleReview courseScheduleReview) {
         Integer courseScheduleId = courseScheduleReview.getCourseScheduleId();
         if (courseScheduleId == null || courseScheduleId <= 0) {
@@ -165,6 +166,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         if(StringUtils.isNotBlank(courseScheduleReview.getHomeWork())){
             //新增课堂作业
             CourseHomework courseHomework=new CourseHomework();
+            courseHomework.setContent(courseScheduleReview.getHomeWork());
             courseHomework.setCourseScheduleId(courseSchedule.getId());
             courseHomework.setMusicGroupId(courseSchedule.getMusicGroupId());
             courseHomework.setGroupType(courseSchedule.getGroupType());
@@ -228,6 +230,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public CourseScheduleReview updateReview(CourseScheduleReview courseScheduleReview) {
         if (courseScheduleReview.getId() == null || courseScheduleReview.getId() <= 0) {
             throw new BizException("评论id为空");
@@ -239,8 +242,40 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         courseScheduleReviewDao.update(courseScheduleReview);
 
         if(StringUtils.isNotBlank(courseScheduleReview.getHomeWork())){
-            CourseHomework homework = courseHomeworkDao.findByCourseSchedule(courseScheduleReview.getCourseScheduleId().longValue());
-            if(!homework.getContent().equals(courseScheduleReview.getHomeWork())){
+            Date date=new Date();
+            CourseSchedule courseSchedule = courseScheduleDao.get(review.getCourseScheduleId().longValue());
+            CourseHomework homework = courseHomeworkDao.findByCourseSchedule(review.getCourseScheduleId().longValue());
+            if(Objects.isNull(homework)){
+                if(StringUtils.isNotBlank(courseScheduleReview.getHomeWork())){
+                    //新增课堂作业
+                    CourseHomework courseHomework=new CourseHomework();
+                    courseHomework.setContent(courseScheduleReview.getHomeWork());
+                    courseHomework.setCourseScheduleId(courseSchedule.getId());
+                    courseHomework.setMusicGroupId(courseSchedule.getMusicGroupId());
+                    courseHomework.setGroupType(courseSchedule.getGroupType());
+                    courseHomework.setClassGroupId(courseSchedule.getClassGroupId());
+                    courseHomework.setExpiryDate(DateUtil.addDays(date,7));
+                    List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseSchedule.getId());
+
+                    courseHomework.setExpectNum(CollectionUtils.isEmpty(courseScheduleStudentPayments)?0:courseScheduleStudentPayments.size());
+                    courseHomeworkService.insert(courseHomework);
+
+                    if(!CollectionUtils.isEmpty(courseScheduleStudentPayments)){
+                        List<StudentCourseHomework> studentCourseHomeworks=new ArrayList<>();
+                        for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
+                            StudentCourseHomework studentCourseHomework=new StudentCourseHomework();
+                            studentCourseHomework.setCourseHomeworkId(courseHomework.getId());
+                            studentCourseHomework.setUserId(courseScheduleStudentPayment.getUserId());
+                            studentCourseHomework.setCourseScheduleId(courseSchedule.getId());
+                            studentCourseHomework.setStatus(YesOrNoEnum.NO);
+                            studentCourseHomework.setIsView(YesOrNoEnum.NO);
+                            studentCourseHomework.setIsReplied(YesOrNoEnum.NO);
+                            studentCourseHomeworks.add(studentCourseHomework);
+                        }
+                        studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
+                    }
+                }
+            }else if(Objects.isNull(homework.getContent())||!homework.getContent().equals(courseScheduleReview.getHomeWork())){
                 homework.setContent(courseScheduleReview.getHomeWork());
                 courseHomeworkDao.update(homework);
             }

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -4,10 +4,12 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
 import com.ym.mec.biz.dal.dao.CourseScheduleDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleReviewDao;
 import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
 import com.ym.mec.biz.dal.dto.CourseHomeworkStudentDetailDto;
 import com.ym.mec.biz.dal.entity.CourseHomework;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.CourseScheduleReview;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
@@ -21,7 +23,6 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
-
 import com.ym.mec.util.collection.MapUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -45,6 +46,8 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 
 	@Autowired
 	private SysMessageService sysMessageService;
+	@Autowired
+	private CourseScheduleReviewDao courseScheduleReviewDao;
 
 	@Override
 	public BaseDAO<Long, StudentCourseHomework> getDAO() {
@@ -85,6 +88,15 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 		courseHomework.setGroupType(courseSchedule.getGroupType());
 		courseHomework.setCompletedNum(studentCourseHomeworkDao.countCompletedStudentNum(bean.getCourseHomeworkId()));
 
+		CourseHomework temp = courseHomeworkService.get(courseHomework.getId());
+		if(temp.getExpectNum().equals(courseHomework.getCompletedNum())){
+			CourseScheduleReview review = courseScheduleReviewDao.findByCourseScheduleAndStudent(bean.getCourseScheduleId(),bean.getUserId());
+			if(Objects.nonNull(review)){
+				review.setHandHomework(YesOrNoEnum.YES.getCode());
+			}
+			courseScheduleReviewDao.update(review);
+		}
+
 		return courseHomeworkService.update(courseHomework);
 	}
 

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

@@ -246,6 +246,7 @@
         LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
         <include refid="practiceGroupReviews4EduQueryCondition"/>
     </select>
-
-
-</mapper>
+    <select id="findByCourseScheduleAndStudent" resultMap="CourseScheduleReview">
+        SELECT * FROM course_schedule_review WHERE course_schedule_id_=#{courseScheduleId} AND student_id_=#{studentId}
+    </select>
+</mapper>

+ 5 - 17
mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseReviewController.java

@@ -2,32 +2,20 @@ 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.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.EmployeeDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
 import com.ym.mec.biz.dal.entity.CourseScheduleReview;
-import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.page.CourseReviewQueryInfo;
-import com.ym.mec.biz.dal.page.PracticeGroupQueryInfo;
 import com.ym.mec.biz.service.CourseReviewService;
-import com.ym.mec.biz.service.CourseScheduleEvaluateService;
-import com.ym.mec.biz.service.CourseScheduleService;
-import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
+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 java.util.Arrays;
-import java.util.Date;
-import java.util.List;
 import java.util.Objects;
 
 @RequestMapping("courseReview")
@@ -78,7 +66,7 @@ public class CourseReviewController extends BaseController {
     }
 
     @ApiOperation(value = "修改评论信息")
-    @GetMapping("updateReviewInfo")
+    @PostMapping("updateReviewInfo")
     public HttpResponseResult updateReviewInfo(CourseScheduleReview courseScheduleReview) {
         return succeed(courseReviewService.updateReview(courseScheduleReview));
     }