NatureArticlePipeline.java
1.28 KB
package com.canrd.webmagic.processor.pipeline;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.canrd.webmagic.domain.dto.NatureArticleDO;
import com.canrd.webmagic.service.NatureArticleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import us.codecraft.webmagic.ResultItems;
import us.codecraft.webmagic.Task;
import us.codecraft.webmagic.pipeline.Pipeline;
import java.util.Objects;
@Component
public class NatureArticlePipeline implements Pipeline {
private NatureArticleService natureArticleService;
@Autowired
public void setNatureArticleService(NatureArticleService natureArticleService) {
this.natureArticleService = natureArticleService;
}
@Override
public void process(ResultItems resultItems, Task task) {
NatureArticleDO articleDO = resultItems.get("article");
if (Objects.nonNull(articleDO)) {
NatureArticleDO natureArticleDO = natureArticleService.getOne(new LambdaQueryWrapper<NatureArticleDO>().eq(NatureArticleDO::getArticleCode, articleDO.getArticleCode()));
if (Objects.nonNull(natureArticleDO)) {
return;
}
natureArticleService.save(articleDO);
}
}
}