| 
					
				 | 
			
			
				@@ -1,16 +1,19 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.yonge.cooleshow.biz.dal.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.metadata.IPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.auth.api.entity.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.dao.CourseScheduleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.dao.CourseScheduleRepliedDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.dao.CourseScheduleStudentPaymentDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.dto.search.MyCourseSearch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.CourseSchedule; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.CourseScheduleReplied; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.CourseScheduleStudentPayment; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.CourseRepliedService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.vo.MyRepliedVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,24 +59,21 @@ public class CourseRepliedServiceImpl extends ServiceImpl<CourseScheduleRepliedD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new RuntimeException("课程未开始无法评论"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //评论存在执行修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        QueryWrapper<CourseScheduleReplied> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        queryWrapper.eq("student_id_", replied.getStudentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        queryWrapper.eq("course_schedule_id_", replied.getCourseScheduleId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        queryWrapper.eq("course_group_id_", replied.getCourseGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        queryWrapper.eq("course_group_type_", CourseScheduleEnum.PRACTICE.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        CourseScheduleReplied scheduleReplied = repliedDao.selectOne(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (scheduleReplied != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            repliedDao.updateReplied(replied); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //当前用户为老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CourseSchedule courseSchedule = scheduleDao.selectById(scheduleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (courseSchedule != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Long teacherId = courseSchedule.getTeacherId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (userId == teacherId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                repliedDao.insert(replied); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (studentId == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    throw new RuntimeException("学生id不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                replied.setScore(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                replied.setStudentReplied(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!repliedIsNull(replied)){//评论已存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    repliedDao.updateReplied(replied); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                repliedDao.insertReplied(replied); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -84,10 +84,31 @@ public class CourseRepliedServiceImpl extends ServiceImpl<CourseScheduleRepliedD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         wrapper.eq("course_id_", scheduleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         wrapper.eq("course_type_", CourseScheduleEnum.PRACTICE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CourseScheduleStudentPayment payment = paymentDao.selectOne(wrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (payment == null || userId != studentId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (payment == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new RuntimeException("未购买该课无法评论"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        repliedDao.insert(replied); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        replied.setStudentId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        replied.setTeacherReplied(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!repliedIsNull(replied)){//评论已存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repliedDao.updateReplied(replied); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        repliedDao.insertReplied(replied); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @Description: 判断评论是否存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @Author: cy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @Date: 2022/4/13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public boolean repliedIsNull(CourseScheduleReplied replied) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QueryWrapper<CourseScheduleReplied> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWrapper.eq("student_id_", replied.getStudentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWrapper.eq("course_schedule_id_", replied.getCourseScheduleId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWrapper.eq("course_group_id_", replied.getCourseGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWrapper.eq("course_group_type_", CourseScheduleEnum.PRACTICE.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CourseScheduleReplied scheduleReplied = repliedDao.selectOne(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return scheduleReplied == null ? true : false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -105,4 +126,14 @@ public class CourseRepliedServiceImpl extends ServiceImpl<CourseScheduleRepliedD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return repliedDao.selectOne(wrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @Description: 首页-我收到的评价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @Author: cy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @Date: 2022/4/13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public IPage<MyRepliedVo> myReplied(IPage<MyRepliedVo> page, MyCourseSearch search) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return page.setRecords(repliedDao.myReplied(page, search)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |