|
@@ -2206,7 +2206,7 @@ public class DataDashboardService {
|
|
|
Pair.of("V", "0.00%")
|
|
|
);
|
|
|
doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "qEipyL", rowNum, rows,
|
|
|
- 3, styles, null);
|
|
|
+ 4, styles, null);
|
|
|
}
|
|
|
|
|
|
private ContentFunnelExport buildContentFunnelExport(String dateStr) {
|
|
@@ -2295,4 +2295,69 @@ public class DataDashboardService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ @XxlJob("contentGroupFunnelExport")
|
|
|
+ public ReturnT<String> contentGroupFunnelExportJob(String param) {
|
|
|
+ List<String> dateStrList = DateUtils.getBeforeDays(null, null, 1);
|
|
|
+ contentGroupFunnelExport(dateStrList);
|
|
|
+ return ReturnT.SUCCESS;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void contentGroupFunnelExport(String dateStr) {
|
|
|
+ if (!StringUtils.hasText(dateStr)) {
|
|
|
+ dateStr = DateUtils.getBeforeDaysDateStr("yyyyMMdd", 1);
|
|
|
+ }
|
|
|
+ contentGroupFunnelExport(Collections.singletonList(dateStr));
|
|
|
+ }
|
|
|
+
|
|
|
+ public void contentGroupFunnelExport(List<String> dateStrList) {
|
|
|
+ List<ContentGroupFunnelExport> exportList = new ArrayList<>();
|
|
|
+ dateStrList = Lists.reverse(dateStrList);
|
|
|
+ for (String dateStr : dateStrList) {
|
|
|
+ exportList.addAll(buildContentGroupFunnelExport(dateStr));
|
|
|
+ }
|
|
|
+ if (CollectionUtil.isEmpty(exportList)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ int rowNum = exportList.size();
|
|
|
+ List<List<Object>> rows = new ArrayList<>();
|
|
|
+ Field[] fields = ContentGroupFunnelExport.class.getDeclaredFields();
|
|
|
+ for (ContentGroupFunnelExport datum : exportList) {
|
|
|
+ List<Object> rowDatas = new ArrayList<>();
|
|
|
+ rows.add(rowDatas);
|
|
|
+
|
|
|
+ for (Field field : fields) {
|
|
|
+ field.setAccessible(true);
|
|
|
+ try {
|
|
|
+ rowDatas.add(field.get(datum));
|
|
|
+ } catch (IllegalAccessException e) {
|
|
|
+ log.error("获取值出错:{}", field.getName());
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Pair<String, String>> styles = Arrays
|
|
|
+ .asList(
|
|
|
+ Pair.of("H", "0.00%"),
|
|
|
+ Pair.of("K", "0.00%"),
|
|
|
+ Pair.of("N", "0.00%"),
|
|
|
+ Pair.of("O", "0.00%"),
|
|
|
+ Pair.of("S", "0.00%"),
|
|
|
+ Pair.of("V", "0.00%"),
|
|
|
+ Pair.of("W", "0.00%")
|
|
|
+ );
|
|
|
+ doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "tP33UK", rowNum, rows,
|
|
|
+ 2, styles, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<ContentGroupFunnelExport> buildContentGroupFunnelExport(String dateStr) {
|
|
|
+ List<ContentGroupFunnelExport> result = new ArrayList<>();
|
|
|
+ Long start = DateUtils.getStartOfDay(dateStr, "yyyyMMdd") * 1000;
|
|
|
+ Long end = start + (24 * 60 * 60 * 1000);
|
|
|
+
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
}
|