|
@@ -180,7 +180,7 @@ public class XxlJobService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- saveLongArticlesRootSourceId(saveList);
|
|
|
+ saveLongArticlesRootSourceId(longArticlesVideo.getTraceId(), saveList);
|
|
|
} catch (DuplicateKeyException e) {
|
|
|
log.error("Error processCrawlerEachData: {}", JSONObject.toJSONString(longArticlesVideo), e);
|
|
|
String errMsg = e.getMessage().substring(0, e.getMessage().indexOf("### The error"));
|
|
@@ -191,8 +191,12 @@ public class XxlJobService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void saveLongArticlesRootSourceId(List<LongArticlesRootSourceId> saveList) {
|
|
|
+ private void saveLongArticlesRootSourceId(String traceId, List<LongArticlesRootSourceId> saveList) {
|
|
|
if (CollectionUtil.isNotEmpty(saveList)) {
|
|
|
+ int count = longArticlesRootSourceIdRepository.countByTraceId(traceId);
|
|
|
+ if (count > 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
List<String> rootSourceIds = saveList.stream().map(LongArticlesRootSourceId::getRootSourceId).distinct().collect(Collectors.toList());
|
|
|
List<LongArticlesRootSourceId> existList = longArticlesRootSourceIdRepository.getByRootSourceIdIn(rootSourceIds);
|
|
|
for (LongArticlesRootSourceId existItem : existList) {
|
|
@@ -250,7 +254,7 @@ public class XxlJobService {
|
|
|
saveItem.setVideoId(jsonNode.getLong("videoId"));
|
|
|
saveList.add(saveItem);
|
|
|
}
|
|
|
- saveLongArticlesRootSourceId(saveList);
|
|
|
+ saveLongArticlesRootSourceId(longArticlesMatchVideo.getTraceId(), saveList);
|
|
|
} catch (DuplicateKeyException e) {
|
|
|
log.error("Error processArticleEachData: {}", JSONObject.toJSONString(longArticlesMatchVideo), e);
|
|
|
String errMsg = e.getMessage().substring(0, e.getMessage().indexOf("### The error"));
|