提交 067e2963 作者: 925993793@qq.com

问题修改

上级 cf973d72
......@@ -64,7 +64,6 @@ public class EventAnalysisController {
@Value(("${serviceProject.url:}"))
private String SERVICE_PROJECT_URL;
/**
* 3.4 总体分析
*
......@@ -173,6 +172,9 @@ public class EventAnalysisController {
.eq(SubjectAnalysis::getCategory, 1)
.eq(SubjectAnalysis::getType, type);
List<SubjectAnalysis> list = subjectAnalysisService.list(wrapper);
if (CollectionUtils.isEmpty(list) && type == 1) {
list = esService.eventAnalysisByOrigin(eventId);
}
return Result.OK(list);
}
......
......@@ -231,11 +231,11 @@ public class EventManageController {
Integer category = currentUser.getCategory();
String userId = null;
String customerId = null;
if (category.equals(Constants.COMMON_USER)) {
/*if (category.equals(Constants.COMMON_USER)) {
userId = currentUser.getUserId();
} else if (category.equals(Constants.ADMIN_USER)) {
customerId = currentUser.getCustomerId();
}
}*/
List<Node> projectList = eventService.projectList(userId, customerId);
return Result.OK(projectList);
}
......
......@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zzsn.event.constant.Constants;
import com.zzsn.event.entity.CollectionMap;
import com.zzsn.event.entity.SubjectAnalysis;
import com.zzsn.event.service.ICollectionMapService;
import com.zzsn.event.service.IEventService;
import com.zzsn.event.service.ISubjectInfoSourceMapService;
......@@ -20,6 +21,7 @@ import com.zzsn.event.util.user.UserUtil;
import com.zzsn.event.util.user.UserVo;
import com.zzsn.event.vo.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.lucene.search.join.ScoreMode;
import org.elasticsearch.action.search.SearchRequest;
......@@ -76,6 +78,7 @@ public class EsService {
@Autowired
private ICollectionMapService collectionMapService;
private final static String[] EVENT_ANALYSIS_ORIGIN = new String[]{"CRI国际在线","world.people","安徽国企网","半月谈","参考消息","参考消息电子版","参考消息网","参考消息智库","电池中国网","法制网","光明经济网","光明网","国际在线","国家工业信息安全发展研究中心","国企网","国研网","环球网","价值中国网","经济参考报","经济日报","科技日报","理论网","企业观察网","求是网","人民安全网","人民报(Nhan Dan Báo)","人民创投","人民法治网","人民交通网","人民论坛网","人民日报海外版","人民数字联播网","人民网","人民雄安网","人民资讯网","手机央广网","习近平系列讲话数据库","新华报业网","新华网","央广网","央视网","央视网经济","一带一路网","正义网","证券日报","证券日报网","中国安全生产网","中国财经报","中国发展门户网","中国发展网","中国改革报","中国工商报","中国工商报网","中国工业报","中国工业报社","中国工业新闻网(中国工业报)电工频道","中国经济导报","中国经济导报网","中国经济网","中国经济网航空频道","中国经济网理论评论频道","中国经济新闻网","中国经济信息网","中国警察网","中国军网","中国农网","中国青年报","中国青年网","中国台湾网","中国网","中国文明网","中国西藏网","中宏网","中华工商网","中华环境保护基金会","中青在线","中央人民广播电台","观察者网","澎湃新闻","凤凰网","每日经济新闻","新京报"};
/**
* 获取专题下的资讯
......@@ -800,7 +803,7 @@ public class EsService {
}
}
if (CollectionUtils.isNotEmpty(subjectIdList)) {
boolQuery.must(QueryBuilders.termsQuery("subjectId", subjectIdList));
boolQuery.must(QueryBuilders.termsQuery("subjectId.keyword", subjectIdList));
} else {
return new Page<>();
}
......@@ -1048,6 +1051,54 @@ public class EsService {
return map;
}
public List<SubjectAnalysis> eventAnalysisByOrigin(String subjectId){
List<SubjectAnalysis> dataList = new ArrayList<>();
SearchRequest searchRequest = new SearchRequest(Constants.SUBJECT_INDEX);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
//默认最大数量是10000,设置为true后,显示准确数量
searchSourceBuilder.trackTotalHits(true);
//创建查询对象
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
boolQuery.must(QueryBuilders.termQuery("subjectId.keyword",subjectId));
boolQuery.must(QueryBuilders.termsQuery("origin.keyword",Arrays.asList(EVENT_ANALYSIS_ORIGIN)));
//未删除
boolQuery.mustNot(QueryBuilders.matchQuery("deleteFlag", "1"));
searchSourceBuilder.query(boolQuery);
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse;
try {
searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHit[] hits = searchResponse.getHits().getHits();
for (SearchHit hit : hits) {
Map<String, Object> sourceAsMap = hit.getSourceAsMap();
SubjectAnalysis subjectAnalysis = new SubjectAnalysis();
Object id = sourceAsMap.get("id");
if (ObjectUtils.isNotEmpty(id)) {
subjectAnalysis.setDataId(id.toString());
}
Object title = sourceAsMap.get("title");
if (ObjectUtils.isNotEmpty(title)) {
subjectAnalysis.setTitle(title.toString());
}
Object origin = sourceAsMap.get("origin");
if (ObjectUtils.isNotEmpty(origin)) {
subjectAnalysis.setOrigin(origin.toString());
}
Object publishDate = sourceAsMap.get("publishDate");
if (ObjectUtils.isNotEmpty(origin)) {
String dateFormat = EsDateUtil.esFieldDateMapping(publishDate.toString());
subjectAnalysis.setPublishDate(DateUtil.stringToDate(dateFormat,"yyyy-MM-dd HH:mm:ss"));
}
subjectAnalysis.setSubjectId(subjectId);
dataList.add(subjectAnalysis);
}
} catch (Exception e) {
log.info("获取专题-{}-下资讯,查询es库失败", subjectId);
e.printStackTrace();
}
return dataList;
}
private void formatLabel(List<LabelModelVo> labelModelVos, DisplayInfo info) {
if (CollectionUtils.isNotEmpty(labelModelVos)) {
List<Label> list = info.getLabels();
......
......@@ -56,7 +56,7 @@ public class AnalysisServiceImpl implements AnalysisService {
if (CollectionUtils.isEmpty(fakeList)) {
if (CollectionUtils.isEmpty(list)) {
List<SubjectAnalysis> finalList = new ArrayList<>();
List<SubjectDataVo> dataList = esService.pageList(subjectId, null, null, Constants.FETCH_FIELDS_STATISTIC, 1,1, 15);
List<SubjectDataVo> dataList = esService.pageList(subjectId, null, null, Constants.FETCH_FIELDS_STATISTIC, 2,1, 15);
dataList.forEach(e -> {
String dataId = e.getId();
SubjectAnalysis subjectAnalysis = new SubjectAnalysis();
......@@ -150,7 +150,7 @@ public class AnalysisServiceImpl implements AnalysisService {
private List<SubjectAnalysis> getList(String subjectId, Integer category) {
LambdaQueryWrapper<SubjectAnalysis> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(SubjectAnalysis::getSubjectId, subjectId).eq(SubjectAnalysis::getCategory, category).orderByAsc(SubjectAnalysis::getPublishDate);
queryWrapper.eq(SubjectAnalysis::getSubjectId, subjectId).eq(SubjectAnalysis::getCategory, category).orderByDesc(SubjectAnalysis::getPublishDate);
return subjectAnalysisService.list(queryWrapper);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论