Quellcode durchsuchen

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

zouxuan vor 5 Jahren
Ursprung
Commit
01edbc942b

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

@@ -29,6 +29,6 @@ public interface CourseHomeworkDao extends BaseDAO<Long, CourseHomework> {
      * @return com.ym.mec.biz.dal.entity.CourseHomework
      */
     CourseHomework findByTeacherAndCourseHomewok(@Param("courseHomeworkId") Long courseHomeworkId,
-                                                 @Param("userId") Long userId);
+                                                 @Param("userId") Integer userId);
 
 }

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java

@@ -60,6 +60,11 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
      * @return com.ym.mec.biz.dal.entity.StudentCourseHomework
      */
     StudentCourseHomework findByStudentAndCourseHomewok(@Param("courseHomeworkId") Long courseHomeworkId,
-                                                        @Param("userId") Long userId);
+                                                        @Param("userId") Integer userId);
 	
+    /**
+     * 查询未完成的课程作业
+     * @return
+     */
+    List<StudentCourseHomework> queryNotDoneHomeworkList();
 }

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomework.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
+
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.util.Date;
@@ -34,8 +35,12 @@ public class CourseHomework {
 	/**  */
 	private String musicGroupId;
 	
+	private MusicGroup musicGroup = new MusicGroup();
+	
 	/**  */
 	private Integer classGroupId;
+	
+	private ClassGroup classGroup = new ClassGroup();
 
 	@ApiModelProperty(value = "作业完成人数",required = false)
 	private Integer completedNum;
@@ -131,6 +136,22 @@ public class CourseHomework {
 		return this.classGroupId;
 	}
 			
+	public MusicGroup getMusicGroup() {
+		return musicGroup;
+	}
+
+	public void setMusicGroup(MusicGroup musicGroup) {
+		this.musicGroup = musicGroup;
+	}
+
+	public ClassGroup getClassGroup() {
+		return classGroup;
+	}
+
+	public void setClassGroup(ClassGroup classGroup) {
+		this.classGroup = classGroup;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 13 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentCourseHomework.java

@@ -15,7 +15,7 @@ public class StudentCourseHomework {
 	private Long id;
 
 	@ApiModelProperty(value = "学生ID",required = false)
-	private Long userId;
+	private Integer userId;
 
 	@ApiModelProperty(value = "用户名")
 	private String userName;
@@ -26,6 +26,8 @@ public class StudentCourseHomework {
 	/**  */
 	private Long courseHomeworkId;
 	
+	private CourseHomework courseHomework = new CourseHomework();
+	
 	/** 作品附件 */
 	private String attachments;
 	
@@ -106,11 +108,11 @@ public class StudentCourseHomework {
 		return this.id;
 	}
 
-	public Long getUserId() {
+	public Integer getUserId() {
 		return userId;
 	}
 
-	public void setUserId(Long userId) {
+	public void setUserId(Integer userId) {
 		this.userId = userId;
 	}
 
@@ -154,6 +156,14 @@ public class StudentCourseHomework {
 		return this.updateTime;
 	}
 			
+	public CourseHomework getCourseHomework() {
+		return courseHomework;
+	}
+
+	public void setCourseHomework(CourseHomework courseHomework) {
+		this.courseHomework = courseHomework;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -254,7 +254,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
      * 有课提醒
      * @return
      */
-    void coursesScheduleRemind();
+    void studentCoursesScheduleRemind();
     
     /**
      * 上课提醒

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentCourseHomeworkService.java

@@ -34,6 +34,11 @@ public interface StudentCourseHomeworkService extends BaseService<Long, StudentC
      * @param studentId: 学生编号
      * @return boolean
      */
-    boolean updateReplyStatus(Long teacherId,Long courseHomeworkId,Long studentId);
+    boolean updateReplyStatus(Integer teacherId,Long courseHomeworkId,Integer studentId);
 
+    /**
+     * 课程作业提醒
+     * @return
+     */
+    void homeworkRemind();
 }

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

@@ -846,7 +846,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     }
 
 	@Override
-	public void coursesScheduleRemind() {
+	public void studentCoursesScheduleRemind() {
 		List<Mapper> mapperList = courseScheduleDao.queryStudentCoursesTimesOfTomorrow();
 		for (Mapper mapper : mapperList) {
 			Integer userId = (Integer) mapper.getKey();

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

@@ -43,7 +43,7 @@ public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long,
 		if(Objects.isNull(studentCourseHomework)){
 			throw new BizException("请指定需要回复的作业");
 		}
-		studentCourseHomeworkService.updateReplyStatus(bean.getUserId().longValue(),
+		studentCourseHomeworkService.updateReplyStatus(bean.getUserId(),
 				studentCourseHomework.getCourseHomeworkId(),
 				studentCourseHomework.getUserId());
 		return super.insert(bean);

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

@@ -7,25 +7,31 @@ 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.StudentCourseHomework;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.service.CourseHomeworkService;
 import com.ym.mec.biz.service.StudentCourseHomeworkService;
+import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 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 org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 @Service
-public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, StudentCourseHomework>  implements StudentCourseHomeworkService {
-	
+public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, StudentCourseHomework> implements StudentCourseHomeworkService {
+
 	@Autowired
 	private StudentCourseHomeworkDao studentCourseHomeworkDao;
 	@Autowired
@@ -36,6 +42,9 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
 
+	@Autowired
+	private SysMessageService sysMessageService;
+
 	private String url = "http://auth-server/queryUserInfo";
 
 	@Override
@@ -47,11 +56,11 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 	@Override
 	public long insert(StudentCourseHomework bean) {
 		SysUser user = sysUserFeignService.queryUserInfo();
-		bean.setUserId(Long.valueOf(user.getId()));
+		bean.setUserId(user.getId());
 		bean.setStatus(YesOrNoEnum.YES);
 		long insert = super.insert(bean);
 
-		CourseHomework courseHomework=new CourseHomework();
+		CourseHomework courseHomework = new CourseHomework();
 		courseHomework.setId(bean.getCourseHomeworkId());
 		courseHomework.setCompletedNum(studentCourseHomeworkDao.countCompletedStudentNum(bean.getCourseHomeworkId()));
 		courseHomeworkService.update(courseHomework);
@@ -59,21 +68,21 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 	}
 
 	@Override
-	public CourseHomeworkStudentDetailDto findCourseHomeworkStudentDetail(Long courseScheduleID,Long userId){
-		return studentCourseHomeworkDao.findCourseHomeworkStudentDetail(courseScheduleID,userId);
+	public CourseHomeworkStudentDetailDto findCourseHomeworkStudentDetail(Long courseScheduleID, Long userId) {
+		return studentCourseHomeworkDao.findCourseHomeworkStudentDetail(courseScheduleID, userId);
 	}
 
 	@Override
-	public boolean updateReplyStatus(Long teacherId, Long courseHomeworkId, Long studentId) {
+	public boolean updateReplyStatus(Integer teacherId, Long courseHomeworkId, Integer studentId) {
 		StudentCourseHomework byStudentAndCourseHomewok = studentCourseHomeworkDao.findByStudentAndCourseHomewok(courseHomeworkId, studentId);
-		if(Objects.isNull(byStudentAndCourseHomewok)){
+		if (Objects.isNull(byStudentAndCourseHomewok)) {
 			throw new BizException("作业记录不存在");
 		}
-		if(byStudentAndCourseHomewok.getIsReplied()==YesOrNoEnum.YES){
+		if (byStudentAndCourseHomewok.getIsReplied() == YesOrNoEnum.YES) {
 			return true;
 		}
 		CourseHomework byTeacherAndCourseHomewok = courseHomeworkDao.findByTeacherAndCourseHomewok(courseHomeworkId, teacherId);
-		if(Objects.nonNull(byTeacherAndCourseHomewok)){
+		if (Objects.nonNull(byTeacherAndCourseHomewok)) {
 			byStudentAndCourseHomewok.setIsView(YesOrNoEnum.YES);
 			studentCourseHomeworkDao.update(byStudentAndCourseHomewok);
 		}
@@ -83,16 +92,29 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 	@Override
 	public PageInfo<StudentCourseHomework> queryPage(QueryInfo queryInfo) {
 		SysUser user = sysUserFeignService.queryUserInfo();
-		CourseHomeworkQueryInfo courseHomeworkQueryInfo= (CourseHomeworkQueryInfo) queryInfo;
+		CourseHomeworkQueryInfo courseHomeworkQueryInfo = (CourseHomeworkQueryInfo) queryInfo;
 		courseHomeworkQueryInfo.setUserId(Long.valueOf(user.getId()));
 		return super.queryPage(queryInfo);
 	}
 
 	@Override
 	public List<StudentCourseHomework> findStudentCourseHomeworkByCourse(Long courseSchedule, String userName) {
-		if(Objects.isNull(courseSchedule)){
+		if (Objects.isNull(courseSchedule)) {
 			throw new BizException("请指定课程");
 		}
-		return studentCourseHomeworkDao.findByCourseSchedule(courseSchedule,userName);
+		return studentCourseHomeworkDao.findByCourseSchedule(courseSchedule, userName);
+	}
+
+	@Override
+	public void homeworkRemind() {
+		List<StudentCourseHomework> list = studentCourseHomeworkDao.queryNotDoneHomeworkList();
+
+		for (StudentCourseHomework sch : list) {
+			Map<Integer, String> receivers = new HashMap<Integer, String>();
+			receivers.put(sch.getUserId(), sch.getUserId() + "");
+
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_JOB_MESSAGE, receivers, null, 0, "", sch.getCourseHomework()
+					.getMusicGroup().getName(), sch.getCourseHomework().getClassGroup().getName());
+		}
 	}
 }

+ 4 - 1
mec-biz/src/main/resources/config/contracts/courses.ftl

@@ -95,7 +95,10 @@
                 </div>
             </div>
         
-            (本协议中“乙方“指学员及家长;”乙方学员“仅指参加甲方课程的学员;”乙方家长“仅指乙方学员的法定监护人。)
+            
+        </div>
+        <div>
+        (本协议中“乙方“指学员及家长;”乙方学员“仅指参加甲方课程的学员;”乙方家长“仅指乙方学员的法定监护人。)
         </div>
         为进一步提升器乐教学质量和服务品质,保证学员学习进度,明确培训各方的权责,经甲、乙双方协商一致,特订立本协议,以便共同遵守。
 

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -35,6 +35,11 @@
 		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
+
+	<resultMap type="com.ym.mec.biz.dal.entity.StudentCourseHomework" id="StudentCourseHomeworkFull" extends="StudentCourseHomework">
+		<result column="musicGroupName" property="courseHomework.musicGroup.name" />
+		<result column="classGroupName" property="courseHomework.classGroup.name"/>
+	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="StudentCourseHomework" >
@@ -229,4 +234,8 @@
 	<select id="findByStudentAndCourseHomewok" resultMap="StudentCourseHomework">
 		SELECT * FROM student_course_homework WHERE user_id_=#{userId} AND course_homework_id_=#{courseHomeworkId}
 	</select>
+	
+	<select id="queryNotDoneHomeworkList" resultMap="StudentCourseHomeworkFull">
+		SELECT sch.*,cg.name_ classGroupName,mg.name_ musicGroupName FROM student_course_homework sch left join course_homework ch on sch.course_homework_id_ = ch.id_ left join music_group mg on ch.music_group_id_ = mg.id_ left join class_group cg on ch.class_group_id_ = cg.id_ where sch.status_ = 0
+	</select>
 </mapper>

+ 8 - 4
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -30,11 +30,15 @@ public interface TaskRemoteService {
 	// vip课课酬结算
 	public void vipGroupTeacherSalarySettlement();
 	
-	@GetMapping("task/coursesScheduleRemind")
-	// vip课课酬结算
-	public void coursesScheduleRemind();
+	@GetMapping("task/studentCoursesScheduleRemind")
+	// 学生有课提醒
+	public void studentCoursesScheduleRemind();
 	
 	@GetMapping("task/studentSignInRemind")
-	// vip课课酬结算
+	// 学生上课提醒
 	public void studentSignInRemind();
+	
+	@GetMapping("task/studentHomeworkRemind")
+	// 学生作业提醒
+	public void studentHomeworkRemind();
 }

+ 6 - 1
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -43,7 +43,7 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	}
 
 	@Override
-	public void coursesScheduleRemind() {
+	public void studentCoursesScheduleRemind() {
 		logger.info("有课提醒的服务调用失败");
 	}
 
@@ -52,4 +52,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 		logger.info("上课提醒的服务调用失败");
 	}
 
+	@Override
+	public void studentHomeworkRemind() {
+		logger.info("学生作业提醒的服务调用失败");
+	}
+
 }

+ 2 - 2
mec-task/src/main/java/com/ym/mec/task/jobs/CoursesScheduleRemaindTask.java → mec-task/src/main/java/com/ym/mec/task/jobs/StudentCoursesScheduleRemaindTask.java

@@ -6,13 +6,13 @@ import com.ym.mec.task.TaskRemoteService;
 import com.ym.mec.task.core.BaseTask;
 import com.ym.mec.task.core.TaskException;
 
-public class CoursesScheduleRemaindTask extends BaseTask {
+public class StudentCoursesScheduleRemaindTask extends BaseTask {
 
 	@Autowired
 	private TaskRemoteService taskRemoteService;
 
 	@Override
 	public void execute() throws TaskException {
-		taskRemoteService.coursesScheduleRemind();
+		taskRemoteService.studentCoursesScheduleRemind();
 	}
 }

+ 15 - 5
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.RestController;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
 import com.ym.mec.biz.service.MusicGroupStudentFeeService;
+import com.ym.mec.biz.service.StudentCourseHomeworkService;
 import com.ym.mec.biz.service.TeacherAttendanceService;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
@@ -31,6 +32,9 @@ public class TaskController extends BaseController {
 	@Autowired
 	private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
 	
+	@Autowired
+	private StudentCourseHomeworkService studentCourseHomeworkService;
+	
 	@GetMapping("/refreshPaymentFeeStatus")
 	// 刷新付费状态
 	public void refreshPaymentFeeStatus() {
@@ -67,15 +71,21 @@ public class TaskController extends BaseController {
 		teacherAttendanceService.pushNoSignOutMessage();
 	}
 
-	@GetMapping("/coursesScheduleRemind")
-	// 有课提醒
-	public void coursesScheduleRemind() {
-		courseScheduleService.coursesScheduleRemind();
+	@GetMapping("/studentCoursesScheduleRemind")
+	// 学生有课提醒
+	public void studentCoursesScheduleRemind() {
+		courseScheduleService.studentCoursesScheduleRemind();
 	}
 
 	@GetMapping("/studentSignInRemind")
-	// 上课提醒
+	// 学生上课提醒
 	public void studentSignInRemind() {
 		courseScheduleService.studentSignInRemind();
 	}
+
+	@GetMapping("/studentHomeworkRemind")
+	// 学生作业提醒
+	public void studentHomeworkRemind() {
+		studentCourseHomeworkService.homeworkRemind();
+	}
 }