| 
					
				 | 
			
			
				@@ -3678,28 +3678,39 @@ public class DataDashboardService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.add(export); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            result.add(buildCategoryGroupDataSum(dateStr, entry.getKey(), entry.getValue())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        result.addAll(buildCategoryGroupDataSum(dateStr, resultMap)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private CategoryGroupDataExport buildCategoryGroupDataSum(String dateStr, String position, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                              Map<String, CategoryGroupDataExport> categoryMap) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        CategoryGroupDataExport sum = new CategoryGroupDataExport(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sum.setDateStr(dateStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sum.setPosition(position); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sum.setCategory("SUM"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (Map.Entry<String, CategoryGroupDataExport> entry : categoryMap.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            CategoryGroupDataExport export = entry.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sum.setViewCount(sum.getViewCount() + export.getViewCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sum.setFirstLevel(sum.getFirstLevel() + export.getFirstLevel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sum.setFansCount(sum.getFansCount() + export.getFansCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private List<CategoryGroupDataExport> buildCategoryGroupDataSum(String dateStr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                                    Map<String, Map<String, CategoryGroupDataExport>> resultMap) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CategoryGroupDataExport> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, CategoryGroupDataExport> sumMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (Map.Entry<String, Map<String, CategoryGroupDataExport>> positionMap : resultMap.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (Map.Entry<String, CategoryGroupDataExport> categoryMap : positionMap.getValue().entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String category = categoryMap.getKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CategoryGroupDataExport export = sumMap.get(category); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (Objects.isNull(export)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    export = new CategoryGroupDataExport(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    export.setDateStr(dateStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    export.setPosition("SUM"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    export.setCategory(category); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sumMap.put(category, export); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                export.setViewCount(export.getViewCount() + categoryMap.getValue().getViewCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                export.setFirstLevel(export.getFirstLevel() + categoryMap.getValue().getFirstLevel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                export.setFansCount(export.getFansCount() + categoryMap.getValue().getFansCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (sum.getFansCount() != null && sum.getFansCount() != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sum.setOpenRate((double) sum.getFirstLevel() / sum.getFansCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (Map.Entry<String, CategoryGroupDataExport> item : sumMap.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CategoryGroupDataExport export = item.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (export.getFansCount()!= null && export.getFansCount()!= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                export.setOpenRate((double) export.getFirstLevel() / export.getFansCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            result.add(export); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return sum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |