ImportPatentQueenService.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package cn.cslg.pas.service.novelty;
  2. import cn.cslg.pas.common.dto.es.RefreshPatentDTO;
  3. import cn.cslg.pas.domain.business.novelty.ImportPatentQueen;
  4. import cn.cslg.pas.mapper.novelty.ImportPatentQueenMapper;
  5. import cn.cslg.pas.service.importPatent.ImportSinglePatentService;
  6. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  7. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  8. import lombok.RequiredArgsConstructor;
  9. import org.springframework.scheduling.annotation.Async;
  10. import org.springframework.stereotype.Service;
  11. /**
  12. * @author admin
  13. * @description 针对表【import_patent_queen(导入专利队列)】的数据库操作Service实现
  14. * @createDate 2024-09-27 10:49:45
  15. */
  16. @Service
  17. @RequiredArgsConstructor
  18. public class ImportPatentQueenService extends ServiceImpl<ImportPatentQueenMapper, ImportPatentQueen> {
  19. private final ImportSinglePatentService importSinglePatentService;
  20. private Integer total = 0;
  21. public void add(String patentNo, Integer projectId) {
  22. ImportPatentQueen importPatentQueen = new ImportPatentQueen();
  23. importPatentQueen.setPatentNo(patentNo);
  24. importPatentQueen.setProjectId(projectId);
  25. importPatentQueen.insert();
  26. this.startImport();
  27. }
  28. /**
  29. *
  30. */
  31. @Async
  32. public void importPatent(ImportPatentQueen importPatentQueen) {
  33. RefreshPatentDTO refreshPatentDTO = new RefreshPatentDTO();
  34. refreshPatentDTO.setPatentNo(importPatentQueen.getPatentNo());
  35. try {
  36. importSinglePatentService.refreshPatent(refreshPatentDTO);
  37. } catch (Exception e) {
  38. }
  39. total = total - 1;
  40. this.startImport();
  41. this.removeById(importPatentQueen);
  42. }
  43. public void startImport(){
  44. total += 1;
  45. if (total > 5) {
  46. return;
  47. }
  48. LambdaQueryWrapper<ImportPatentQueen> queryWrapper = new LambdaQueryWrapper<>();
  49. queryWrapper.eq(ImportPatentQueen::getState, 0);
  50. ImportPatentQueen importPatentQueen = this.getOne(queryWrapper, false);
  51. this.importPatent(importPatentQueen);
  52. }
  53. }