Преглед на файлове

考试站内信代码提交

pans преди 6 месеца
родител
ревизия
eddfb200d1

+ 2 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/CourseOpenMapper.java

@@ -46,4 +46,6 @@ public interface CourseOpenMapper extends BaseMapper<CourseOpen> {
      * 课程开课-历史开课统计
      */
     Page<Map<String,Object>> historyProgressPage(@Param("param") Map param, @Param("page") Page<Object> page);
+
+    List<String> selectUserId(@Param("semesterId") String semesterId, @Param("courseId") String courseId);
 }

+ 12 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseOpenMapper.xml

@@ -107,6 +107,18 @@
           a.SEMESTER_ID = #{semesterId}
         AND a.COURSE_ID = #{courseId}
   </select>
+
+
+    <select id="selectUserId" resultType="string">
+        SELECT
+            b.id
+        FROM
+            COURSE_OPEN a
+                JOIN SYS_USER b ON  a.GRADES_ID = b.GRADES_ID
+        WHERE
+            a.SEMESTER_ID = #{semesterId}
+          AND a.COURSE_ID = #{courseId}
+    </select>
     <select id="historyProgressPage" resultType="java.util.Map">
         SELECT
             t1.COURSE_ID AS courseId,

+ 8 - 6
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/job/task/ExamJobTimerTaskRunner.java

@@ -5,13 +5,14 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import vip.xiaonuo.common.timer.CommonTimerTaskRunner;
 import vip.xiaonuo.dev.api.DevJobApi;
+import vip.xiaonuo.dev.modular.message.enums.DevMessageCategoryEnum;
 import vip.xiaonuo.dev.modular.message.param.DevMessageSendParam;
 import vip.xiaonuo.dev.modular.message.service.DevMessageService;
+import vip.xiaonuo.disk.mapper.CourseOpenMapper;
 import vip.xiaonuo.exam.domain.TExam;
 import vip.xiaonuo.exam.mapper.TExamMapper;
 
 import javax.annotation.Resource;
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -34,8 +35,8 @@ public class ExamJobTimerTaskRunner implements CommonTimerTaskRunner {
 
     @Resource
     private DevMessageService devMessageService;
-
-
+    @Resource
+    private CourseOpenMapper courseOpenMapper;
 
     /**
      * 任务执行的具体内容
@@ -59,10 +60,11 @@ public class ExamJobTimerTaskRunner implements CommonTimerTaskRunner {
                         taskExam.setExamStatus(1);
                         texamMapper.updateById(taskExam);
 
-                        //给相关的学生发送站内信消息
-                        List<String> studentAccounts = Arrays.asList(taskExam.getStudentIds().split(","));
+                        List<String> userIds=courseOpenMapper.selectUserId(taskExam.getSemesterId(),taskExam.getCourseId());
+                        //给课程下关联的学生发送站内信消息
                         DevMessageSendParam devMessageSendParam=new DevMessageSendParam();
-                        devMessageSendParam.setReceiverIdList(studentAccounts);
+                        devMessageSendParam.setReceiverIdList(userIds);
+                        devMessageSendParam.setCategory(DevMessageCategoryEnum.BIZ.getValue());
                         devMessageSendParam.setSubject(taskExam.getExamName());
                         devMessageSendParam.setContent(taskExam.getExamName()+"已开始!!!");
                         devMessageService.send(devMessageSendParam);

+ 10 - 3
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/TExamServiceImpl.java

@@ -29,6 +29,7 @@ import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.dev.api.DevJobApi;
+import vip.xiaonuo.dev.modular.message.enums.DevMessageCategoryEnum;
 import vip.xiaonuo.dev.modular.message.param.DevMessageSendParam;
 import vip.xiaonuo.dev.modular.message.service.DevMessageService;
 import vip.xiaonuo.disk.api.NetDiskApi;
@@ -151,11 +152,13 @@ public class TExamServiceImpl extends ServiceImpl<TExamMapper, TExam> implements
             this.addJob(tExam, "start");
             this.addJob(tExam, "end");
         }
+        List<String> userIds=courseOpenMapper.selectUserId(tExamAddParam.getSemesterId(),tExamAddParam.getCourseId());
         //给课程下关联的学生发送站内信消息
-        if(CollectionUtil.isNotEmpty(studentAccounts)&&"1".equals(tExamAddParam.getExamStatus())){
+        if(CollectionUtil.isNotEmpty(userIds)&&tExamAddParam.getExamStatus()==1){
             DevMessageSendParam devMessageSendParam=new DevMessageSendParam();
             devMessageSendParam.setReceiverIdList(studentAccounts);
             devMessageSendParam.setSubject(tExamAddParam.getExamName());
+            devMessageSendParam.setCategory(DevMessageCategoryEnum.BIZ.getValue());
             devMessageSendParam.setContent(tExamAddParam.getExamName()+"已开始!!!");
             devMessageService.send(devMessageSendParam);
         }
@@ -236,10 +239,14 @@ public class TExamServiceImpl extends ServiceImpl<TExamMapper, TExam> implements
         BeanUtil.copyProperties(tExamEditParam, tExam);
         this.updateById(tExam);
 
+
+        List<String> userIds=courseOpenMapper.selectUserId(tExamEditParam.getSemesterId(),tExamEditParam.getCourseId());
+
         //给课程下关联的学生发送站内信消息
-        if(CollectionUtil.isNotEmpty(studentAccounts)&&"1".equals(tExamEditParam.getExamStatus())){
+        if(CollectionUtil.isNotEmpty(userIds)&&tExamEditParam.getExamStatus()==1){
             DevMessageSendParam devMessageSendParam=new DevMessageSendParam();
-            devMessageSendParam.setReceiverIdList(studentAccounts);
+            devMessageSendParam.setReceiverIdList(userIds);
+            devMessageSendParam.setCategory(DevMessageCategoryEnum.BIZ.getValue());
             devMessageSendParam.setSubject(tExamEditParam.getExamName());
             devMessageSendParam.setContent(tExamEditParam.getExamName()+"已开始!!!");
             devMessageService.send(devMessageSendParam);