zouxuan 2 lat temu
rodzic
commit
2564adc189

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

@@ -36,6 +36,6 @@ public interface LessonExaminationDao extends BaseMapper<LessonExamination> {
 
     void updateStandardNum(@Param("lessonExaminationId") Long lessonExaminationId);
 
-    List<LessonExamination> queryEndList(@Param("date") String date);
+    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);
 }
 

+ 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;
 

+ 7 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/LessonExaminationServiceImpl.java

@@ -205,12 +205,14 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void pushEndMsg() {
-        String date = DateUtil.dateToString(DateUtil.addDays(new Date(), 1),DateUtil.ISO_EXPANDED_DATE_FORMAT);
-        //获取即将截止的测验列表
-        List<LessonExamination> lessonExaminations = baseMapper.queryEndList(date);
+        //获取截止的测验列表
+        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();
@@ -218,6 +220,8 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
                 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();
         }
     }
 

+ 15 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -25,10 +25,7 @@ import com.ym.mec.biz.dal.dto.StudentLessonTrainingDetailWrapper;
 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;
@@ -54,12 +51,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 +115,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
     private MusicGroupService musicGroupService;
 
     @Autowired
-    private ExtracurricularExercisesService  extracurricularExercisesService;
+    private StudentLessonExaminationDao studentLessonExaminationDao;
 
     @Autowired
     private StudentLessonTrainingDetailService studentLessonTrainingDetailService;
@@ -385,6 +376,19 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_JOB_MESSAGE, receivers, null, 0, "homework?" + sb, "STUDENT", sch.getCourseHomework()
                     .getMusicGroup().getName(), sch.getCourseHomework().getClassGroup().getName());
         }
+        //获取即将截止的测评
+        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.STUDENT_PUSH_JOB_MESSAGE, receivers, null, 0, sb.toString(), "STUDENT");
+            }
+        }
+
     }
 
     @Override

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

@@ -137,8 +137,7 @@
         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 DATE_FORMAT(expire_date_,'%Y-%m-%d') = #{date} AND push_flag_ = 0
+        select * from lesson_examination where NOW() > expire_date_ AND push_flag_ = 0
     </select>
 
 </mapper>

+ 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>