ArchiveUploadJob.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.yihu.hos.service;
  2. import com.yihu.hos.common.Services;
  3. import com.yihu.hos.core.datatype.DateUtil;
  4. import com.yihu.hos.core.log.Logger;
  5. import com.yihu.hos.core.log.LoggerFactory;
  6. import com.yihu.hos.crawler.service.CrawlerManager;
  7. import com.yihu.hos.datacollect.model.RsJobConfig;
  8. import com.yihu.hos.datacollect.service.intf.IDatacollectManager;
  9. import com.yihu.hos.web.framework.model.DataGridResult;
  10. import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
  11. import java.util.Date;
  12. import java.util.HashMap;
  13. import java.util.Map;
  14. import java.util.UUID;
  15. /**
  16. * Created by hzp on 2016/5/11.
  17. */
  18. public class ArchiveUploadJob implements IBaseJob {
  19. private static Logger logger = LoggerFactory.getLogger(ArchiveUploadJob.class);
  20. @Override
  21. public void execute(String jobId) throws Exception{
  22. String random = UUID.randomUUID().toString();
  23. logger.info("档案采集上传开始,流水号:" + random + ",jobId:"+jobId);
  24. IDatacollectManager datacollect = SpringBeanUtil.getService(Services.Datacollect);
  25. RsJobConfig job = datacollect.getJobById(jobId);
  26. Map<String, Object> condition = new HashMap<>();
  27. Date begin = job.getRepeatStartTime();
  28. Date end = job.getRepeatEndTime();
  29. if (!job.getJobType().equals("0")) {
  30. //调整截止时间,当前时间-偏移量
  31. end = DateUtil.addDate(-job.getDelayTime(), DateUtil.getSysDateTime());
  32. if ((end.getTime() - begin.getTime()) <= 0) {
  33. return; //结束时间小于开始时间时,不获取
  34. }
  35. }
  36. condition.put("beginDate", begin);
  37. condition.put("endDate", end);
  38. DataGridResult result = datacollect.getJobDatasetByJobId(jobId);
  39. CrawlerManager crawlerManager = new CrawlerManager(result.getDetailModelList(), job.getSchemeVersion());
  40. String message = crawlerManager.dataCrawler(condition);
  41. if (!job.getJobType().equals("0")) {
  42. job.setRepeatStartTime(end);
  43. job.setRepeatEndTime(DateUtil.formatYMDToYMDHMS(DateUtil.getSysDateTime().toString()));
  44. }
  45. datacollect.updateJob(job);
  46. logger.info("档案采集上传结束,流水号:" + random + ",jobId:" + jobId + ",message:" + message);
  47. return;
  48. }
  49. }