package com.example.xiaoshiweixinback.service.quartzService; import com.alibaba.fastjson.JSONArray; import com.example.xiaoshiweixinback.domain.PatentUpdateRecord; import com.example.xiaoshiweixinback.entity.dto.patent.ImportTaskAMVO; import com.example.xiaoshiweixinback.entity.quartz.QrtzTaskDTO; import com.example.xiaoshiweixinback.entity.quartz.QuartzVO; import com.example.xiaoshiweixinback.entity.quartzTask.UpdatePatentDTO; import com.example.xiaoshiweixinback.service.PatentUpdateRecordService; import com.example.xiaoshiweixinback.service.importPatent.ImportFromWebToEsService; import lombok.RequiredArgsConstructor; import org.quartz.DisallowConcurrentExecution; import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; import org.springframework.stereotype.Service; import java.util.List; @DisallowConcurrentExecution @RequiredArgsConstructor public class ImportJobService extends QuartzJobBean { private final ImportFromWebToEsService importFromWebToEsService; private final PatentUpdateRecordService patentUpdateRecordService; @Override public void executeInternal(JobExecutionContext context) throws JobExecutionException { JobDataMap jobDataMap = context.getTrigger().getJobDataMap(); QrtzTaskDTO qrtzTask = (QrtzTaskDTO) jobDataMap.get("qrtzTask"); String parameter = qrtzTask.getParameter(); if (parameter != null) { List updatePatentDTOS = JSONArray.parseArray(parameter, UpdatePatentDTO.class); for (UpdatePatentDTO updatePatentDTO : updatePatentDTOS) { PatentUpdateRecord patentUpdateRecord= patentUpdateRecordService.addLastRecord(updatePatentDTO.getDbType(),updatePatentDTO.getSearchCondition()); ImportTaskAMVO importTaskAMVO = new ImportTaskAMVO(); importTaskAMVO.setSearchCondition(updatePatentDTO.getSearchCondition()); importTaskAMVO.setOrderBy("PD"); importTaskAMVO.setOrderByType("DESC"); importTaskAMVO.setDbType(updatePatentDTO.getDbType()); importFromWebToEsService.ImportTask(importTaskAMVO); } } } }