From f06a592dd1a7e995bf313ccb5efe7dff73ccfc4e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 12 四月 2023 18:25:52 +0800 Subject: [PATCH] 增加本地获取IP归属地/广告优化 --- src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java | 61 +++++++++++++++++++++++++++++- 1 files changed, 59 insertions(+), 2 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 96fc5da..724ffcc 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 @@ -1,9 +1,15 @@ package com.yeshi.buwan.service.imp.juhe; import com.yeshi.buwan.dao.juhe.youku.InternetSearchVideoDao; +import com.yeshi.buwan.domain.system.SystemConfig; import com.yeshi.buwan.domain.video.InternetSearchVideo; +import com.yeshi.buwan.dto.mq.InternetSearchVideoMQMsg; import com.yeshi.buwan.exception.ParamsException; import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; +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; @@ -19,13 +25,34 @@ @Resource private InternetSearchVideoDao internetSearchVideoDao; + @Resource + private SystemConfigService systemConfigService; + + private boolean isCanSave(InternetSearchVideo video) { + SystemConfig systemConfig = systemConfigService.getConfigByKeyCache("internetSearchInvalidKeyForSave"); + if (systemConfig == null) + return true; + String value = systemConfig.getValue(); + String[] invalidNames = value.split("#"); + for (String st : invalidNames) { + if (video.getName().contains(st)) { + return false; + } + } + return true; + } + @Validated @Override - public void save(@Valid InternetSearchVideo video) throws ParamsException, Exception { + public InternetSearchVideo save(@Valid InternetSearchVideo video) throws ParamsException, Exception { + if (!isCanSave(video)) + return null; + InternetSearchVideo oldVideo = internetSearchVideoDao.get(video.getId()); Set<Integer> resourceIds = listResourceId(video); - resourceIds.add(Integer.parseInt(video.getResourceIds())); + int resourceId = Integer.parseInt(video.getResourceIds()); + resourceIds.add(resourceId); Integer[] rids = new Integer[resourceIds.size()]; resourceIds.toArray(rids); video.setResourceIds(StringUtil.concat(rids, ",")); @@ -35,6 +62,13 @@ } else { internetSearchVideoDao.updateSelective(video); } + //鍏ㄧ綉鎼滃叆鎼滅储寮曟搸 + InternetSearchVideoMQMsg msg = new InternetSearchVideoMQMsg(); + msg.setId(video.getId()); + msg.setResourceId(resourceId); + CMQManager.getInstance().addInternetSearchVideoUpdateMsg(msg); + + return video; } private Set<Integer> listResourceId(InternetSearchVideo video) { @@ -74,5 +108,28 @@ return internetSearchVideoDao.get(id); } + @Cacheable(value = "internetSearch", key = "'selectByPrimaryKey-'+#id") + @Override + public InternetSearchVideo selectByPrimaryKeyCache(String id) { + + 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); + } + } -- Gitblit v1.8.0