SysImportPatentJobService.java 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package cn.cslg.pas.service.quartzService;
  2. import cn.cslg.pas.common.core.base.Cycle;
  3. import cn.cslg.pas.common.utils.DateUtils2;
  4. import cn.cslg.pas.common.utils.utilVO.CheckDateConditionVO;
  5. import cn.cslg.pas.common.utils.utilVO.NowDateFirstMessVO;
  6. import cn.cslg.pas.domain.business.ImportTaskCondition;
  7. import cn.cslg.pas.domain.business.PatentProject;
  8. import cn.cslg.pas.service.MailSendService;
  9. import cn.cslg.pas.service.business.ImportTaskConditionService;
  10. import cn.cslg.pas.service.business.ImportTaskService;
  11. import cn.cslg.pas.service.business.PatentProjectService;
  12. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  13. import lombok.RequiredArgsConstructor;
  14. import org.quartz.DisallowConcurrentExecution;
  15. import org.quartz.JobDataMap;
  16. import org.quartz.JobExecutionContext;
  17. import org.quartz.JobExecutionException;
  18. import org.springframework.scheduling.quartz.QuartzJobBean;
  19. import java.time.LocalDate;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. import java.util.stream.Collectors;
  23. @DisallowConcurrentExecution
  24. @RequiredArgsConstructor
  25. public class SysImportPatentJobService extends QuartzJobBean {
  26. private final ImportTaskConditionService importTaskConditionService;
  27. private final ImportTaskService importTaskService;
  28. private final PatentProjectService patentProjectService;
  29. private final MailSendService mailSendService;
  30. @Override
  31. public void executeInternal(JobExecutionContext context) throws JobExecutionException {
  32. mailSendService.sendSysCycleStartEmail();
  33. System.out.println("task start");
  34. this.addChinesePatent();
  35. }
  36. public void addChinesePatent() {
  37. List<String> cycles =this.getCnCycles();
  38. LambdaQueryWrapper<PatentProject> queryWrapper = new LambdaQueryWrapper<>();
  39. queryWrapper.eq(PatentProject::getIfUpdate, true);
  40. if(cycles!=null&&cycles.size()>0){
  41. queryWrapper.in(PatentProject::getUpdateCycle,cycles);
  42. }
  43. List<PatentProject> patentProjects = patentProjectService.list(queryWrapper);
  44. if (patentProjects != null && patentProjects.size() != 0) {
  45. List<Integer> projectId = patentProjects.stream().map(PatentProject::getProjectId).collect(Collectors.toList());
  46. //根据id查询检索条件
  47. LambdaQueryWrapper<ImportTaskCondition> queryWrapper1 = new LambdaQueryWrapper<>();
  48. queryWrapper1.in(ImportTaskCondition::getProjectId, projectId);
  49. queryWrapper1.eq(ImportTaskCondition::getIfCycle, true)
  50. .eq(ImportTaskCondition::getIfUpdate, true);
  51. List<ImportTaskCondition> importTaskConditions = importTaskConditionService.list(queryWrapper1);
  52. importTaskConditions.forEach(item -> {
  53. PatentProject project = patentProjects.stream().filter(t -> t.getProjectId().equals(item.getProjectId())).findFirst().orElse(null);
  54. importTaskService.addImportTaskByCondition(item, project);
  55. });
  56. }
  57. }
  58. public List<String> getCnCycles() {
  59. CheckDateConditionVO checkDateConditionVO = DateUtils2.checkDateCycleCondition(null);
  60. Boolean ifMeetMonth = checkDateConditionVO.getIfMeetMonth();
  61. Boolean ifMeetQuarter = checkDateConditionVO.getIfMeetQuarter();
  62. Boolean ifMeetYear = checkDateConditionVO.getIfMeetYear();
  63. List<String> cycles = new ArrayList<>();
  64. cycles.add(Cycle.WEEK);
  65. if (ifMeetMonth != null && ifMeetMonth) {
  66. cycles.add(Cycle.MONTH);
  67. }
  68. if (ifMeetQuarter != null && ifMeetQuarter) {
  69. cycles.add(Cycle.QUARTER);
  70. }
  71. if (ifMeetYear != null && ifMeetYear) {
  72. cycles.add(Cycle.YEAR);
  73. }
  74. return cycles;
  75. }
  76. }