admin
2025-02-20 f537abe9f3646c739beaf15076246a2f71a347e9
src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java
@@ -7,8 +7,9 @@
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 com.yeshi.buwan.util.mq.rabbit.RabbitmqManager;
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;
@@ -26,6 +27,9 @@
    @Resource
    private SystemConfigService systemConfigService;
    @Resource
    private RabbitmqManager rabbitmqManager;
    private boolean isCanSave(InternetSearchVideo video) {
        SystemConfig systemConfig = systemConfigService.getConfigByKeyCache("internetSearchInvalidKeyForSave");
@@ -49,7 +53,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()];
@@ -61,11 +68,11 @@
        } else {
            internetSearchVideoDao.updateSelective(video);
        }
//小视频不加入搜索引擎
//        InternetSearchVideoMQMsg msg = new InternetSearchVideoMQMsg();
//        msg.setId(video.getId());
//        msg.setResourceId(resourceId);
//        CMQManager.getInstance().addInternetSearchVideoUpdateMsg(msg);
        //全网搜入搜索引擎
        InternetSearchVideoMQMsg msg = new InternetSearchVideoMQMsg();
        msg.setId(video.getId());
        msg.setResourceId(resourceId);
        rabbitmqManager.addInternetSearchVideoUpdateMsg(msg);
        return video;
    }
@@ -114,5 +121,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);
        rabbitmqManager.addInternetSearchVideoUpdateMsg(msg);
    }
}