Forráskód Böngészése

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/main/java/com/example/demo/service/UploadFromWebService.java
chendayu 2 éve
szülő
commit
e57489dd3c

+ 17 - 8
src/main/java/com/example/demo/controller/QuartzController.java

@@ -6,10 +6,7 @@ import com.example.demo.service.JobService;
 import lombok.RequiredArgsConstructor;
 import org.quartz.SchedulerException;
 import org.springframework.context.annotation.Lazy;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 @RestController
@@ -17,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class QuartzController {
     private final JobService jobService;
-@GetMapping("/add")
+@PostMapping("/add")
     public void addJob(@RequestBody QuartzTaskDTO quartzTaskDTO) throws InterruptedException, SchedulerException {
 
     jobService.addJob(quartzTaskDTO);
@@ -29,9 +26,21 @@ public class QuartzController {
         jobService.deleteJob(taskId);
 
     }
-    @GetMapping("/update")
-    public void update(Integer taskId,String cron) throws InterruptedException, SchedulerException {
-        jobService.updateJob(taskId,cron);
+    @PostMapping("/update")
+    public void update(@RequestBody QuartzTaskDTO quartzTaskDTO) throws InterruptedException, SchedulerException {
+        jobService.updateJob(quartzTaskDTO);
+
+    }
+
+    @GetMapping("/pauseJob")
+    public void pauseJob(Integer taskId) throws InterruptedException, SchedulerException {
+        jobService.pauseJob(taskId);
+
+    }
+
+    @GetMapping("/resumeJob")
+    public void resumeJob(Integer taskId) throws InterruptedException, SchedulerException {
+        jobService.resumeJob(taskId);
 
     }
 

+ 25 - 0
src/main/java/com/example/demo/domain/Sources.java

@@ -0,0 +1,25 @@
+package com.example.demo.domain;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 管理员表
+ * </p>
+ *
+ * @author 王岩
+ * @since 2022-03-25
+ */
+@Data
+/*数据库中的表对应的类
+ */
+public class Sources {
+     private Integer sourceId;
+     private String webSiteName;
+     private String patentNo;
+     private String title;
+     private String publicDate;
+}

+ 1 - 0
src/main/java/com/example/demo/model/dto/QuartzTaskDTO.java

@@ -9,4 +9,5 @@ public class QuartzTaskDTO {
     private String cron;
     private String conditions;
     private Integer webConfigId;
+    private Integer taskId;
 }

+ 18 - 10
src/main/java/com/example/demo/service/JobService.java

@@ -10,6 +10,8 @@ import org.quartz.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestBody;
 
 @Service
 @Slf4j
@@ -39,9 +41,10 @@ public class JobService {
      */
     public void pauseJob(Integer taskId) throws SchedulerException {
         QuartzVO quartzVO=this.generateQuartzVO(taskId);
-        TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
-        scheduler.pauseTrigger(triggerKey);
-        scheduler.unscheduleJob(triggerKey);
+        qrTaskService.updateState(taskId,0);
+//        TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
+//        scheduler.pauseTrigger(triggerKey);
+//        scheduler.unscheduleJob(triggerKey);
         JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(),quartzVO.getJobGroupName());
         scheduler.pauseJob(jobKey);
     }
@@ -53,9 +56,10 @@ public class JobService {
      */
     public void resumeJob(Integer taskId) throws SchedulerException {
         QuartzVO quartzVO=this.generateQuartzVO(taskId);
-        TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
-        scheduler.pauseTrigger(triggerKey);
-        scheduler.unscheduleJob(triggerKey);
+         qrTaskService.updateState(taskId,1);
+//        TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
+//        scheduler.pauseTrigger(triggerKey);
+//        scheduler.unscheduleJob(triggerKey);
         JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(), quartzVO.getJobGroupName());
         scheduler.resumeJob(jobKey);
     }
@@ -63,13 +67,16 @@ public class JobService {
     /**
      * 修改定时任务
      *
-     * @param cron          新的cron表达式
+     * @param
      */
-    public void updateJob(Integer taskId, String cron) {
-        QuartzVO quartzVO=this.generateQuartzVO(taskId);
+    public void updateJob( QuartzTaskDTO quartzTaskDTO) {
+        //更新任务
+     QrtzTask qrtzTask=   qrTaskService.updateQuartzTask(quartzTaskDTO);
+        QuartzVO quartzVO=this.generateQuartzVO(quartzTaskDTO.getTaskId());
         JobDataMap jobDataMap =new JobDataMap();
+        jobDataMap.put("qrtzTask",qrtzTask);
         TriggerKey oldTriggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
-        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cron);
+        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(quartzTaskDTO.getCron());
         CronTrigger cronTrigger = TriggerBuilder.newTrigger()
                 .withIdentity(oldTriggerKey).usingJobData(jobDataMap).withSchedule(scheduleBuilder).build();
         try {
@@ -84,6 +91,7 @@ public class JobService {
      *
      * @throws SchedulerException
      */
+    @Transactional
     public void addJob(QuartzTaskDTO quartzTaskDTO) throws SchedulerException {
         //添加一条任务记录
         QrtzTask qrtzTask= qrTaskService.addQuartzTask(quartzTaskDTO);

+ 15 - 1
src/main/java/com/example/demo/service/QrTaskService.java

@@ -24,13 +24,27 @@ public class QrTaskService extends ServiceImpl<QrtzTaskMapper, QrtzTask> {
         QrtzTask qrtzTask = new QrtzTask();
         qrtzTask.setConditions(quartzTaskDTO.getConditions());
         qrtzTask.setProjectId(quartzTaskDTO.getProjectId());
-        qrtzTask.setTaskState(0);
+        qrtzTask.setTaskState(1);
         qrtzTask.setCrons(quartzTaskDTO.getCron());
         qrtzTask.insert();
         return qrtzTask;
     }
 
+    public QrtzTask updateQuartzTask(QuartzTaskDTO quartzTaskDTO) {
+        QrtzTask qrtzTask =this.getById(quartzTaskDTO.getTaskId());
+        qrtzTask.setConditions(quartzTaskDTO.getConditions());
+        qrtzTask.setCrons(quartzTaskDTO.getCron());
+        qrtzTask.updateById();
+        return qrtzTask;
+    }
 
+
+    public QrtzTask updateState(Integer taskId,Integer state) {
+        QrtzTask qrtzTask =this.getById(taskId);
+        qrtzTask.setTaskState(state);
+        qrtzTask.updateById();
+        return qrtzTask;
+    }
 }
 
 

+ 3 - 2
src/main/java/com/example/demo/service/WebUploadJob.java

@@ -1,5 +1,6 @@
 package com.example.demo.service;
 
+import com.example.demo.domain.QrtzTask;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.quartz.JobDataMap;
@@ -17,7 +18,7 @@ public class WebUploadJob extends QuartzJobBean {
     @Override
     protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
         JobDataMap jobDataMap =   context.getTrigger().getJobDataMap();
-
-        logger.info("信息是");
+        QrtzTask qrtzTask = (QrtzTask) jobDataMap.get("qrtzTask");
+        logger.info("信息是"+qrtzTask);
     }
 }

+ 20 - 0
src/main/java/com/example/demo/util/FileUtils.java

@@ -2,6 +2,7 @@ package com.example.demo.util;
 
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSON;
 import com.example.demo.domain.UploadFileDTO;
 import org.apache.commons.fileupload.FileItem;
 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
@@ -259,5 +260,24 @@ public class FileUtils {
      return  path;
 
     }
+
+    public static String readerMethod() throws IOException {
+       String ah= FileUtils.getStaticPath("setting.json");
+        File file = new File(ah);
+        FileReader fileReader = new FileReader(file);
+        Reader reader = new InputStreamReader(new FileInputStream(file), "Utf-8");
+        int ch = 0;
+        StringBuffer sb = new StringBuffer();
+        while ((ch = reader.read()) != -1) {
+            sb.append((char) ch);
+        }
+        fileReader.close();
+        reader.close();
+        String jsonStr = sb.toString();
+       return jsonStr;
+    }
+
+
+
 }
 

+ 1 - 1
src/main/resources/application.yml

@@ -28,7 +28,7 @@ spring:
             tablePrefix: QRTZ_
             isClustered: false
             clusterCheckinInterval: 10000
-            useProperties: true
+            useProperties: false
           threadPool:
             class: org.quartz.simpl.SimpleThreadPool
             threadCount: 10