|  | @@ -3770,10 +3770,10 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<Pair<String, String>> styles = Arrays
 | 
	
		
			
				|  |  |                  .asList(
 | 
	
		
			
				|  |  | -                        Pair.of("I", "0.00%"),
 | 
	
		
			
				|  |  |                          Pair.of("J", "0.00%"),
 | 
	
		
			
				|  |  |                          Pair.of("K", "0.00%"),
 | 
	
		
			
				|  |  | -                        Pair.of("L", "0.00%")
 | 
	
		
			
				|  |  | +                        Pair.of("L", "0.00%"),
 | 
	
		
			
				|  |  | +                        Pair.of("M", "0.00%")
 | 
	
		
			
				|  |  |                  );
 | 
	
		
			
				|  |  |          doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "bl1eL2", rowNum, rows,
 | 
	
		
			
				|  |  |                  2, styles, null, null);
 | 
	
	
		
			
				|  | @@ -3788,14 +3788,18 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |          Map<String, ArticleCategory> titleCategoryMap = articleCategoryList.stream()
 | 
	
		
			
				|  |  |                  .collect(Collectors.toMap(ArticleCategory::getTitleMd5, Function.identity(), (a, b) -> a));
 | 
	
		
			
				|  |  |          Map<String, Map<String, CategoryGroupDataExport>> resultMap = new HashMap<>();
 | 
	
		
			
				|  |  | +        Map<String, Map<String, Set<String>>> categoryPositionTitleMap = new HashMap<>();
 | 
	
		
			
				|  |  |          for (DatastatSortStrategy item : list) {
 | 
	
		
			
				|  |  |              if (Objects.isNull(item.getViewCount()) || Objects.isNull(item.getFirstLevel()) || Objects.isNull(item.getFans())) {
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              Map<String, CategoryGroupDataExport> positionMap = resultMap.get(ContentPositionEnum.from(item.getPosition()));
 | 
	
		
			
				|  |  | +            Map<String, Set<String>> positionTitleMap = categoryPositionTitleMap.get(ContentPositionEnum.from(item.getPosition()));
 | 
	
		
			
				|  |  |              if (MapUtils.isEmpty(positionMap)) {
 | 
	
		
			
				|  |  |                  positionMap = new HashMap<>();
 | 
	
		
			
				|  |  | +                positionTitleMap = new HashMap<>();
 | 
	
		
			
				|  |  |                  resultMap.put(ContentPositionEnum.from(item.getPosition()), positionMap);
 | 
	
		
			
				|  |  | +                categoryPositionTitleMap.put(ContentPositionEnum.from(item.getPosition()), positionTitleMap);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              ArticleCategory articleCategory = categoryMap.get(item.getSourceId());
 | 
	
		
			
				|  |  |              if (Objects.isNull(articleCategory)) {
 | 
	
	
		
			
				|  | @@ -3806,12 +3810,19 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              CategoryGroupDataExport export = positionMap.get(articleCategory.getCategory());
 | 
	
		
			
				|  |  | +            Set<String> titleSet = positionTitleMap.get(articleCategory.getCategory());
 | 
	
		
			
				|  |  |              if (Objects.isNull(export)) {
 | 
	
		
			
				|  |  |                  export = new CategoryGroupDataExport();
 | 
	
		
			
				|  |  |                  export.setDateStr(dateStr);
 | 
	
		
			
				|  |  |                  export.setPosition(ContentPositionEnum.from(item.getPosition()));
 | 
	
		
			
				|  |  |                  export.setCategory(articleCategory.getCategory());
 | 
	
		
			
				|  |  |                  positionMap.put(articleCategory.getCategory(), export);
 | 
	
		
			
				|  |  | +                titleSet = new HashSet<>();
 | 
	
		
			
				|  |  | +                positionTitleMap.put(articleCategory.getCategory(), titleSet);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (!titleSet.contains(item.getTitle())) {
 | 
	
		
			
				|  |  | +                export.setPublishDistinctTimes(export.getPublishDistinctTimes() + 1);
 | 
	
		
			
				|  |  | +                titleSet.add(item.getTitle());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              export.setPublishTimes(export.getPublishTimes() + 1);
 | 
	
		
			
				|  |  |              export.setViewCount(export.getViewCount() + item.getViewCount());
 | 
	
	
		
			
				|  | @@ -3856,6 +3867,7 @@ public class DataDashboardService {
 | 
	
		
			
				|  |  |                      sumMap.put(category, export);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  export.setPublishTimes(export.getPublishTimes() + categoryMap.getValue().getPublishTimes());
 | 
	
		
			
				|  |  | +                export.setPublishDistinctTimes(export.getPublishDistinctTimes() + categoryMap.getValue().getPublishDistinctTimes());
 | 
	
		
			
				|  |  |                  export.setViewCount(export.getViewCount() + categoryMap.getValue().getViewCount());
 | 
	
		
			
				|  |  |                  export.setFirstLevel(export.getFirstLevel() + categoryMap.getValue().getFirstLevel());
 | 
	
		
			
				|  |  |                  export.setFission0(export.getFission0() + categoryMap.getValue().getFission0());
 |