From f7b2baec57a19039ca85880bbba4e17fe27f0511 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 10 三月 2021 18:21:13 +0800 Subject: [PATCH] 删除冗余代码,初步优化首页的推荐专题,3.8.7之后在我的里面添加VIP分类 --- src/main/java/com/yeshi/buwan/service/imp/SearchService.java | 44 +++++++++++++++++++++++++++++++++----------- 1 files changed, 33 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/SearchService.java b/src/main/java/com/yeshi/buwan/service/imp/SearchService.java index a47c440..fccde09 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/SearchService.java +++ b/src/main/java/com/yeshi/buwan/service/imp/SearchService.java @@ -1,13 +1,16 @@ package com.yeshi.buwan.service.imp; import com.yeshi.buwan.dao.*; +import com.yeshi.buwan.dao.system.DetailSystemDao; import com.yeshi.buwan.domain.*; +import com.yeshi.buwan.domain.solr.SolrAlbumVideo; +import com.yeshi.buwan.domain.system.DetailSystem; import com.yeshi.buwan.domain.web.DetailSystemSelect; import com.yeshi.buwan.domain.web.HotSearchAdmin; import com.yeshi.buwan.dto.search.SolrResultDTO; import com.yeshi.buwan.dto.search.SolrVideoSearchFilter; -import com.yeshi.buwan.service.inter.VideoResourceMapExtraInfoService; -import com.yeshi.buwan.service.manager.SolrAlbumDataManager; +import com.yeshi.buwan.service.inter.video.VideoInfoExtraService; +import com.yeshi.buwan.service.manager.SolrAlbumVideoDataManager; import com.yeshi.buwan.util.*; import com.yeshi.buwan.util.factory.VideoInfoFactory; import com.yeshi.buwan.util.video.VideoConstant; @@ -40,10 +43,10 @@ @Resource private DetailSystemDao detailSystemDao; @Resource - private SolrAlbumDataManager solrAlbumDataManager; + private SolrAlbumVideoDataManager solrAlbumDataManager; @Resource - private VideoResourceMapExtraInfoService videoResourceMapExtraInfoService; + private VideoInfoExtraService videoInfoExtraService; @SuppressWarnings("rawtypes") @Cacheable(value = "userCache", key = "'suggestSearch'+'-'+#key+'-'+#system") @@ -289,7 +292,7 @@ if (solrResultDTO != null) { albumCount = solrResultDTO.getTotalCount(); - for (SolrVideo sv : solrResultDTO.getVideoList()) { + for (SolrAlbumVideo sv : (List<SolrAlbumVideo>) solrResultDTO.getVideoList()) { VideoInfo video = VideoInfoFactory.create(sv); video.setShowType(1); if (!StringUtil.isNullOrEmpty(video.getMainActor())) { @@ -372,7 +375,7 @@ } //鑾峰彇闄勫姞淇℃伅 - list = videoResourceMapExtraInfoService.batchExtraInfo(list, resourceList); + list = videoInfoExtraService.batchExtra(list, resourceList); return new VideoListResultVO(list, videoType == 0 ? albumCount : 1000L); } @@ -466,16 +469,16 @@ } @SuppressWarnings("unchecked") - public List<HotSearchAdmin> getHotSearchAdmin(String key, int detailSystem, int page) { + public List<HotSearchAdmin> getHotSearchAdmin(String key, String systemId, int detailSystem, int page) { List<HotSearchAdmin> zhiBoClassList = new ArrayList<>(); try { - List<DetailSystem> detailSystemList = detailSystemDao.list("from DetailSystem"); + List<DetailSystem> detailSystemList = detailSystemDao.list("from DetailSystem ds where ds.system.id=" + systemId); String sql = ""; if (detailSystem > 0) sql = "select sh.hotSearch from SuperHotSearch sh where sh.hotSearch.name like ? and sh.detailSystem.id=" + detailSystem + " order by sh.createtime desc"; else - sql = "from HotSearch zb where zb.name like ? order by zb.createtime desc"; + sql = "from HotSearch zb where zb.name like ? and zb.system.id=" + systemId + " order by zb.createtime desc"; List<HotSearch> list = hotSearchDao.list(sql, (page - 1) * Constant.pageCount, Constant.pageCount, new Serializable[]{"%" + key + "%"}); @@ -513,13 +516,13 @@ return zhiBoClassList; } - public long getHotSearchAdminCount(String key, int detailSystem) { + public long getHotSearchAdminCount(String key, String systemId, int detailSystem) { String sql = ""; if (detailSystem > 0) sql = "select count(*) from (select count(*) from wk_video_super_hotsearch zb left join wk_video_hotsearch c on c.id=zb.hotsearchid where zb.detailsystem=" + detailSystem + " and c.name like '%" + key + "%' group by zb.hotsearchid) s"; else - sql = "select count(*) from wk_video_hotsearch h where h.name like '%" + key + "%'"; + sql = "select count(*) from wk_video_hotsearch h where h.name like '%" + key + "%' and h.system=" + systemId; return videoBanQuanVideoDao.getCountSQL(sql); } @@ -613,4 +616,23 @@ } + + /** + * 灏嗘悳绱㈢粨鏋滃璞¤浆涓鸿棰戝璞� + * + * @param solrAlbumVideoList + * @param resourceList + * @return + */ + public List<VideoInfo> convertSolrAlbumResultToVideo(List<SolrAlbumVideo> solrAlbumVideoList, List<Long> resourceList) { + List<VideoInfo> videoInfoList = new ArrayList<>(); + for (SolrAlbumVideo sv : solrAlbumVideoList) { + VideoInfo video = VideoInfoFactory.create(sv); + videoInfoList.add(video); + } + //鑾峰彇闄勫姞淇℃伅 + videoInfoList = videoInfoExtraService.batchExtra(videoInfoList, resourceList); + return videoInfoList; + } + } -- Gitblit v1.8.0