From cdc3690a0354e01b44852f4c9da3b7204128d2eb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 13 八月 2021 18:46:36 +0800 Subject: [PATCH] 增加苹果内购回调日志,兼容苹果内购 --- src/main/java/com/yeshi/buwan/service/manager/search/SolrShortVideoDataManager.java | 80 +++++++++++++++++++++++++++++++--------- 1 files changed, 62 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/manager/search/SolrShortVideoDataManager.java b/src/main/java/com/yeshi/buwan/service/manager/search/SolrShortVideoDataManager.java index 08eb4e6..541a930 100644 --- a/src/main/java/com/yeshi/buwan/service/manager/search/SolrShortVideoDataManager.java +++ b/src/main/java/com/yeshi/buwan/service/manager/search/SolrShortVideoDataManager.java @@ -1,9 +1,13 @@ package com.yeshi.buwan.service.manager.search; +import com.yeshi.buwan.domain.VideoResource; +import com.yeshi.buwan.domain.entity.PlayUrl; import com.yeshi.buwan.domain.solr.SolrShortVideo; import com.yeshi.buwan.dto.search.SolrResultDTO; import com.yeshi.buwan.dto.search.SolrShortVideoSearchFilter; +import com.yeshi.buwan.iqiyi.util.IqiyiUtil; import com.yeshi.buwan.util.StringUtil; +import com.yeshi.buwan.util.video.shortvideo.ShortVideoUtil; import org.apache.solr.client.solrj.response.UpdateResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,15 +62,15 @@ /** * 鍒犻櫎鎵�鏈� */ -// public void clear() { -// Query query = new SimpleQuery("name:*"); -// UpdateResponse updateResponse = solrTemplate.delete(query); -// if (updateResponse.getStatus() == 0) { -// solrTemplate.commit(); -// } else { -// solrTemplate.rollback(); -// } -// } + public void clear() { + Query query = new SimpleQuery("name:*"); + UpdateResponse updateResponse = solrTemplate.delete(query); + if (updateResponse.getStatus() == 0) { + solrTemplate.commit(); + } else { + solrTemplate.rollback(); + } + } public void deleteById(String id) { UpdateResponse updateResponse = solrTemplate.deleteById(CORE_NAME, id); if (updateResponse.getStatus() == 0) { @@ -77,8 +81,12 @@ } public SolrShortVideo findOne(String id) { - SolrShortVideo solrVideo = solrTemplate.getById(CORE_NAME, id, SolrShortVideo.class); - return solrVideo; + Query query = new SimpleQuery(new Criteria("id").is(id)); + ScoredPage<SolrShortVideo> result = solrTemplate.queryForPage(CORE_NAME, query, SolrShortVideo.class); + if (result != null && result.getContent().size() > 0) { + return result.getContent().get(0); + } + return null; } public SolrResultDTO find(SolrShortVideoSearchFilter filter, int page, int pageSize) { @@ -107,15 +115,35 @@ query.addFilterQuery(new SimpleFilterQuery(Criteria.where("root_video_type").is(filter.getRootVideoType()))); } - if (filter.getResourceId() != null) { - query.addFilterQuery(new SimpleFilterQuery(Criteria.where("resource_id").is(filter.getResourceId()))); - } - if (filter.getCategoryName() != null) { - query.addFilterQuery(new SimpleFilterQuery(Criteria.where("free_type").contains(filter.getCategoryName()))); + if (filter.getResourceIds() != null && filter.getResourceIds().size() > 0) { + Criteria criteria = null; + for (Integer resourceId : filter.getResourceIds()) { + if (criteria == null) + criteria = Criteria.where("resource_id").is(resourceId); + else + criteria = criteria.or("resource_id").is(resourceId); + } + query.addFilterQuery(new SimpleFilterQuery(criteria)); } - if (filter.getArea() != null) { - query.addFilterQuery(new SimpleFilterQuery(Criteria.where("area").contains(filter.getArea()))); + if (filter.getCategoryName() != null) { + query.addFilterQuery(new SimpleFilterQuery(Criteria.where("category_names").contains(filter.getCategoryName()))); + } + + //鍖哄煙 + if (filter.getAreas() != null && filter.getAreas().size() > 0) { + Criteria criteria = null; + for (String area : filter.getAreas()) { + if (criteria == null) + criteria = Criteria.where("area").is(area); + else + criteria = criteria.or("area").is(area); + } + query.addFilterQuery(new SimpleFilterQuery(criteria)); + } + + if (filter.getTag() != null) { + query.addFilterQuery(new SimpleFilterQuery(Criteria.where("tag").is(filter.getTag()))); } @@ -132,4 +160,20 @@ return new SolrResultDTO(list, (int) result.getTotalElements()); } + public PlayUrl getPlayUrl(String id, VideoResource videoResource) { + //鐭棰� + if (ShortVideoUtil.isShortVideoId(id)) { + SolrShortVideo solrShortVideo = findOne(id); + if (solrShortVideo == null) + return null; + PlayUrl pu = new PlayUrl(); + pu.setParams(""); + pu.setPlayType(IqiyiUtil.PLAY_HTML); + pu.setResource(videoResource); + pu.setUrl(solrShortVideo.getPlayUrl()); + return pu; + } + return null; + } + } -- Gitblit v1.8.0