package cn.cslg.pas.service.novelty; import cn.cslg.pas.common.dto.es.RefreshPatentDTO; import cn.cslg.pas.domain.business.novelty.ImportPatentQueen; import cn.cslg.pas.mapper.novelty.ImportPatentQueenMapper; import cn.cslg.pas.service.importPatent.ImportSinglePatentService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; /** * @author admin * @description 针对表【import_patent_queen(导入专利队列)】的数据库操作Service实现 * @createDate 2024-09-27 10:49:45 */ @Service @RequiredArgsConstructor public class ImportPatentQueenService extends ServiceImpl { private final ImportSinglePatentService importSinglePatentService; private Integer total = 0; public void add(String patentNo, Integer projectId) { ImportPatentQueen importPatentQueen = new ImportPatentQueen(); importPatentQueen.setPatentNo(patentNo); importPatentQueen.setProjectId(projectId); importPatentQueen.insert(); this.startImport(); } /** * */ @Async public void importPatent(ImportPatentQueen importPatentQueen) { RefreshPatentDTO refreshPatentDTO = new RefreshPatentDTO(); refreshPatentDTO.setPatentNo(importPatentQueen.getPatentNo()); try { importSinglePatentService.refreshPatent(refreshPatentDTO); } catch (Exception e) { } total = total - 1; this.startImport(); this.removeById(importPatentQueen); } public void startImport(){ total += 1; if (total > 5) { return; } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ImportPatentQueen::getState, 0); ImportPatentQueen importPatentQueen = this.getOne(queryWrapper, false); this.importPatent(importPatentQueen); } }