瀏覽代碼

屏蔽短信发送入口

xiaof 4 年之前
父節點
當前提交
26a55ef700

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java

@@ -84,7 +84,7 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
      */
     List<ReviewSampleDto> listReviewSampleInfoByExamTaskId(@Param("examTaskId") Long examTaskId);
 
-    List<ExamTask> listExamTaskExpire(@Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("examTaskStatus1") String[] examTaskStatus1);
+    List<ExamTask> listExamTaskExpire(@Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("status") String[] status);
 
-    List<ExamTask> listExamTaskAuditExpire(@Param("startTime") long startTime, @Param("endTime") long endTime, @Param("examTaskStatus2") String[] examTaskStatus2);
+    List<ExamTask> listExamTaskAuditExpire(@Param("startTime") Long startTime, @Param("endTime") Long endTime);
 }

+ 5 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java

@@ -127,4 +127,9 @@ public interface ExamTaskService extends IService<ExamTask> {
      * 发送即将到期数据短信提醒
      */
     void sendSmsExpireTask();
+
+    /**
+     * 发送已逾期数据短信提醒
+     */
+    void sendSmsOverdueTask();
 }

+ 60 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1090,25 +1090,25 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         return reviewSampleDtoList.get(0);
     }
 
+    /**
+     * 统计截止到当天为止的即将逾期的审核待办任务总数
+     */
     @Override
     public void sendSmsExpireTask() {
         SysConfig sysConfig = sysConfigService.getByKey("sys.warning.days");
         if (sysConfig != null && StringUtils.isNotBlank(sysConfig.getConfigValue())) {
             Integer configValue = Integer.valueOf(sysConfig.getConfigValue());
             // 当天15点
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 15:00:00");
-            Date thirteenDate = null;
-            try {
-                thirteenDate = sdf.parse(sdf.format(new Date()));
-            } catch (ParseException e) {
-                log.error("定时发送到期预警短信,时间格式化错误");
-            }
-            long startTime = thirteenDate.getTime();
-            // 3天前
-            Calendar cal = Calendar.getInstance();
-            cal.setTime(thirteenDate);
-            cal.add(Calendar.DATE, configValue);
-            long endTime = cal.getTimeInMillis();
+            Calendar c1 = Calendar.getInstance();
+            c1.set(Calendar.HOUR_OF_DAY, 15);
+            c1.set(Calendar.MINUTE, 0);
+            c1.set(Calendar.SECOND, 0);
+            long startTime = c1.getTimeInMillis();
+            // 3天后
+            Calendar c2 = Calendar.getInstance();
+            c2.setTime(c1.getTime());
+            c2.add(Calendar.DATE, configValue);
+            long endTime = c2.getTimeInMillis();
             // 命题任务到期预警
             String[] examTaskStatus1 = {ExamStatusEnum.READY.name(), ExamStatusEnum.STAGE.name()};
             List<ExamTask> examTasks1 = this.baseMapper.listExamTaskExpire(startTime, endTime, examTaskStatus1);
@@ -1129,7 +1129,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             }
 
             // 审核待办到期预警
-            List<ExamTask> examTasks3 = this.baseMapper.listExamTaskAuditExpire(startTime, endTime, examTaskStatus2);
+            List<ExamTask> examTasks3 = this.baseMapper.listExamTaskAuditExpire(startTime, endTime);
             if (examTasks3 != null && examTasks3.size() > 0) {
                 Map<Long, List<String>> listMap = examTasks3.stream().collect(Collectors.groupingBy(ExamTask::getCreateId, Collectors.mapping(m -> m.getId().toString(), Collectors.toList())));
                 for (Map.Entry<Long, List<String>> entry : listMap.entrySet()) {
@@ -1138,4 +1138,50 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             }
         }
     }
+
+    /**
+     * 统计当天逾期的审核任务增量
+     */
+    @Override
+    public void sendSmsOverdueTask() {
+        // 当天9点
+        Calendar c1 = Calendar.getInstance();
+        c1.set(Calendar.HOUR_OF_DAY, 9);
+        c1.set(Calendar.MINUTE, 0);
+        c1.set(Calendar.SECOND, 0);
+        long endTime = c1.getTimeInMillis();
+
+        // 1天前
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(c1.getTime());
+        cal.add(Calendar.DATE, -1);
+        long startTime = cal.getTimeInMillis();
+        // 命题任务已逾期
+        String[] examTaskStatus1 = {ExamStatusEnum.READY.name(), ExamStatusEnum.STAGE.name()};
+        List<ExamTask> examTasks1 = this.baseMapper.listExamTaskExpire(startTime, endTime, examTaskStatus1);
+        if (examTasks1 != null && examTasks1.size() > 0) {
+            Map<Long, List<String>> listMap = examTasks1.stream().collect(Collectors.groupingBy(ExamTask::getUserId, Collectors.mapping(m -> m.getId().toString(), Collectors.toList())));
+            for (Map.Entry<Long, List<String>> entry : listMap.entrySet()) {
+                basicMessageService.sendNoticeExpireOrOverdue(MessageEnum.NOTICE_OF_EXAM_TASK_OVERDUE, entry.getKey(), entry.getValue());
+            }
+        }
+        // 命题分配已逾期
+        String[] examTaskStatus2 = {ExamStatusEnum.NEW.name()};
+        List<ExamTask> examTasks2 = this.baseMapper.listExamTaskExpire(startTime, endTime, examTaskStatus2);
+        if (examTasks2 != null && examTasks2.size() > 0) {
+            Map<Long, List<String>> listMap = examTasks2.stream().collect(Collectors.groupingBy(ExamTask::getCreateId, Collectors.mapping(m -> m.getId().toString(), Collectors.toList())));
+            for (Map.Entry<Long, List<String>> entry : listMap.entrySet()) {
+                basicMessageService.sendNoticeExpireOrOverdue(MessageEnum.NOTICE_OF_ALLOCATION_OVERDUE, entry.getKey(), entry.getValue());
+            }
+        }
+
+        // 审核待办已逾期
+        List<ExamTask> examTasks3 = this.baseMapper.listExamTaskAuditExpire(startTime, endTime);
+        if (examTasks3 != null && examTasks3.size() > 0) {
+            Map<Long, List<String>> listMap = examTasks3.stream().collect(Collectors.groupingBy(ExamTask::getCreateId, Collectors.mapping(m -> m.getId().toString(), Collectors.toList())));
+            for (Map.Entry<Long, List<String>> entry : listMap.entrySet()) {
+                basicMessageService.sendNoticeExpireOrOverdue(MessageEnum.NOTICE_OF_AUDIT_OVERDUE, entry.getKey(), entry.getValue());
+            }
+        }
+    }
 }

+ 1 - 0
distributed-print-business/src/main/resources/mapper/BasicTemplateOrgMapper.xml

@@ -41,6 +41,7 @@
                 INNER JOIN
             basic_template tmp ON org.rule_id = tmp.id
         <where>
+            and tmp.enable = true
             AND (tmp.type = 'VARIABLE' OR tmp.type = 'ORDINARY')
         <if test="orgIds.size() == 0">
             AND org.org_id IN (null)

+ 1 - 1
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -557,7 +557,7 @@
         <where>
             and a.enable = true
             and a.review = true
-            and ((a.status = 'SUBMIT' and a.review_status is null) or (a.status = 'FINISH' and e.id is not null ))
+            and ((a.status = 'SUBMIT' and a.review_status is null) or (a.status = 'FINISH' and b.id is not null ))
             <if test="startTime != null and startTime != ''">
                 and a.end_time &gt;= #{startTime}
             </if>

+ 9 - 1
distributed-print-task/src/main/java/com/qmth/distributed/print/task/enums/JobEnum.java

