|
@@ -92,6 +92,7 @@ public class ChannelDemandMatchCheckJob {
|
|
|
|
|
|
|
|
// 构建行数据
|
|
// 构建行数据
|
|
|
List<JSONObject> rows = new ArrayList<>();
|
|
List<JSONObject> rows = new ArrayList<>();
|
|
|
|
|
+ long totalCount = 0;
|
|
|
for (ChannelDemandMatchGroupCount gc : groupCounts) {
|
|
for (ChannelDemandMatchGroupCount gc : groupCounts) {
|
|
|
JSONObject row = new JSONObject();
|
|
JSONObject row = new JSONObject();
|
|
|
row.put("channel_name", nullToEmpty(gc.getChannelName()));
|
|
row.put("channel_name", nullToEmpty(gc.getChannelName()));
|
|
@@ -100,7 +101,16 @@ public class ChannelDemandMatchCheckJob {
|
|
|
row.put("dimension", nullToEmpty(gc.getDimension()));
|
|
row.put("dimension", nullToEmpty(gc.getDimension()));
|
|
|
row.put("count", String.valueOf(gc.getCount()));
|
|
row.put("count", String.valueOf(gc.getCount()));
|
|
|
rows.add(row);
|
|
rows.add(row);
|
|
|
|
|
+ totalCount += gc.getCount();
|
|
|
}
|
|
}
|
|
|
|
|
+ // 总计行
|
|
|
|
|
+ JSONObject totalRow = new JSONObject();
|
|
|
|
|
+ totalRow.put("channel_name", "总计");
|
|
|
|
|
+ totalRow.put("demand_strategy", "");
|
|
|
|
|
+ totalRow.put("match_method", "");
|
|
|
|
|
+ totalRow.put("dimension", "");
|
|
|
|
|
+ totalRow.put("count", String.valueOf(totalCount));
|
|
|
|
|
+ rows.add(totalRow);
|
|
|
|
|
|
|
|
// 构建飞书 interactive card
|
|
// 构建飞书 interactive card
|
|
|
JSONObject card = buildTableCard("渠道需求匹配分组统计 (" + dt + ")", columns, rows, atAll);
|
|
JSONObject card = buildTableCard("渠道需求匹配分组统计 (" + dt + ")", columns, rows, atAll);
|