| 
														
															@@ -187,7 +187,7 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         Pair.of("Q", "0.00%"), 
														 | 
														
														 | 
														
															                         Pair.of("Q", "0.00%"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         Pair.of("R", "0.00%") 
														 | 
														
														 | 
														
															                         Pair.of("R", "0.00%") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ); 
														 | 
														
														 | 
														
															                 ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        doSendFeishuSheet(dateStrList, sheetToken, sheetId, rowNum, rows, 2, styles, delDateStrList); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        doSendFeishuSheet(dateStrList, sheetToken, sheetId, rowNum, rows, 2, styles, delDateStrList, null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public List<NewSortStrategyExport> newSortStrategyData(String beginDate, String endDate, 
														 | 
														
														 | 
														
															     public List<NewSortStrategyExport> newSortStrategyData(String beginDate, String endDate, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -742,7 +742,8 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private static void doSendFeishuSheet(List<String> dateStrList, String sheetToken, String sheetId, 
														 | 
														
														 | 
														
															     private static void doSendFeishuSheet(List<String> dateStrList, String sheetToken, String sheetId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                           int rowNum, List<List<Object>> rows, Integer startRowIndex, 
														 | 
														
														 | 
														
															                                           int rowNum, List<List<Object>> rows, Integer startRowIndex, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                           List<Pair<String, String>> styles, 
														 | 
														
														 | 
														
															                                           List<Pair<String, String>> styles, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                          List<String> delDateStrList) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                          List<String> delDateStrList, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                          List<Pair<String, List<Pair<String, String>>>> thanks) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Pair<String, Integer> token = FeiShu.requestAccessToken(); 
														 | 
														
														 | 
														
															         Pair<String, Integer> token = FeiShu.requestAccessToken(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         RestTemplate restTemplate = new RestTemplate(); 
														 | 
														
														 | 
														
															         RestTemplate restTemplate = new RestTemplate(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         HttpHeaders httpHeaders = new HttpHeaders(); 
														 | 
														
														 | 
														
															         HttpHeaders httpHeaders = new HttpHeaders(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -865,6 +866,37 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 startRow += 4000; 
														 | 
														
														 | 
														
															                 startRow += 4000; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } while (startRow < rowNum); 
														 | 
														
														 | 
														
															             } while (startRow < rowNum); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (CollectionUtil.isNotEmpty(thanks)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            startRow = startRowIndex; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            do { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                for (Pair<String, List<Pair<String, String>>> thank : thanks) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    List<String> keyList = thank.getSecond().stream().map(Pair::getFirst).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    List<String> colorList = thank.getSecond().stream().map(Pair::getSecond).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    HttpEntity<Map<Object, Object>> styleEntity = new HttpEntity<>(MapBuilder 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .builder() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .put("range", String.format("%s!%s" + startRow + ":%s", sheetId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    thank.getFirst(), thank.getFirst()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    + (Math.min(startRow + 4000, rowNum + startRowIndex) - 1)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .put("dataValidationType", "list") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .put("dataValidation", MapBuilder.builder() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    .put("conditionValues", keyList) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    .put("options", MapBuilder.builder() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                            .put("highlightValidData", true) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                            .put("colors", colorList) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                            .build() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    ).build()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            .build(), httpHeaders); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    restTemplate.exchange( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            String.format("https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/%s/dataValidation", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    sheetToken), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            HttpMethod.POST, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            styleEntity, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            String.class 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                startRow += 4000; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } while (startRow < rowNum); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public static void delFeishuSheet(HttpHeaders httpHeaders, String sheetId, Integer startRowIndex, 
														 | 
														
														 | 
														
															     public static void delFeishuSheet(HttpHeaders httpHeaders, String sheetId, Integer startRowIndex, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -998,7 +1030,7 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         Pair.of("BP", "0.00%") 
														 | 
														
														 | 
														
															                         Pair.of("BP", "0.00%") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ); 
														 | 
														
														 | 
														
															                 ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        doSendFeishuSheet(dateStrList, sheetToken, sheetId, rowNum, rows, 3, styles, null); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        doSendFeishuSheet(dateStrList, sheetToken, sheetId, rowNum, rows, 3, styles, null, null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public List<IntermediateIndicatorsExport> intermediateIndicatorsData(String dateStr) { 
														 | 
														
														 | 
														
															     public List<IntermediateIndicatorsExport> intermediateIndicatorsData(String dateStr) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1628,7 +1660,7 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         Pair.of("W", "#,##0.00") 
														 | 
														
														 | 
														
															                         Pair.of("W", "#,##0.00") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ); 
														 | 
														
														 | 
														
															                 ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        doSendFeishuSheet(dateStrList, sheetToken, sheetId, rowNum, rows, 2, styles, null); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        doSendFeishuSheet(dateStrList, sheetToken, sheetId, rowNum, rows, 2, styles, null, null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private List<FirstContentScoreExport> firstContentScoreData(List<String> dateStrList) { 
														 | 
														
														 | 
														
															     private List<FirstContentScoreExport> firstContentScoreData(List<String> dateStrList) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1819,7 +1851,7 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ); 
														 | 
														
														 | 
														
															                 ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "28RgAZ", rowNum, rows, 
														 | 
														
														 | 
														
															         doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "28RgAZ", rowNum, rows, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                2, styles, null); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                2, styles, null, null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private Map<String, ProducePlanAuditExport> getOldProducePlanAuditExport(String dateStr, String sheetToken, String sheetId) { 
														 | 
														
														 | 
														
															     private Map<String, ProducePlanAuditExport> getOldProducePlanAuditExport(String dateStr, String sheetToken, String sheetId) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1973,7 +2005,7 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         doSendFeishuSheet(dateStrList, dailySafeSheetToken, "9fc2e8", rowNum, rows, 
														 | 
														
														 | 
														
															         doSendFeishuSheet(dateStrList, dailySafeSheetToken, "9fc2e8", rowNum, rows, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                2, null, null); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                2, null, null, null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private List<ProduceSafeScoreExport> getProduceSafeScoreExport(String dateStr) { 
														 | 
														
														 | 
														
															     private List<ProduceSafeScoreExport> getProduceSafeScoreExport(String dateStr) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2048,7 +2080,7 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ); 
														 | 
														
														 | 
														
															                 ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "vddANt", rowNum, rows, 
														 | 
														
														 | 
														
															         doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "vddANt", rowNum, rows, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                2, styles, null); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                2, styles, null, null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private List<VideoAuditExport> buildVideoAuditExport(String dateStr) { 
														 | 
														
														 | 
														
															     private List<VideoAuditExport> buildVideoAuditExport(String dateStr) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2209,7 +2241,7 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         Pair.of("V", "0.00%") 
														 | 
														
														 | 
														
															                         Pair.of("V", "0.00%") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ); 
														 | 
														
														 | 
														
															                 ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "qEipyL", rowNum, rows, 
														 | 
														
														 | 
														
															         doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "qEipyL", rowNum, rows, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                4, styles, null); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                4, styles, null, null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private ContentFunnelExport buildContentFunnelExport(String dateStr) { 
														 | 
														
														 | 
														
															     private ContentFunnelExport buildContentFunnelExport(String dateStr) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2342,16 +2374,24 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<Pair<String, String>> styles = Arrays 
														 | 
														
														 | 
														
															         List<Pair<String, String>> styles = Arrays 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 .asList( 
														 | 
														
														 | 
														
															                 .asList( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        Pair.of("H", "0.00%"), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        Pair.of("K", "0.00%"), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        Pair.of("N", "0.00%"), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Pair.of("F", "0.00%"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Pair.of("I", "0.00%"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Pair.of("L", "0.00%"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         Pair.of("O", "0.00%"), 
														 | 
														
														 | 
														
															                         Pair.of("O", "0.00%"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        Pair.of("S", "0.00%"), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        Pair.of("V", "0.00%"), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        Pair.of("W", "0.00%") 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Pair.of("R", "0.00%") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<Pair<String, List<Pair<String, String>>>> thank = Arrays 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                .asList( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Pair.of("B", Arrays.asList(Pair.of("文章", "#FED4A4"), Pair.of("视频", "#BACEFD"))), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Pair.of("C", Arrays.asList(Pair.of("SUM", "#BACEFD"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                Pair.of("公众号文章", "#FED4A4"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                Pair.of("头条文章", "#B1E8FC"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                Pair.of("公众号视频", "#F8E6AB"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                Pair.of("好看视频", "#A9EFE6"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                Pair.of("视频号视频", "#FDE2E2"))) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ); 
														 | 
														
														 | 
														
															                 ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "tP33UK", rowNum, rows, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                2, styles, null); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "6aW60b", rowNum, rows, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                3, styles, null, thank); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private List<ContentGroupFunnelExport> buildContentGroupFunnelExport(String dateStr) { 
														 | 
														
														 | 
														
															     private List<ContentGroupFunnelExport> buildContentGroupFunnelExport(String dateStr) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2364,7 +2404,16 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         ContentFunnelExport sum = buildContentFunnelExport(dateStr); 
														 | 
														
														 | 
														
															         ContentFunnelExport sum = buildContentFunnelExport(dateStr); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         ContentGroupFunnelExport groupSum = new ContentGroupFunnelExport(); 
														 | 
														
														 | 
														
															         ContentGroupFunnelExport groupSum = new ContentGroupFunnelExport(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         BeanUtils.copyProperties(sum, groupSum); 
														 | 
														
														 | 
														
															         BeanUtils.copyProperties(sum, groupSum); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        groupSum.setType("SUM"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        groupSum.setSource("SUM"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (sum.getCrawlerCount() > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            groupSum.setProduceRate(sum.getProduceCount() * 1.0 / sum.getCrawlerCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        groupSum.setCrawlerCount(sum.getCrawlerCount() + sum.getVideoPoolCrawlerCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        groupSum.setVideoAuditCount(sum.getVideoAuditCount() + sum.getVideoPoolAuditCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        groupSum.setVideoAuditPassCount(sum.getVideoAuditPassCount() + sum.getVideoPoolAuditPassCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (groupSum.getVideoAuditCount() > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            groupSum.setVideoAuditPassRate(groupSum.getVideoAuditPassCount() * 1.0 / groupSum.getVideoAuditCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         result.add(groupSum); 
														 | 
														
														 | 
														
															         result.add(groupSum); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 文章 
														 | 
														
														 | 
														
															         // 文章 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<ChannelEnum> channelList = Arrays.asList(ChannelEnum.wx, ChannelEnum.toutiao); 
														 | 
														
														 | 
														
															         List<ChannelEnum> channelList = Arrays.asList(ChannelEnum.wx, ChannelEnum.toutiao); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2372,26 +2421,6 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<String> producePlanIds = aigcBaseMapper.getProducePlanId(); 
														 | 
														
														 | 
														
															             List<String> producePlanIds = aigcBaseMapper.getProducePlanId(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<String> crawlerPlanIds = aigcBaseMapper.getCrawlerPlanByProducePlanIds(producePlanIds); 
														 | 
														
														 | 
														
															             List<String> crawlerPlanIds = aigcBaseMapper.getCrawlerPlanByProducePlanIds(producePlanIds); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             Long crawlerCount = aigcBaseMapper.getCrawlerContentCountByCrawlerPlanIdsAndChannel(crawlerPlanIds, start, end, channel.getVal()); 
														 | 
														
														 | 
														
															             Long crawlerCount = aigcBaseMapper.getCrawlerContentCountByCrawlerPlanIdsAndChannel(crawlerPlanIds, start, end, channel.getVal()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            Long planCrawlerCount = 0L; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            List<String> crawlerSuccessPlanIds = aigcBaseMapper.getCrawlerSuccessPlanByCrawlerPlanIdsAndChannel(crawlerPlanIds, start, end, channel.getVal()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (CollectionUtils.isNotEmpty(crawlerSuccessPlanIds)) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                List<CrawlerPlan> crawlerPlanList = aigcBaseMapper.getCrawlerPlanByPlanIds(crawlerSuccessPlanIds); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                for (CrawlerPlan crawlerPlan : crawlerPlanList) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    JSONObject crawlerModeValue = JSONObject.parseObject(crawlerPlan.getCrawlerModeValue()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if (crawlerModeValue == null) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        continue; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    JSONObject sourceModeValues = crawlerModeValue.getJSONObject("sourceModeValues"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if (sourceModeValues == null) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        continue; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    JSONArray inputModeValues = sourceModeValues.getJSONArray("inputModeValues"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if (inputModeValues == null) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        continue; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    planCrawlerCount += inputModeValues.size(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             Long produceCount = aigcBaseMapper.getProduceContentCountByProducePlanIdsAndChannel(producePlanIds, start, end, channel.getVal()); 
														 | 
														
														 | 
														
															             Long produceCount = aigcBaseMapper.getProduceContentCountByProducePlanIdsAndChannel(producePlanIds, start, end, channel.getVal()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<Integer> auditStatus = new ArrayList<>(); 
														 | 
														
														 | 
														
															             List<Integer> auditStatus = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             auditStatus.add(1); 
														 | 
														
														 | 
														
															             auditStatus.add(1); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2422,30 +2451,30 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 videoAuditIdChannelList = aigcBaseMapper.getIdChannelByContentId(videoAuditIdList); 
														 | 
														
														 | 
														
															                 videoAuditIdChannelList = aigcBaseMapper.getIdChannelByContentId(videoAuditIdList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            ContentGroupFunnelExport item = ContentGroupFunnelExport.getArticleDefault(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ContentGroupFunnelExport item = ContentGroupFunnelExport.getDefault(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.setDateStr(dateStr); 
														 | 
														
														 | 
														
															             item.setDateStr(dateStr); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.setType(channel.getDescription() + "文章"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.setPlanCrawlerCount(planCrawlerCount); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setType("文章"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setSource(channel.getDescription() + "文章"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.setCrawlerCount(crawlerCount); 
														 | 
														
														 | 
														
															             item.setCrawlerCount(crawlerCount); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.setProduceCount(produceCount); 
														 | 
														
														 | 
														
															             item.setProduceCount(produceCount); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.setProduceAuditPassCount(produceAuditPassCount); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (item.getCrawlerCount() > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                item.setProduceRate(item.getProduceCount() * 1.0 / item.getCrawlerCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.setProduceAuditCount(produceAuditCount); 
														 | 
														
														 | 
														
															             item.setProduceAuditCount(produceAuditCount); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setProduceAuditPassCount(produceAuditPassCount); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (produceAuditCount > 0) { 
														 | 
														
														 | 
														
															             if (produceAuditCount > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 item.setProduceAuditPassRate(produceAuditPassCount * 1.0 / produceAuditCount); 
														 | 
														
														 | 
														
															                 item.setProduceAuditPassRate(produceAuditPassCount * 1.0 / produceAuditCount); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.setMatchSuccessCount(matchSuccessList.stream().filter(o -> o.getChannel().equals(channel.getVal())).count()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.setMatchCount(matchList.stream().filter(o -> o.getChannel().equals(channel.getVal())).count()); 
														 | 
														
														 | 
														
															             item.setMatchCount(matchList.stream().filter(o -> o.getChannel().equals(channel.getVal())).count()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setMatchSuccessCount(matchSuccessList.stream().filter(o -> o.getChannel().equals(channel.getVal())).count()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (item.getMatchCount() > 0) { 
														 | 
														
														 | 
														
															             if (item.getMatchCount() > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 item.setMatchSuccessRate(item.getMatchSuccessCount() * 1.0 / item.getMatchCount()); 
														 | 
														
														 | 
														
															                 item.setMatchSuccessRate(item.getMatchSuccessCount() * 1.0 / item.getMatchCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.setVideoAuditPassCount(videoAuditPassIdChannelList.stream().filter(o -> o.getChannel().equals(channel.getVal())).count()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.setVideoAuditCount(videoAuditIdChannelList.stream().filter(o -> o.getChannel().equals(channel.getVal())).count()); 
														 | 
														
														 | 
														
															             item.setVideoAuditCount(videoAuditIdChannelList.stream().filter(o -> o.getChannel().equals(channel.getVal())).count()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setVideoAuditPassCount(videoAuditPassIdChannelList.stream().filter(o -> o.getChannel().equals(channel.getVal())).count()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (item.getVideoAuditCount() > 0) { 
														 | 
														
														 | 
														
															             if (item.getVideoAuditCount() > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 item.setVideoAuditPassRate(item.getVideoAuditPassCount() * 1.0 / item.getVideoAuditCount()); 
														 | 
														
														 | 
														
															                 item.setVideoAuditPassRate(item.getVideoAuditPassCount() * 1.0 / item.getVideoAuditCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (item.getProduceCount() > 0) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                item.setArticleAuditPassRate(item.getVideoAuditPassCount() * 1.0 / item.getProduceCount()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             result.add(item); 
														 | 
														
														 | 
														
															             result.add(item); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 视频 
														 | 
														
														 | 
														
															         // 视频 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2457,11 +2486,11 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     start / 1000, end / 1000, videoType.getPlatform()); 
														 | 
														
														 | 
														
															                     start / 1000, end / 1000, videoType.getPlatform()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<PublishSingleVideoSource> videoPoolAuditList = videoPoolRepository.getByVideoPoolAuditTimestampBetweenAndPlatform( 
														 | 
														
														 | 
														
															             List<PublishSingleVideoSource> videoPoolAuditList = videoPoolRepository.getByVideoPoolAuditTimestampBetweenAndPlatform( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     start, end, videoType.getPlatform()); 
														 | 
														
														 | 
														
															                     start, end, videoType.getPlatform()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            ContentGroupFunnelExport item = ContentGroupFunnelExport.getVideoDefault(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ContentGroupFunnelExport item = ContentGroupFunnelExport.getDefault(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.setDateStr(dateStr); 
														 | 
														
														 | 
														
															             item.setDateStr(dateStr); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.setType(videoType.getDescription()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.setVideoPoolCrawlerCount((long) videoPoolCrawlerCount.size()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setType("视频"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setSource(videoType.getDescription()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setCrawlerCount((long) videoPoolCrawlerCount.size()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.setVideoPoolPQAuditCount((long) videoPoolPQAuditCount.size()); 
														 | 
														
														 | 
														
															             item.setVideoPoolPQAuditCount((long) videoPoolPQAuditCount.size()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             long videoPoolPQAuditPassCount = videoPoolPQAuditCount.stream() 
														 | 
														
														 | 
														
															             long videoPoolPQAuditPassCount = videoPoolPQAuditCount.stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .filter(o -> o.getAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count(); 
														 | 
														
														 | 
														
															                     .filter(o -> o.getAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2469,15 +2498,12 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (item.getVideoPoolPQAuditCount() > 0) { 
														 | 
														
														 | 
														
															             if (item.getVideoPoolPQAuditCount() > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 item.setVideoPoolPQAuditPassRate(videoPoolPQAuditPassCount * 1.0 / item.getVideoPoolPQAuditCount()); 
														 | 
														
														 | 
														
															                 item.setVideoPoolPQAuditPassRate(videoPoolPQAuditPassCount * 1.0 / item.getVideoPoolPQAuditCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.setVideoPoolAuditCount((long) videoPoolAuditList.size()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setVideoAuditCount((long) videoPoolAuditList.size()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             long videoPoolAuditPassCount = videoPoolAuditList.stream() 
														 | 
														
														 | 
														
															             long videoPoolAuditPassCount = videoPoolAuditList.stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .filter(o -> o.getVideoPoolAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count(); 
														 | 
														
														 | 
														
															                     .filter(o -> o.getVideoPoolAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.setVideoPoolAuditPassCount(videoPoolAuditPassCount); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (item.getVideoPoolAuditCount() > 0) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                item.setVideoPoolAuditPassRate(videoPoolAuditPassCount * 1.0 / item.getVideoPoolAuditCount()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (item.getVideoPoolCrawlerCount() > 0) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                item.setVideoPoolCrawlerAuditPassRate(videoPoolAuditPassCount * 1.0 / item.getVideoPoolCrawlerCount()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.setVideoAuditPassCount(videoPoolAuditPassCount); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (item.getVideoAuditCount() > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                item.setVideoAuditPassRate(videoPoolAuditPassCount * 1.0 / item.getVideoAuditCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             result.add(item); 
														 | 
														
														 | 
														
															             result.add(item); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 |