@@ -17,7 +17,15 @@ public enum JobEnum {
 
     RESET_CREATE_PDF_JOB("重新生成pdf定时任务"),
 
-    RESET_CREATE_PDF_JOB_GROUP("重新生成pdfjob组");
+    RESET_CREATE_PDF_JOB_GROUP("重新生成pdfjob组"),
+
+    SMS_NOTICE_TASK_EXPIRE_JOB("任务到期提醒定时任务"),
+
+    SMS_NOTICE_TASK_EXPIRE_JOB_GROUP("任务到期提醒定时任务job组"),
+
+    SMS_NOTICE_TASK_OVERDUE_JOB("任务逾期提醒定时任务"),
+
+    SMS_NOTICE_TASK_OVERDUE_JOB_GROUP("任务逾期提醒定时任务job组");
 
     private String title;
 

+ 3 - 3
distributed-print-task/src/main/java/com/qmth/distributed/print/task/job/SendSmsOverDueJob.java → distributed-print-task/src/main/java/com/qmth/distributed/print/task/job/SendSmsOverdueJob.java

@@ -11,7 +11,7 @@ import java.io.IOException;
 /**
  * @Description: 发送已逾期数据(每天9点)
  */
-public class SendSmsOverDueJob extends QuartzJobBean {
+public class SendSmsOverdueJob extends QuartzJobBean {
 
     @Resource
     JobService jobService;
@@ -19,8 +19,8 @@ public class SendSmsOverDueJob extends QuartzJobBean {
     @Override
     protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         try {
-            jobService.resetCreatePdfTask();
-        } catch (IOException e) {
+            jobService.sendSmsOverdueTask();
+        } catch (Exception e) {
             e.printStackTrace();
         }
     }

+ 5 - 0
distributed-print-task/src/main/java/com/qmth/distributed/print/task/job/service/JobService.java

@@ -32,4 +32,9 @@ public interface JobService {
      * 发送即将到期数据
      */
     void sendSmsExpireTask();
+
+    /**
+     * 发送逾期数据
+     */
+    void sendSmsOverdueTask();
 }

+ 5 - 0
distributed-print-task/src/main/java/com/qmth/distributed/print/task/job/service/impl/JobServiceImpl.java

@@ -90,4 +90,9 @@ public class JobServiceImpl implements JobService {
     public void sendSmsExpireTask() {
         examTaskService.sendSmsExpireTask();
     }
+
+    @Override
+    public void sendSmsOverdueTask() {
+        examTaskService.sendSmsOverdueTask();
+    }
 }

+ 10 - 9
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -159,9 +159,9 @@ public class ExamTaskController {
     public Result save(@RequestBody ExamTask examTask) {
         ExamTask task = examTaskService.saveExamTask(examTask);
         // todo 发送短信
-        if(task.getId() != null){
-//            basicMessageService.sendNoticeTaskCreate(task);
-        }
+        /*if(task.getId() != null){
+            basicMessageService.sendNoticeTaskCreate(task);
+        }*/
         return ResultUtil.ok(true);
     }
 
@@ -206,11 +206,11 @@ public class ExamTaskController {
     @RequestMapping(value = "/save_batch", method = RequestMethod.POST)
     public Result saveBatch(@RequestBody ExamTask task) {
         List<ExamTask> examTasks = examTaskService.saveBatch(task);
-        if(examTasks != null && examTasks.size() > 0){
+        /*if(examTasks != null && examTasks.size() > 0){
             // todo 发送短信
             ExamTask[] tasks = examTasks.toArray(new ExamTask[examTasks.size()]);
-//            basicMessageService.sendNoticeTaskCreate(tasks);
-        }
+            basicMessageService.sendNoticeTaskCreate(tasks);
+        }*/
         return ResultUtil.ok(true);
     }
 
@@ -291,9 +291,9 @@ public class ExamTaskController {
             commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), (SysUser) ServletUtil.getRequestUser());
         }
         // todo 待审核状态,发送短信
-        if(ExamStatusEnum.SUBMIT.name().equals(examTask.getStatus())){
+        /*if(ExamStatusEnum.SUBMIT.name().equals(examTask.getStatus())){
             basicMessageService.sendNoticeTaskAuditCreateOrReview(examTask, MessageEnum.NOTICE_OF_AUDIT_CREATED);
-        }
+        }*/
 
         return ResultUtil.ok(isSuccess);
     }
@@ -495,7 +495,8 @@ public class ExamTaskController {
         if(isSuccess){
             ExamTask examTask = examTaskService.getById(examTaskDetail.getExamTaskId());
             if(examTask.getReview()){
-                basicMessageService.sendNoticeTaskAuditCreateOrReview(examTask, MessageEnum.NOTICE_OF_AUDIT_REVIEW);
+                // todo 发送短信
+//                basicMessageService.sendNoticeTaskAuditCreateOrReview(examTask, MessageEnum.NOTICE_OF_AUDIT_REVIEW);
             } else {
                 SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
                 // 校验是否可以提交打印状态

+ 16 - 0
distributed-print/src/main/java/com/qmth/distributed/print/start/StartRunning.java

@@ -60,6 +60,22 @@ public class StartRunning implements CommandLineRunner {
         quartzService.addJob(ResetCreatePdfJob.class, JobEnum.RESET_CREATE_PDF_JOB.name(), JobEnum.RESET_CREATE_PDF_JOB_GROUP.name(), "0 0/1 * * * ?", taskJobMap);
         log.info("增加重新生成pdf定时任务 end");
 
+//        log.info("增加任务到期提醒定时任务 start");
+//        Map expireJobMap = new HashMap();
+//        expireJobMap.computeIfAbsent("name", v -> SendSmsExpireJob.class.getName());
+//        quartzService.deleteJob(JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB.name(), JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB_GROUP.name());
+//        // 每天15点定时任务
+//        quartzService.addJob(SendSmsExpireJob.class, JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB.name(), JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB_GROUP.name(), "0 0 15 * * ?", expireJobMap);
+//        log.info("增加任务到期提醒定时任务 end");
+//
+//        log.info("增加任务逾期提醒定时任务 start");
+//        Map orverdueJobMap = new HashMap();
+//        orverdueJobMap.computeIfAbsent("name", v -> SendSmsOverdueJob.class.getName());
+//        quartzService.deleteJob(JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB.name(), JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB_GROUP.name());
+//        // 每天9点定时任务
+//        quartzService.addJob(SendSmsOverdueJob.class, JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB.name(), JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB_GROUP.name(), "0 */5 * * * ?", orverdueJobMap);
+//        log.info("增加任务逾期提醒定时任务 end");
+
         log.info("服务器启动时执行 end");
     }
 }