wangliang 4 anos atrás
pai
commit
9441c106c9

+ 2 - 0
distributed-print-task/src/main/java/com/qmth/distributed/print/task/job/TimedSyncSchoolJob.java

@@ -14,6 +14,7 @@ import java.io.IOException;
  * @Date: 2021-04-19
  * @Date: 2021-04-19
  */
  */
 public class TimedSyncSchoolJob extends QuartzJobBean {
 public class TimedSyncSchoolJob extends QuartzJobBean {
+
     @Resource
     @Resource
     JobService jobService;
     JobService jobService;
 
 
@@ -21,6 +22,7 @@ public class TimedSyncSchoolJob extends QuartzJobBean {
     protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
     protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         try {
         try {
             jobService.updateSchoolInfo();
             jobService.updateSchoolInfo();
+            jobService.updatePrintPlan();
         } catch (IOException e) {
         } catch (IOException e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }

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

@@ -15,4 +15,9 @@ public interface JobService {
      * 同步学校信息
      * 同步学校信息
      */
      */
     void updateSchoolInfo() throws IOException;
     void updateSchoolInfo() throws IOException;
+
+    /**
+     * 更新印刷计划状态
+     */
+    void updatePrintPlan();
 }
 }

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

@@ -1,13 +1,20 @@
 package com.qmth.distributed.print.task.job.service.impl;
 package com.qmth.distributed.print.task.job.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qmth.distributed.print.business.entity.ExamPrintPlan;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
+import com.qmth.distributed.print.business.service.ExamPrintPlanService;
 import com.qmth.distributed.print.business.service.OrgCenterDataDisposeService;
 import com.qmth.distributed.print.business.service.OrgCenterDataDisposeService;
 import com.qmth.distributed.print.task.job.service.JobService;
 import com.qmth.distributed.print.task.job.service.JobService;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.io.IOException;
 import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
 
 
 /**
 /**
  * @Description: job service impl
  * @Description: job service impl
@@ -23,8 +30,28 @@ public class JobServiceImpl implements JobService {
     @Resource
     @Resource
     OrgCenterDataDisposeService orgCenterDataDisposeService;
     OrgCenterDataDisposeService orgCenterDataDisposeService;
 
 
+    @Resource
+    ExamPrintPlanService examPrintPlanService;
+
     @Override
     @Override
     public void updateSchoolInfo() throws IOException {
     public void updateSchoolInfo() throws IOException {
         orgCenterDataDisposeService.updateSchoolInfo();
         orgCenterDataDisposeService.updateSchoolInfo();
     }
     }
+
+    /**
+     * 更新印刷计划状态
+     */
+    @Override
+    @Transactional
+    public void updatePrintPlan() {
+        QueryWrapper<ExamPrintPlan> examPrintPlanQueryWrapper = new QueryWrapper<>();
+        examPrintPlanQueryWrapper.lambda().ne(ExamPrintPlan::getStatus, PrintPlanStatusEnum.END);
+        List<ExamPrintPlan> examPrintPlanList = examPrintPlanService.list(examPrintPlanQueryWrapper);
+        for (ExamPrintPlan examPrintPlan : examPrintPlanList) {
+            if (Objects.nonNull(examPrintPlan.getExamEndTime()) && System.currentTimeMillis() >= examPrintPlan.getExamEndTime()) {
+                examPrintPlan.setStatus(PrintPlanStatusEnum.END);
+            }
+        }
+        examPrintPlanService.saveOrUpdateBatch(examPrintPlanList);
+    }
 }
 }