Explorar o código

Merge branch 'feature_HW_20230331' into master_saas

liujc %!s(int64=2) %!d(string=hai) anos
pai
achega
7248262028
Modificáronse 30 ficheiros con 290 adicións e 53 borrados
  1. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseHomeworkDao.java
  2. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesDao.java
  3. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesReplyDao.java
  4. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/LessonExaminationDao.java
  5. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentLessonExaminationDao.java
  6. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkListDto.java
  7. 11 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupExtracurricularSummaryDto.java
  8. 11 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomework.java
  9. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercises.java
  10. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/LessonExamination.java
  11. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  12. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/LessonExaminationService.java
  13. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentCourseHomeworkService.java
  14. 6 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java
  15. 37 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/LessonExaminationServiceImpl.java
  16. 70 24
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java
  17. 9 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java
  18. 9 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  19. 16 0
      mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  20. 1 1
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  21. 15 0
      mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml
  22. 10 0
      mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml
  23. 1 1
      mec-biz/src/main/resources/config/mybatis/ImGroupMapper.xml
  24. 6 1
      mec-biz/src/main/resources/config/mybatis/LessonExaminationMapper.xml
  25. 18 2
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  26. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml
  27. 5 0
      mec-biz/src/main/resources/config/mybatis/StudentLessonExaminationMapper.xml
  28. 1 1
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  29. 3 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java
  30. 6 0
      mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.CourseHomeworkListDto;
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.TeacherHomeworkListDto;
 import com.ym.mec.biz.dal.dto.WebCourseHomeworkListDto;
@@ -78,4 +79,8 @@ public interface CourseHomeworkDao extends BaseDAO<Long, CourseHomework> {
     void updateFinishNum(@Param("courseHomeworkId") Long courseHomeworkId);
 
     CourseHomework getByCourseScheduleId(@Param("courseScheduleId") Integer courseScheduleId);
+
+    List<CourseHomeworkListDto> findEndHomework();
+
+    void updatePushFlag(@Param("ids") List<Long> ids);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesDao.java

@@ -72,4 +72,8 @@ public interface ExtracurricularExercisesDao extends BaseDAO<Long, Extracurricul
     List<CourseHomeworkWrapper.CourseHomeworkList> queryTeacherExtraHomeworkDetailV2(Map<String, Object> params);
 
     void updateFinishNum(@Param("courseHomeworkId") Long courseHomeworkId);
+
+    List<ExtracurricularExercises> findEndHomework();
+
+    void updatePushFlag(@Param("ids") List<Long> ids);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesReplyDao.java

@@ -137,4 +137,8 @@ public interface ExtracurricularExercisesReplyDao extends BaseDAO<Long, Extracur
 
     ExtracurricularExercisesReply getByExtraIdAndUserId(@Param("extraId") Long extraId, @Param("userId") Long userId);
 
+    /**
+     * 未完成的课外作业
+     */
+    List<ExtracurricularExercisesReply> queryNotDoneHomeworkList();
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/LessonExaminationDao.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.dto.LessonExaminationSaveDto;
 import com.ym.mec.biz.dal.entity.LessonExamination;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -34,5 +35,7 @@ public interface LessonExaminationDao extends BaseMapper<LessonExamination> {
     void updateTrainingNum(@Param("lessonExaminationId") Long lessonExaminationId);
 
     void updateStandardNum(@Param("lessonExaminationId") Long lessonExaminationId);
+
+    List<LessonExamination> queryEndList();
 }
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentLessonExaminationDao.java

@@ -35,5 +35,7 @@ public interface StudentLessonExaminationDao extends BaseMapper<StudentLessonExa
     void updateTrainingScore(@Param("lessonExaminationId") Long lessonExaminationId, @Param("userId") Integer userId);
 
     List<Map<Long, String>> getStudentName(@Param("examinationIds") List<Long> examinationIds);
+
+    List<StudentLessonExamination> queryEndList(@Param("date") String date);
 }
 

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkListDto.java

