Commit ac4d66c0 by 陈健智

数据分析平台相关调整

parent b1d6693f
...@@ -2509,13 +2509,11 @@ public class MarkDataServiceImpl implements MarkDataService { ...@@ -2509,13 +2509,11 @@ public class MarkDataServiceImpl implements MarkDataService {
JSONObject res = new JSONObject(); JSONObject res = new JSONObject();
try { try {
List<JSONObject> list = new ArrayList<>(); List<JSONObject> list = new ArrayList<>();
List<String> importantPlatforms = new ArrayList<>();
String projectId = UserThreadLocal.getProjectId(); String projectId = UserThreadLocal.getProjectId();
dto.setProjectId(projectId); dto.setProjectId(projectId);
for (String platformNames : Arrays.asList("微博", "微信", "抖音", "小红书", "今日头条", "网媒")) { if (CollectionUtils.isEmpty(dto.getPlatforms())) {
importantPlatforms.add(GlobalPojo.getPlatformIdByName(platformNames)); dto.setPlatforms(Stream.of("微博", "微信", "抖音", "小红书", "今日头条", "网媒").map(GlobalPojo::getPlatformIdByName).collect(Collectors.toList()));
} }
dto.setPlatforms(importantPlatforms);
Long total = getYuqingAnalyzeCount(dto); Long total = getYuqingAnalyzeCount(dto);
// 平台聚合 // 平台聚合
SearchResponse searchResponse = platformAggSearchResponse(dto); SearchResponse searchResponse = platformAggSearchResponse(dto);
...@@ -2580,8 +2578,10 @@ public class MarkDataServiceImpl implements MarkDataService { ...@@ -2580,8 +2578,10 @@ public class MarkDataServiceImpl implements MarkDataService {
* @throws IOException * @throws IOException
*/ */
private List<JSONObject> getPlatformPercentage(MarkSearchDTO dto) throws IOException { private List<JSONObject> getPlatformPercentage(MarkSearchDTO dto) throws IOException {
if (CollectionUtils.isEmpty(dto.getPlatforms())) {
List<String> platforms = commonService.getQbjcPlatform().stream().map(jsonObject -> jsonObject.getString("id")).collect(Collectors.toList()); List<String> platforms = commonService.getQbjcPlatform().stream().map(jsonObject -> jsonObject.getString("id")).collect(Collectors.toList());
dto.setPlatforms(platforms); dto.setPlatforms(platforms);
}
List<JSONObject> list = new ArrayList<>(); List<JSONObject> list = new ArrayList<>();
// total // total
dto.setProjectId(UserThreadLocal.getProjectId()); dto.setProjectId(UserThreadLocal.getProjectId());
...@@ -3093,17 +3093,15 @@ public class MarkDataServiceImpl implements MarkDataService { ...@@ -3093,17 +3093,15 @@ public class MarkDataServiceImpl implements MarkDataService {
String[] indexes = esClientDao.getIndexes(); String[] indexes = esClientDao.getIndexes();
dto.setProjectId(UserThreadLocal.getProjectId()); dto.setProjectId(UserThreadLocal.getProjectId());
// query // query
if (Objects.nonNull(dto.getPlatforms()) && Objects.nonNull(dto.getPlatforms().get(0))){
dto.setPlatforms(Collections.singletonList(GlobalPojo.getPlatformIdByName(dto.getPlatforms().get(0))));
}
BoolQueryBuilder query = yuqingAnalyzeQuery(dto);
if (Objects.equals("其他", dto.getPlatforms().get(0))){ if (Objects.equals("其他", dto.getPlatforms().get(0))){
List<String> platforms = getPlatformPercentage(dto).stream().map(json -> json.getString("platform")).collect(Collectors.toList()); List<String> platforms = getPlatformPercentage(dto).stream().map(json -> json.getString("platform")).collect(Collectors.toList());
List<String> allPlatforms = GlobalPojo.PLATFORMS.stream().map(MessagePlatform::getName).collect(Collectors.toList()); List<String> allPlatforms = GlobalPojo.PLATFORMS.stream().map(MessagePlatform::getName).collect(Collectors.toList());
allPlatforms.removeAll(platforms); allPlatforms.removeAll(platforms);
dto.setPlatforms(allPlatforms.stream().map(GlobalPojo::getPlatformIdByName).collect(Collectors.toList())); dto.setPlatforms(allPlatforms.stream().map(GlobalPojo::getPlatformIdByName).collect(Collectors.toList()));
query = yuqingAnalyzeQuery(dto); }else {
dto.setPlatforms(Collections.singletonList(GlobalPojo.getPlatformIdByName(dto.getPlatforms().get(0))));
} }
BoolQueryBuilder query = yuqingAnalyzeQuery(dto);
// sort // sort
FieldSortBuilder sort = SortBuilders.fieldSort("time").order(SortOrder.DESC); FieldSortBuilder sort = SortBuilders.fieldSort("time").order(SortOrder.DESC);
// response // response
...@@ -3217,9 +3215,12 @@ public class MarkDataServiceImpl implements MarkDataService { ...@@ -3217,9 +3215,12 @@ public class MarkDataServiceImpl implements MarkDataService {
private Map<String, List<LineVO>> getPlatformSpreadTendency(MarkSearchDTO dto) throws IOException{ private Map<String, List<LineVO>> getPlatformSpreadTendency(MarkSearchDTO dto) throws IOException{
Map<String, List<LineVO>> res = new HashMap<>(4); Map<String, List<LineVO>> res = new HashMap<>(4);
// 平台 // 平台
List<String> platforms = new ArrayList<>(); // List<String> platforms = new ArrayList<>();
for (String platformNames : Arrays.asList("微博", "微信", "抖音", "小红书")) { // for (String platformNames : Arrays.asList("微博", "微信", "抖音", "小红书")) {
platforms.add(GlobalPojo.getPlatformIdByName(platformNames)); // platforms.add(GlobalPojo.getPlatformIdByName(platformNames));
// }
if (CollectionUtils.isEmpty(dto.getPlatforms())){
dto.setPlatforms(Stream.of("微博", "微信", "抖音", "小红书").map(GlobalPojo::getPlatformIdByName).collect(Collectors.toList()));
} }
String[] indexes = esClientDao.getIndexes(); String[] indexes = esClientDao.getIndexes();
// 聚合请求 // 聚合请求
...@@ -3231,7 +3232,6 @@ public class MarkDataServiceImpl implements MarkDataService { ...@@ -3231,7 +3232,6 @@ public class MarkDataServiceImpl implements MarkDataService {
}else { }else {
daysAggregationBuilder = AggregationBuilders.dateHistogram("timeAgg").field("time").calendarInterval(DateHistogramInterval.DAY); daysAggregationBuilder = AggregationBuilders.dateHistogram("timeAgg").field("time").calendarInterval(DateHistogramInterval.DAY);
} }
dto.setPlatforms(platforms);
// query // query
BoolQueryBuilder query = yuqingAnalyzeQuery(dto); BoolQueryBuilder query = yuqingAnalyzeQuery(dto);
// response // response
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment