|
@@ -990,9 +990,6 @@ public class AccountReportConstants {
|
|
|
" }\n" +
|
|
|
"}";
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
- System.out.println(BYTEDANCE_VIDEO_REPORT_MAPPING_JSON);
|
|
|
- }
|
|
|
public static final String BYTEDANCE_VIDEO_REPORT_MAPPING_JSON = "{\n" +
|
|
|
" \"cost\": {\n" +
|
|
|
" \"filed\": \"IFNULL(sum(t1.cost),0) as cost \",\n" +
|
|
@@ -1150,6 +1147,163 @@ public class AccountReportConstants {
|
|
|
|
|
|
|
|
|
|
|
|
+ public static final String BYTEDANCE_VIDEO_REPORT_MAPPING_JSON2 = "{\n" +
|
|
|
+ " \"cost\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.cost),0) as cost \",\n" +
|
|
|
+ " \"comment\": \"消耗\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpm\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1._`show`) IS NULL THEN 0 ELSE ROUND((sum(t1.cost) / sum(t1._`show`)) * 1000, 2 ) END AS cpm \",\n" +
|
|
|
+ " \"comment\": \"平均千次展现费用\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"clickMaterial\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.click),0) as clickMaterial \",\n" +
|
|
|
+ " \"comment\": \"点击数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"ctr\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1._`show`) != 0 THEN CONCAT(CAST(ROUND((sum(t1.click) / sum(t1._`show`)) * 100,2) AS CHAR) ,'%') ELSE '0%' end AS ctr\",\n" +
|
|
|
+ " \"comment\": \"点击率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpc\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.click) / sum(t1.cost) IS NULL THEN 0 ELSE ROUND((sum(t1.cost) / sum(t1.click)), 2) END AS cpc \",\n" +
|
|
|
+ " \"comment\": \"平均点击单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"convertMaterial\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.`convert`),0) as convertMaterial \",\n" +
|
|
|
+ " \"comment\": \"转化数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"convertCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.`convert`) IS NULL THEN 0 ELSE ROUND((sum(t1.cost) / sum(t1.`convert`)), 2 ) END AS convertCost \",\n" +
|
|
|
+ " \"comment\": \"转化成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"convertRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1._`show`)!= 0 THEN concat(CAST(round(sum(t1.`convert`) / sum(t1._`show`)*100,2) AS CHAR) ,'%') ELSE '0%' end AS convertRate \",\n" +
|
|
|
+ " \"comment\": \"转化率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStart\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(download_start),0) as downloadStart \",\n" +
|
|
|
+ " \"comment\": \"安卓开始下载数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStartCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / (t1.download_start) IS NULL THEN 0 ELSE ROUND(sum(t1.cost) / sum(t1.download_start),3) end AS downloadStartCost \",\n" +
|
|
|
+ " \"comment\": \"安卓开始下载成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStartRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.click) != 0 THEN concat(CAST(round(sum(t1.download_start) / sum(t1.click)*100,2) AS CHAR) ,'%') ELSE '0%' end AS downloadStartRate \",\n" +
|
|
|
+ " \"comment\": \"安卓开始下载率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinish\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.download_finish),0) as downloadFinish \",\n" +
|
|
|
+ " \"comment\": \"安卓下载完成数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinishCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.download_finish) IS NULL THEN 0 ELSE ROUND(sum(t1.cost) / sum(t1.download_finish),3) end AS downloadFinishCost \",\n" +
|
|
|
+ " \"comment\": \"安卓下载完成成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinishRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.download_finish) != 0 THEN concat(CAST(round(sum(t1.install_finish) / sum(t1.download_finish)*100,2) AS CHAR),'%') ELSE '0%' end AS downloadFinishRate \",\n" +
|
|
|
+ " \"comment\": \"安卓下载完成率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"active\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.active),0) as active \",\n" +
|
|
|
+ " \"comment\": \"激活数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.active) IS NULL THEN 0 ELSE ROUND(sum(t1.cost) / sum(t1.active),3) end AS activeCost \",\n" +
|
|
|
+ " \"comment\": \"激活成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.click)!= 0 THEN concat( CAST(round(sum(t1.active) / sum(t1.click)*100,2) AS CHAR),'%') ELSE '0%' end as activeRate\",\n" +
|
|
|
+ " \"comment\": \"激活率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"register\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.register),0) as register \",\n" +
|
|
|
+ " \"comment\": \"注册数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRegisterCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.register) IS NULL THEN 0 ELSE round(sum(t1.cost)/sum(t1.register),3) end as activeRegisterCost \",\n" +
|
|
|
+ " \"comment\": \"注册成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRegisterRate\": {\n" +
|
|
|
+ " \"filed\": \" CASE WHEN sum(t1.active) != 0 THEN concat(CAST(round(sum(t1.register) / sum(t1.active)*100,2) AS CHAR) ,'%') ELSE '0%' end as activeRegisterRate \",\n" +
|
|
|
+ " \"comment\": \"注册率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"gameAddiction\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.game_addiction),0) as gameAddiction \",\n" +
|
|
|
+ " \"comment\": \"关键行为数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"gameAddictionCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.game_addiction) IS NULL THEN 0 ELSE round(sum(t1.cost)/sum(t1.game_addiction),3) end as gameAddictionCost \",\n" +
|
|
|
+ " \"comment\": \"关键行为成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"gameAddictionRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.active)!= 0 THEN concat(CAST(round(sum(t1.game_addiction) / sum(t1.active)*100,2) AS CHAR),'%') ELSE '0%' end as gameAddictionRate\",\n" +
|
|
|
+ " \"comment\": \"关键行为率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpen\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.next_day_open),0) as nextDayOpen \",\n" +
|
|
|
+ " \"comment\": \"次留数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpenCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.next_day_open) IS NULL THEN 0 ELSE round(sum(t1.cost)/sum(t1.next_day_open),3) end as nextDayOpenCost \",\n" +
|
|
|
+ " \"comment\": \"次留成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpenRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.active)!= 0 THEN concat(CAST(round(sum(t1.next_day_open) / sum(t1.active)*100,2) AS CHAR) ,'%') ELSE '0%' end as nextDayOpenRate \",\n" +
|
|
|
+ " \"comment\": \"次留率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activePayAmount\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(pay_count),0) as activePayAmount \",\n" +
|
|
|
+ " \"comment\": \"付费数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activePayCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.pay_count) IS NULL THEN 0 ELSE round(sum(t1.cost)/sum(t1.pay_count),3) end as activePayCost \",\n" +
|
|
|
+ " \"comment\": \"付费成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"form\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.form),0) as form \",\n" +
|
|
|
+ " \"comment\": \"表单提交\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"validPlayCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.valid_play) IS NULL THEN 0 ELSE round(sum(t1.cost)/sum(t1.valid_play),3) end as validPlayCost \",\n" +
|
|
|
+ " \"comment\": \"有效播放成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play25FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play_25_feed_break),0) as play25FeedBreak \",\n" +
|
|
|
+ " \"comment\": \"25%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play50FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play_50_feed_break),0) as play50FeedBreak\",\n" +
|
|
|
+ " \"comment\": \"50%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play75FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play_75_feed_break),0) as play75FeedBreak\",\n" +
|
|
|
+ " \"comment\": \"75%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play100FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play_100_feed_break),0) as play100FeedBreak\",\n" +
|
|
|
+ " \"comment\": \"100%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"follow\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.follow),0) as follow \",\n" +
|
|
|
+ " \"comment\": \"新增关注数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"likeMaterial\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.`like`),0) as likeMaterial \",\n" +
|
|
|
+ " \"comment\": \"点赞数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"shareMaterial\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.share),0) as shareMaterial \",\n" +
|
|
|
+ " \"comment\": \"分享数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"showMaterial\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(t1._`show`, 0 ) AS materialShow \",\n" +
|
|
|
+ " \"comment\": \"展示数\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ "}";
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
public static final String BYTEDANCE_VIDEO_REPORT_MAPPING_JSON_NEW = "{\n" +
|
|
|
" \"cost\": {\n" +
|
|
|
" \"filed\": \"IFNULL(sum(t1.cost),0) as cost \",\n" +
|
|
@@ -1316,6 +1470,10 @@ public class AccountReportConstants {
|
|
|
Object jsonByVideo = JSON.parseObject(BYTEDANCE_VIDEO_REPORT_MAPPING_JSON);
|
|
|
return JsonResourceUtil.jsonToMap(jsonByVideo);
|
|
|
}
|
|
|
+ public static Map<String, Map<String, Object>> getDicMapByVideo2(){
|
|
|
+ Object jsonByVideo = JSON.parseObject(BYTEDANCE_VIDEO_REPORT_MAPPING_JSON);
|
|
|
+ return JsonResourceUtil.jsonToMap(jsonByVideo);
|
|
|
+ }
|
|
|
public static Map<String, Map<String, Object>> getDicMapByVideoNew(){
|
|
|
Object jsonByVideo = JSON.parseObject(BYTEDANCE_VIDEO_REPORT_MAPPING_JSON_NEW);
|
|
|
return JsonResourceUtil.jsonToMap(jsonByVideo);
|