From ab35ac8b769b2d9816dffb33a64f2c6f7bd5dd6e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 05 九月 2024 17:05:55 +0800 Subject: [PATCH] 风行网页版爬虫 --- src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 47 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java index bfebc85..d07f85f 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java +++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java @@ -9,6 +9,7 @@ import com.yeshi.buwan.service.inter.system.SystemConfigService; import com.yeshi.buwan.util.mq.CMQManager; import org.springframework.cache.annotation.Cacheable; +import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -49,7 +50,10 @@ return null; InternetSearchVideo oldVideo = internetSearchVideoDao.get(video.getId()); - Set<Integer> resourceIds = listResourceId(video); + Set<Integer> resourceIds = new HashSet<>(); + if(oldVideo!=null) { + resourceIds.addAll(listResourceId(oldVideo)); + } int resourceId = Integer.parseInt(video.getResourceIds()); resourceIds.add(resourceId); Integer[] rids = new Integer[resourceIds.size()]; @@ -114,5 +118,47 @@ return selectByPrimaryKey(id); } + @Override + public List<InternetSearchVideo> listByIds(List<String> ids) { + if (ids == null || ids.size() == 0) { + return new ArrayList<>(); + } + Query query = new Query(); + List<Criteria> orList = new ArrayList<>(); + for (String id : ids) { + orList.add(Criteria.where("id").is(id)); + } + Criteria[] ors = new Criteria[orList.size()]; + orList.toArray(ors); + query.addCriteria(new Criteria().orOperator(ors)); + return internetSearchVideoDao.findList(query); + } + @Override + public void removeResourceId(String id, Integer resourceId) { + InternetSearchVideo video = internetSearchVideoDao.get(id); + if(video==null){ + return ; + } + Set<Integer> resourceIds = listResourceId(video); + if(resourceIds.contains(resourceId)){ + //绉婚櫎 + resourceIds.remove(resourceId); + } + if(resourceIds.size()<=0){ + // 绉婚櫎鏁版嵁 + internetSearchVideoDao.deleteByPrimaryKey(id); + }else{ + InternetSearchVideo update=new InternetSearchVideo(); + update.setId(id); + Integer[] rids = new Integer[resourceIds.size()]; + resourceIds.toArray(rids); + video.setResourceIds(StringUtil.concat(rids, ",")); + internetSearchVideoDao.updateSelective(update); + } + InternetSearchVideoMQMsg msg = new InternetSearchVideoMQMsg(); + msg.setId(video.getId()); + msg.setResourceId(resourceId); + CMQManager.getInstance().addInternetSearchVideoUpdateMsg(msg); + } } -- Gitblit v1.8.0