Browse Source

定时通知

liujc 2 years ago
parent
commit
1ba53e129e
17 changed files with 170 additions and 19 deletions
  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. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkListDto.java
  5. 11 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupExtracurricularSummaryDto.java
  6. 11 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomework.java
  7. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercises.java
  8. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  9. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentCourseHomeworkService.java
  10. 55 13
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java
  11. 9 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java
  12. 16 0
      mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  13. 1 1
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  14. 15 0
      mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml
  15. 10 0
      mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml
  16. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml
  17. 2 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();
 }

+ 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/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课申请结果"),

+ 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();
 }

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

@@ -20,8 +20,7 @@ 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;
@@ -35,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;
@@ -367,15 +358,27 @@ 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("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, "homework?" + 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);
@@ -385,7 +388,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
                 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.STUDENT_PUSH_JOB_MESSAGE, receivers, null, 0, sb.toString(), "STUDENT");
+                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.PUSH_NO_SUBMIT_LESSON_EXAMINATION, receivers, null, 0, sb.toString(), "STUDENT");
             }
         }
 
@@ -1090,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)) {

+ 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/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 != ''">

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

@@ -272,6 +272,8 @@ public class TaskController extends BaseController {
 		courseScheduleStatisticsService.courseScheduleStatistics();
 		//推送进度评测已截止消息
 		lessonExaminationService.pushEndMsg();
+        // 推送作业已截止消息
+        studentCourseHomeworkService.pushEndMsg();
 	}
 
 	@GetMapping("/updateVipGroupToFinishedStatus")