@@ -64,12 +64,22 @@ public class CourseHomeworkListDto {
     @ApiModelProperty(value = "是否已经回复",required = false)
     private YesOrNoEnum isReplied;
 
+    @ApiModelProperty("老师ID")
+    private Integer teacherId;
     @ApiModelProperty(value = "实际上课老师",required = false)
     private String teacherName;
 
     @ApiModelProperty(value = "实际上课老师头像",required = false)
     private String headUrl;
 
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
     public String getTitle() {
         return title;
     }

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupExtracurricularSummaryDto.java

@@ -8,7 +8,17 @@ public class MusicGroupExtracurricularSummaryDto {
 	
 	private int studentNum;
 
-	public String getMusicGroupName() {
+    private String studentIds;
+
+    public String getStudentIds() {
+        return studentIds;
+    }
+
+    public void setStudentIds(String studentIds) {
+        this.studentIds = studentIds;
+    }
+
+    public String getMusicGroupName() {
 		return musicGroupName;
 	}
 

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomework.java

@@ -33,6 +33,8 @@ public class CourseHomework extends BaseEntity {
 	/** 作业内容 */
 	private String content;
 
+    private Boolean pushFlag;
+
 	/** 作业内容 */
 	private String title;
 	
@@ -78,7 +80,15 @@ public class CourseHomework extends BaseEntity {
 		return lessonExaminationSaveDto;
 	}
 
-	public void setLessonExaminationSaveDto(LessonExaminationSaveDto lessonExaminationSaveDto) {
+    public Boolean getPushFlag() {
+        return pushFlag;
+    }
+
+    public void setPushFlag(Boolean pushFlag) {
+        this.pushFlag = pushFlag;
+    }
+
+    public void setLessonExaminationSaveDto(LessonExaminationSaveDto lessonExaminationSaveDto) {
 		this.lessonExaminationSaveDto = lessonExaminationSaveDto;
 	}
 

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercises.java

@@ -82,6 +82,8 @@ public class ExtracurricularExercises extends BaseEntity {
 	@ApiModelProperty(value="是否提交")
 	private int isSubmit;
 
+    private Boolean pushFlag;
+
 	private int status;
 	
 	private String organName;
@@ -112,6 +114,14 @@ public class ExtracurricularExercises extends BaseEntity {
     @ApiModelProperty("新版作业 time:2023-03-31")
     private List<StudentLessonTrainingDetailWrapper.AddStudentLessonTrainingDetail> studentLessonTrainingDetails;
 
+    public Boolean getPushFlag() {
+        return pushFlag;
+    }
+
+    public void setPushFlag(Boolean pushFlag) {
+        this.pushFlag = pushFlag;
+    }
+
     public String getType() {
         return type;
     }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/LessonExamination.java

@@ -59,6 +59,10 @@ public class LessonExamination{
     @ApiModelProperty(value = "预计人数")
     private Integer expectNum;
 
+    @TableField("push_flag_")
+    @ApiModelProperty(value = "是否推送")
+    private Boolean pushFlag;
+
     @TableField("create_time_")
     private Date createTime;
 

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -40,6 +40,10 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     //    SCHEDULE_CHANGE("SCHEDULE_CHANGE", "课表变动"),
 //    STUDENT_SMS_TEACHING_SCHOOL_CHANGE("STUDENT_SMS_TEACHING_SCHOOL_CHANGE", "教学点变动"),
     STUDENT_PUSH_JOB_MESSAGE("STUDENT_PUSH_JOB_MESSAGE", "训练提醒"),
+    STUDENT_PUSH_JOB_MESSAGE_V2("STUDENT_PUSH_JOB_MESSAGE_V2", "训练提醒"),
+    TEACHER_PUSH_JOB_MESSAGE_V2("TEACHER_PUSH_JOB_MESSAGE_V2", "训练提醒"),
+    TEACHER_PUSH_JOB_MESSAGE_EXTRA_V2("TEACHER_PUSH_JOB_MESSAGE_EXTRA_V2", "训练提醒"),
+    STUDENT_PUSH_JOB_MESSAGE_EXTRA_V2("STUDENT_PUSH_JOB_MESSAGE_EXTRA_V2", "训练提醒"),
     //    STUDENT_PUSH_CLASS_MESSAGE("STUDENT_PUSH_CLASS_MESSAGE", "班级消息"),
     TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN("TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN", "乐团课新增安排"),
     TEACHER_SMS_PUSH_VIP_COURSE_APPLY_RESULT("TEACHER_SMS_PUSH_VIP_COURSE_APPLY_RESULT", "VIP课申请结果"),
@@ -79,6 +83,10 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     TEACHER_PUSH_HOMEWORK_REPLY("TEACHER_PUSH_HOMEWORK_REPLY", "学生训练回复提醒"),
     STUDENT_PUSH_HOMEWORK_REPLY("STUDENT_PUSH_HOMEWORK_REPLY", "教师回复训练提醒"),
 
+    IM_PUBLISH_LESSON_EXAMINATION("IM_PUBLISH_LESSON_EXAMINATION", "测评提醒"),
+    STUDENT_PUSH_PUBLISH_LESSON_EXAMINATION("STUDENT_PUSH_PUBLISH_LESSON_EXAMINATION", "测评提醒"),
+    PUSH_NO_SUBMIT_LESSON_EXAMINATION("PUSH_NO_SUBMIT_LESSON_EXAMINATION", "测评提醒"),
+    TEACHER_PUSH_LESSON_EXAMINATION_END("TEACHER_PUSH_LESSON_EXAMINATION_END", "测评提醒"),
     IM_HOMEWORK_REMIND("IM_HOMEWORK_REMIND", "训练提醒"),
     IM_HOMEWORK_REMIND_V2("IM_HOMEWORK_REMIND_V2", "训练提醒"),
     IM_HOMEWORK_SUBMIT_PUSH("IM_HOMEWORK_SUBMIT_PUSH", "训练提交提醒"),

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/LessonExaminationService.java

@@ -27,5 +27,7 @@ public interface LessonExaminationService extends IService<LessonExamination> {
     PageInfo<LessonExaminationResultDto1> queryPageByStudent(LessonExaminationQueryInfo1 queryInfo);
 
     LessonExaminationResultDto1 getOne(Integer userId, Long lessonExaminationId);
+
+    void pushEndMsg();
 }
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentCourseHomeworkService.java

@@ -148,4 +148,6 @@ public interface StudentCourseHomeworkService extends BaseService<Long, StudentC
      * @param type 作业类型
      */
     StudentLessonTrainingDetailWrapper.StudentLessonTraining findExtracurricularExercisesDetailPublicV2(Long courseScheduleId, Long userId, ELessonTrainingType type);
+
+    void pushEndMsg();
 }

+ 6 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java

@@ -4,12 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.entity.ExtracurricularExercises;
-import com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply;
-import com.ym.mec.biz.dal.entity.StudentCourseHomework;
-import com.ym.mec.biz.dal.entity.StudentLessonTrainingDetail;
-import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.ELessonTrainingType;
 import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
@@ -114,7 +109,8 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 
 		if(Objects.isNull(exercises.getExpireDate())){
 			LocalDateTime localDateTime=LocalDateTime.now();
-			localDateTime=localDateTime.plusDays(Integer.parseInt(sysConfigService.findByParamName("homework_expire_time").getParanValue()));
+			localDateTime=localDateTime.plusDays(Integer.parseInt(sysConfigService.findByParamName("homework_expire_time").getParanValue()))
+                    .withHour(21).withMinute(0).withSecond(0).withNano(0);
 			exercises.setExpireDate(Date.from(localDateTime.atZone(DateUtil.zoneId).toInstant()));
 		}
 		List<Integer> studentIds = Arrays.asList(exercises.getStudentIdList().split(",")).stream().mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
@@ -181,8 +177,8 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
             Integer studentId = extracurricularExercisesReply.getUserId();
             if (exercises.getVersionTag().equals("v2")) {
 
-                String notifyUrl = "?homeworkId=" + exercises.getId() + "&type=" +exercises.getGroupType();
-                String extra = "dayaedu" + notifyUrl ;
+                String notifyUrl = "homeworkId=" + exercises.getId() + "&type=" +exercises.getGroupType();
+                String extra = "dayaedu?type=homework&" + notifyUrl ;
                 sysMessageService.batchSendImMessage(MessageTypeEnum.EXTRA_REMIND_IM_DETAIL_V2, exercises.getTeacherId().toString(), extra,
                         new String[]{studentId.toString()},
                         null, dateStr);
@@ -190,7 +186,7 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
                 Map<Integer, String> userMap = new HashMap<>();
                 userMap.put(studentId, studentId.toString());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_EXTRA_REMIND_V2,
-                        userMap, null, 0, "homework" + notifyUrl, "STUDENT",
+                        userMap, null, 0, "homework?" + notifyUrl, "STUDENT",
                         teacher.getRealName());
             } else {
 

+ 37 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/LessonExaminationServiceImpl.java

@@ -6,14 +6,13 @@ import com.ym.mec.biz.dal.dto.LessonExaminationResultDto;
 import com.ym.mec.biz.dal.dto.LessonExaminationResultDto1;
 import com.ym.mec.biz.dal.dto.LessonExaminationSaveDto;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo;
 import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo1;
-import com.ym.mec.biz.service.LessonExaminationService;
-import com.ym.mec.biz.service.StudentExtracurricularExercisesSituationService;
-import com.ym.mec.biz.service.StudentLessonExaminationDetailService;
-import com.ym.mec.biz.service.StudentLessonExaminationService;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.collections.CollectionUtils;
@@ -56,6 +55,8 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
     private CourseScheduleDao courseScheduleDao;
     @Autowired
     private ClassGroupDao classGroupDao;
+    @Autowired
+    private SysMessageService sysMessageService;
 
     @Override
     public LessonExaminationDao getDao() {
@@ -113,6 +114,17 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
         studentLessonExaminationDetailService.save(lessonExamination.getId(),param.getStudentLessonExaminationSaveDtos());
         //更新服务指标相关数量信息
         studentExtracurricularExercisesSituationService.updateNum(lessonExamination,studentIds);
+        //消息推送
+        String teacherName = teacherDao.queryNameById(param.getTeacherId());
+        Map<Integer, String> userMap = new HashMap<>(1);
+        userMap.put(param.getTeacherId(), param.getTeacherId().toString());
+        String notifyUrl = "evaluating?evaluateId=" + lessonExamination.getId();
+        String extra = "dayaedu" + notifyUrl + "&type=evaluating&evaluateId=" + lessonExamination.getId();
+        String[] strings = studentIds.toArray(new String[]{});
+        sysMessageService.batchSendImMessage(MessageTypeEnum.IM_PUBLISH_LESSON_EXAMINATION,param.getTeacherId().toString(), extra,
+                strings,null, teacherName);
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_PUBLISH_LESSON_EXAMINATION,
+                userMap, null, 0, 3 + notifyUrl, "STUDENT", teacherName);
     }
 
     @Override
@@ -192,5 +204,26 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
         return baseMapper.getOneByStudent(userId,lessonExaminationId);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void pushEndMsg() {
+        //获取截止的测验列表
+        List<LessonExamination> lessonExaminations = baseMapper.queryEndList();
+        if(CollectionUtils.isNotEmpty(lessonExaminations)){
+            List<Long> examinations = new ArrayList<>();
+            for (LessonExamination vo : lessonExaminations) {
+                examinations.add(vo.getId());
+                Map<Integer, String> userMap = new HashMap<>(1);
+                userMap.put(vo.getTeacherId(), vo.getTeacherId().toString());
+                String notifyUrl = "evaluating?evaluateId=" + vo.getId();
+                String dateToString = DateUtil.dateToString(vo.getCreateTime(), DateUtil.ISO_EXPANDED_DATE_FORMAT);
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_LESSON_EXAMINATION_END,
+                        userMap, null, 0, 3 + notifyUrl, "TEACHER", dateToString);
+            }
+            this.lambdaUpdate().in(LessonExamination::getId,examinations)
+                    .set(LessonExamination::getPushFlag,true).update();
+        }
+    }
+
 }
 

+ 70 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -20,15 +20,11 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.CourseHomeworkWrapper;
-import com.ym.mec.biz.dal.dto.StudentLessonTrainingDetailWrapper;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.ELessonTrainingType;
 import com.ym.mec.biz.dal.enums.StandardEnum;
-import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
-import com.ym.mec.biz.service.ExtracurricularExercisesService;
-import com.ym.mec.biz.service.MusicGroupService;
-import com.ym.mec.biz.service.StudentLessonTrainingDetailService;
+import com.ym.mec.biz.service.*;
 import org.apache.commons.lang3.StringUtils;
 import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,14 +34,6 @@ import org.springframework.util.CollectionUtils;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dto.CourseHomeworkDto;
-import com.ym.mec.biz.dal.dto.CourseHomeworkStudentDetailDto;
-import com.ym.mec.biz.dal.dto.EduHomeworkCardDto;
-import com.ym.mec.biz.dal.dto.EduHomeworkStatDto;
-import com.ym.mec.biz.dal.dto.SimpleUserDto;
-import com.ym.mec.biz.dal.dto.StudentCourseHomeworkDto;
-import com.ym.mec.biz.dal.dto.StudentHomeworkRecordDto;
-import com.ym.mec.biz.dal.dto.StudentVisitCourseHomeWorkDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
@@ -54,12 +42,6 @@ import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseHomeWorkQueryInfo;
-import com.ym.mec.biz.service.CourseHomeworkService;
-import com.ym.mec.biz.service.MusicGroupTrainPlanService;
-import com.ym.mec.biz.service.StudentCourseHomeworkService;
-import com.ym.mec.biz.service.StudentServeService;
-import com.ym.mec.biz.service.SysConfigService;
-import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -124,7 +106,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
     private MusicGroupService musicGroupService;
 
     @Autowired
-    private ExtracurricularExercisesService  extracurricularExercisesService;
+    private StudentLessonExaminationDao studentLessonExaminationDao;
 
     @Autowired
     private StudentLessonTrainingDetailService studentLessonTrainingDetailService;
@@ -376,15 +358,40 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 
     @Override
     public void homeworkRemind() {
+        // 课后作业通知
         List<StudentCourseHomework> list = studentCourseHomeworkDao.queryNotDoneHomeworkList();
         StringBuffer sb;
         for (StudentCourseHomework sch : list) {
-            sb = new StringBuffer("courseScheduleID=").append(sch.getCourseScheduleId()).append("&studentCourseHomeworkId=").append(sch.getId());
+            sb = new StringBuffer("homeworkId=").append(sch.getCourseHomeworkId()).append("&type=HOMEWORK");
             Map<Integer, String> receivers = new HashMap<Integer, String>(1);
             receivers.put(sch.getUserId(), sch.getUserId() + "");
-            sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_JOB_MESSAGE, receivers, null, 0, "3?" + sb, "STUDENT", sch.getCourseHomework()
-                    .getMusicGroup().getName(), sch.getCourseHomework().getClassGroup().getName());
+            sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_JOB_MESSAGE_V2, receivers, null, 0, "homework?" + sb, "STUDENT");
         }
+
+        // 课外作业通知
+        List<ExtracurricularExercisesReply> extraList =  extracurricularExercisesReplyDao.queryNotDoneHomeworkList();
+        for (ExtracurricularExercisesReply reply : extraList) {
+            sb = new StringBuffer("homeworkId=").append(reply.getExtracurricularExercisesId())
+                    .append("&type=")
+                    .append(reply.getExtracurricularExercises().getGroupType());
+            Map<Integer, String> receivers = new HashMap<Integer, String>(1);
+            receivers.put(reply.getUserId(), reply.getUserId() + "");
+            sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_JOB_MESSAGE_EXTRA_V2, receivers, null, 0, "homework?" + sb, "STUDENT");
+        }
+
+        //获取即将截止的测评
+        String date = DateUtil.dateToString(DateUtil.addDays(new Date(), 1),DateUtil.ISO_EXPANDED_DATE_FORMAT);
+        List<StudentLessonExamination> examinations = studentLessonExaminationDao.queryEndList(date);
+        if(!CollectionUtils.isEmpty(examinations)){
+            Map<Long, List<StudentLessonExamination>> listMap = examinations.stream().collect(Collectors.groupingBy(e -> e.getLessonExaminationId()));
+            for (Long lessonExaminationId : listMap.keySet()) {
+                List<StudentLessonExamination> studentLessonExaminations = listMap.get(lessonExaminationId);
+                Map<Integer, String> receivers = studentLessonExaminations.stream().collect(Collectors.toMap(e -> e.getUserId(), e -> e.getUserId().toString()));
+                sb = new StringBuffer("evaluating?evaluateId=").append(lessonExaminationId);
+                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.PUSH_NO_SUBMIT_LESSON_EXAMINATION, receivers, null, 0, sb.toString(), "STUDENT");
+            }
+        }
+
     }
 
     @Override
@@ -1086,6 +1093,45 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 
     }
 
+    @Override
+    @Transactional
+    public void pushEndMsg() {
+        // 课后作业
+        List<CourseHomeworkListDto> courseHomeworks = courseHomeworkDao.findEndHomework();
+        StringBuffer sb;
+        for (CourseHomeworkListDto courseHomework : courseHomeworks) {
+            sb = new StringBuffer("homeworkId=").append(courseHomework.getId())
+                    .append("&type=HOMEWORK");
+            Map<Integer, String> receivers = new HashMap<Integer, String>(1);
+            String dateToString = DateUtil.dateToString(courseHomework.getCreateTime(), DateUtil.ISO_EXPANDED_DATE_FORMAT);
+            receivers.put(courseHomework.getTeacherId(), courseHomework.getTeacherId() + "");
+            sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_JOB_MESSAGE_V2, receivers, null, 0, "homework?" + sb, "TEACHER",dateToString);
+        }
+        if (courseHomeworks.size() > 0) {
+            // id 集合
+            List<Long> ids = courseHomeworks.stream().map(CourseHomeworkListDto::getId).collect(Collectors.toList());
+            courseHomeworkDao.updatePushFlag(ids);
+        }
+
+        // 课外作业
+        List<ExtracurricularExercises> extracurricularExercises = extracurricularExercisesDao.findEndHomework();
+        for (ExtracurricularExercises exercises : extracurricularExercises) {
+            sb = new StringBuffer("homeworkId=").append(exercises.getId())
+                    .append("&type=")
+                    .append(exercises.getGroupType());
+            Map<Integer, String> receivers = new HashMap<Integer, String>(1);
+            String dateToString = DateUtil.dateToString(exercises.getCreateTime(), DateUtil.ISO_EXPANDED_DATE_FORMAT);
+            receivers.put(exercises.getTeacherId(), exercises.getTeacherId() + "");
+            sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_JOB_MESSAGE_EXTRA_V2, receivers, null, 0, "homework?" + sb, "TEACHER",dateToString);
+        }
+        if (extracurricularExercises.size() > 0) {
+            // id 集合
+            List<Long> ids = extracurricularExercises.stream().map(ExtracurricularExercises::getId).collect(Collectors.toList());
+            extracurricularExercisesDao.updatePushFlag(ids);
+        }
+
+    }
+
     @NotNull
     private StudentLessonTrainingDetailWrapper.StudentLessonTraining getUserInfo(Long userId) {
         SysUser sysUser = sysUserFeignService.queryUserById(userId.intValue());

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

@@ -754,7 +754,7 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
     public PageInfo<CourseHomeworkWrapper.CourseHomeworkList> queryTeacherExtraHomeworkDetailV2(CourseHomeworkWrapper.CourseHomeworkQuery queryInfo) {
 
         // 获取时间段内有服务指标的乐团(课外作业)
-        List<String> subjectIds = new ArrayList<>();
+        Map<String,String> groupIds = new HashMap<>();
         if (queryInfo.getCourseScheduleId() == null) {
             if (queryInfo.getType() == null || queryInfo.getType().equals(ELessonTrainingType.EXTRACURRICULAR)) {
                 if (queryInfo.getHomeWorkStatus() == null || queryInfo.getHomeWorkStatus().equals(EHomeWorkStatus.UNASSIGNED)) {
@@ -767,13 +767,14 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
                     PageInfo<MusicGroupExtracurricularSummaryDto> groupList = queryStudentExerciseMusicGroupList(query);
 
                     if (!CollectionUtils.isEmpty(groupList.getRows())) {
-                        subjectIds = groupList.getRows().stream().map(o -> o.getMusicGroupId()).collect(Collectors.toList());
+                        groupIds = groupList.getRows().stream().collect(Collectors.toMap(o -> o.getMusicGroupId(),o -> o.getStudentIds(),(k1,k2)->k1));
                     }
                 }
             }
         }
         PageInfo<CourseHomeworkWrapper.CourseHomeworkList> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 
+        Set<String> subjectIds =groupIds.keySet();
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
         if (StringUtils.isNotBlank(queryInfo.getMusicGroupId())) {
@@ -816,6 +817,12 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
             }
             for (CourseHomeworkWrapper.CourseHomeworkList courseHomeworkList : courseHomeworkLists) {
 
+                // 如果是未布置的 设置时间
+                if(courseHomeworkList.getHomeWorkStatus().equals(EHomeWorkStatus.UNASSIGNED)){
+                    courseHomeworkList.setAssignTime(queryInfo.getStartTime());
+                    courseHomeworkList.setStudentIdList(groupIds.get(courseHomeworkList.getMusicGroupId()));
+                }
+
                 // 乐团信息
                 MusicGroup musicGroup = musicGroupMap.get(courseHomeworkList.getMusicGroupId());
                 if (Objects.nonNull(musicGroup)) {

+ 9 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -353,7 +354,11 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 					courseHomework.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 					courseHomework.setGroupType(teacherAttendance.getGroupType());
 					courseHomework.setClassGroupId(currentCourseDetail.getClassId().intValue());
-					courseHomework.setExpiryDate(DateUtil.addDays(date,Integer.parseInt(sysConfigService.findByParamName("homework_expire_time").getParanValue())));
+
+                    LocalDateTime localDateTime=LocalDateTime.now();
+                    localDateTime=localDateTime.plusDays(Integer.parseInt(sysConfigService.findByParamName("homework_expire_time").getParanValue()))
+                            .withHour(21).withMinute(0).withSecond(0).withNano(0);
+					courseHomework.setExpiryDate(Date.from(localDateTime.atZone(DateUtil.zoneId).toInstant()));
 
 					courseHomeworkService.insert(courseHomework);
 					List<StudentCourseHomework> studentCourseHomeworks = new ArrayList<>();
@@ -434,15 +439,15 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
                             if (versionTag.equals("v2")) {
                                 Map<Integer, String> userMap = new HashMap<>();
                                 userMap.put(studentCourseHomework.getUserId(), studentCourseHomework.getUserId().toString());
-                                String notifyUrl = "?homeworkId=" + courseHomework.getId() + "&type=" + ELessonTrainingType.HOMEWORK.getCode();
-                                String extra = "dayaedu" + notifyUrl ;
+                                String notifyUrl = "homeworkId=" + courseHomework.getId() + "&type=" + ELessonTrainingType.HOMEWORK.getCode();
+                                String extra = "dayaedu?type=homework&" + notifyUrl ;
 
                                 sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND_V2, courseSchedule.getActualTeacherId().toString(), extra,
                                         new String[]{studentCourseHomework.getUserId().toString()},
                                         null, courseSchedule.getName(), dateStr);
 
                                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_HOMEWORK_REMIND_V2,
-                                        userMap, null, 0, "homework" + notifyUrl, "STUDENT", teacher.getRealName());
+                                        userMap, null, 0, "homework?" + notifyUrl, "STUDENT", teacher.getRealName());
 
                             } else {
                                 Map<Integer, String> userMap = new HashMap<>();

+ 16 - 0
mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -22,6 +22,7 @@
 		<result column="expiry_date_" property="expiryDate" />
 		<result column="tenant_id_" property="tenantId" />
 		<result column="version_tag_" property="versionTag" />
+		<result column="push_flag_" property="pushFlag" />
 	</resultMap>
 
 	<resultMap type="com.ym.mec.biz.dal.dto.CourseHomeworkListDto" id="CourseHomeworkDto">
@@ -38,6 +39,7 @@
 		<result column="completed_num_" property="completedNum" />
 		<result column="expect_num_" property="expectNum" />
 		<result column="expiry_date_" property="expiryDate" />
+		<result column="teacherId" property="teacherId" />
 		<result column="remark_" property="remark" />
 		<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"/>
@@ -394,4 +396,18 @@
 	<select id="getByCourseScheduleId" resultMap="CourseHomework">
         select * from course_homework where course_schedule_id_ = #{courseScheduleId}
     </select>
+
+	<select id="findEndHomework" resultMap="CourseHomeworkDto">
+        SELECT ch.* ,cs.actual_teacher_id_ as teacherId
+        FROM course_homework  ch
+            left join course_schedule cs on ch.course_schedule_id_ = cs.id_
+        WHERE ch.expiry_date_ &lt;= now() and ch.push_flag_ = 0 and ch.version_tag_ = 'v2'
+    </select>
+
+	<update id="updatePushFlag">
+        UPDATE course_homework SET push_flag_ = 1 WHERE id_ in
+        <foreach collection="ids" item="homeworkId" open="(" close=")" separator=",">
+            #{homeworkId}
+        </foreach>
+    </update>
 </mapper>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -4197,7 +4197,7 @@
 
         <where>
             <if test="param.teacherId != null">
-                and (cs.teacher_id_ = #{param.teacherId} or cs.actual_teacher_id_ = #{param.teacherId})
+                and (cs.actual_teacher_id_ = #{param.teacherId})
             </if>
             <if test="param.musicGroupId != null">
                 and #{param.musicGroupId} = cs.music_group_id_

+ 15 - 0
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml

@@ -29,6 +29,7 @@
 		<result column="musicGroupName" property="musicGroupName" />
 		<result column="versionTag" property="versionTag" />
 		<result column="type" property="type" />
+		<result column="push_flag_" property="pushFlag" />
 	</resultMap>
 
 	<sql id="queryPageCondition">
@@ -433,4 +434,18 @@
 	<update id="updateFinishNum">
         UPDATE extracurricular_exercises SET completed_num_ = ifnull(completed_num_,0) + 1 WHERE id_ = #{courseHomeworkId}
     </update>
+
+	<select id="findEndHomework" resultMap="ExtracurricularExercises">
+
+        SELECT *
+        FROM extracurricular_exercises ee
+        WHERE ee.expire_date_ &lt;= now() and ee.push_flag_ = 0 and ee.version_tag_ = 'v2'
+    </select>
+
+	<update id="updatePushFlag">
+        UPDATE extracurricular_exercises SET push_flag_ = 1 WHERE id_ in
+        <foreach collection="ids" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </update>
 </mapper>

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml

@@ -642,4 +642,14 @@
 	<select id="getByExtraIdAndUserId" resultType="com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply">
         SELECT * from  extracurricular_exercises_reply where extracurricular_exercises_id_ = #{extraId} and user_id_ = #{userId}
     </select>
+
+	<select id="queryNotDoneHomeworkList" resultMap="ExtracurricularExercisesReply">
+        SELECT eer.*, ee.group_type_ as ee_group_type_
+        from  extracurricular_exercises_reply  eer
+        left join extracurricular_exercises ee on ee.id_ = eer.extracurricular_exercises_id_
+
+        WHERE date_format(date_add(ee.expire_date_,interval -1 day),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
+          AND (eer.standard_flag_ not in ('STANDARD', 'EXCELLENT') or eer.standard_flag_ is null)
+          AND ee.version_tag_ = 'v2'
+    </select>
 </mapper>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/ImGroupMapper.xml

@@ -195,7 +195,7 @@
         LEFT JOIN im_group ig ON igm.im_group_id_ = ig.id_
         left join class_group cg on cg.id_ = ig.id_
         left join music_group mg on mg.id_ = cg.music_group_id_
-        where 1 =1
+        where 1 =1 and ig.group_type_ in ('NORMAL','MIX')
         <if test="userId != null">
             AND igm.user_id_ = #{userId}
         </if>

+ 6 - 1
mec-biz/src/main/resources/config/mybatis/LessonExaminationMapper.xml

@@ -127,12 +127,17 @@
     <select id="getOneByStudent" resultType="com.ym.mec.biz.dal.dto.LessonExaminationResultDto1">
         select le.expire_date_ expireDate,CASE WHEN NOW() > le.expire_date_ THEN 1 ELSE 0 END expireFlag,
                 cg.name_ classGroupName,mg.name_ musicGroupName,sle.training_flag_ trainingFlag,
-               sle.training_score_ trainingScore,sle.lesson_examination_id_ LessonExaminationId,sle.user_id_ userId
+               sle.training_score_ trainingScore,sle.lesson_examination_id_ LessonExaminationId,sle.user_id_ userId,
+            su.real_name_ teacherName,su.avatar_ avatar,
         from student_lesson_examination sle
                  left join lesson_examination le ON sle.lesson_examination_id_ = le.id_
                  left join class_group cg ON cg.id_ = le.class_group_id_
                  left join music_group mg ON mg.id_ = le.music_group_id_
+                 left join sys_user su ON su.id_ = le.teacher_id_
         WHERE sle.lesson_examination_id_ = #{lessonExaminationId} AND sle.user_id_ = #{userId} LIMIT 1
     </select>
+    <select id="queryEndList" resultType="com.ym.mec.biz.dal.entity.LessonExamination">
+        select * from lesson_examination where NOW() > expire_date_ AND push_flag_ = 0
+    </select>
 
 </mapper>

+ 18 - 2
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -320,8 +320,9 @@
                  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
-          AND datediff(NOW(), sch.create_time_) &lt; 8
+        WHERE date_format(date_add(ch.expiry_date_,interval -1 day),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
+          AND (sch.standard_flag_ not in ('STANDARD', 'EXCELLENT') or sch.standard_flag_ is null)
+          AND ch.version_tag_ = 'v2'
     </select>
     <select id="countStudentCourseHomeworks" resultType="java.lang.Integer">
         SELECT COUNT(id_)
@@ -743,4 +744,19 @@
             sch.user_id_ = #{userId}
                 AND sch.course_homework_id_ = #{courseHomeworkId}
     </select>
+
+    <select id="queryNotSuccessUserIdByHomeworkIds" resultType="java.lang.Integer">
+        SELECT
+            distinct sch.user_id_
+        FROM
+            student_course_homework sch
+        left join course_homework ch on ch.id_ = sch.course_homework_id_
+        WHERE
+            sch.course_homework_id_ in
+            <foreach collection="homeworkIds" item="homeworkId" open="(" close=")" separator=",">
+                #{homeworkId}
+            </foreach>
+                AND (sch.standard_flag_ not in ('STANDARD','EXCELLENT') or sch.standard_flag_ is null)
+            and ch.version_tag_ = 'v2'
+    </select>
 </mapper>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -967,7 +967,7 @@
     </select>
     
     <select id="queryStudentExerciseMusicGroupList" resultType="com.ym.mec.biz.dal.dto.MusicGroupExtracurricularSummaryDto">
-    	SELECT sees.music_group_id_ musicGroupId,mg.name_ musicGroupName,count(distinct sees.student_id_) studentNum from student_extracurricular_exercises_situation_ sees 
+    	SELECT sees.music_group_id_ musicGroupId,mg.name_ musicGroupName,count(distinct sees.student_id_) studentNum,group_concat(distinct  sees.student_id_) as studentIds from student_extracurricular_exercises_situation_ sees
 		LEFT JOIN music_group mg on mg.id_ = sees.music_group_id_
 		WHERE sees.teacher_id_ = #{teacherId} and sees.serve_type_ = 'EXERCISE' and sees.actual_exercises_num_ = 0
 		<if test="musicGroupName != null and musicGroupName != ''">

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/StudentLessonExaminationMapper.xml

@@ -113,4 +113,9 @@
         </foreach>
         group by sled.lesson_examination_id_
     </select>
+    <select id="queryEndList" resultType="com.ym.mec.biz.dal.entity.StudentLessonExamination">
+        select sle.* from student_lesson_examination sle
+        left join lesson_examination le ON sle.lesson_examination_id_ = le.id_
+        where sle.training_flag_ = false AND DATE_FORMAT(expire_date_,'%Y-%m-%d') = #{date}
+    </select>
 </mapper>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -846,7 +846,7 @@
         <include refid="queryTeacherAttendanceSql"/>
     </select>
     <select id="queryNameById" resultType="java.lang.String">
-        select real_name_ FROM sys_user s WHERE id_ = #{userId} LIMIT 1
+        select CASE WHEN real_name_ IS NULL THEN username_ ELSE real_name_ END  FROM sys_user s WHERE id_ = #{userId} LIMIT 1
     </select>
     <resultMap id="musicGroupStudentApplyDto" type="com.ym.mec.biz.dal.dto.MusicGroupStudentApplyDto">
         <result property="userId" column="user_id_"/>

+ 3 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java

@@ -45,6 +45,9 @@ public class ImGroupController extends BaseController {
     @ApiOperation("查询群列表-v2")
     @GetMapping(value = "/queryGroupList/v2")
     public Object queryGroupListV2(String search,String groupType,String musicGroupId,String classType) {
+        if (StringUtils.isNotBlank(classType) && classType.equals("SINGLE")) {
+            classType = "NORMAL";
+        }
         return succeed(imGroupService.queryByUserIdV2(userLoginService.getUserId(), search,groupType,musicGroupId,classType));
     }
 

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -128,6 +128,8 @@ public class TaskController extends BaseController {
     private StudentTeacherMapperService studentTeacherMapperService;
     @Autowired
     private TeacherCloudCourseReportService teacherCloudCourseReportService;
+    @Autowired
+    private LessonExaminationService lessonExaminationService;
 
     @Autowired
     private DegreeService degreeService;
@@ -271,6 +273,10 @@ public class TaskController extends BaseController {
 		imSendGroupMessageService.sendTimedMessages();
 		//更新乐团课统计信息
 		courseScheduleStatisticsService.courseScheduleStatistics();
+		//推送进度评测已截止消息
+		lessonExaminationService.pushEndMsg();
+        // 推送作业已截止消息
+        studentCourseHomeworkService.pushEndMsg();
 	}
 
 	@GetMapping("/updateVipGroupToFinishedStatus")