|
@@ -0,0 +1,937 @@
|
|
|
+package cn.com.ctop.common.constant;
|
|
|
+
|
|
|
+import cn.com.ctop.common.utils.JsonResourceUtil;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Created by JQ.bi on 2020.5.30
|
|
|
+ */
|
|
|
+public class AccountReportConstants {
|
|
|
+ public static final String BYTEDANCE_FILED_MAPPING_JSON = "{\n" +
|
|
|
+ " \"cost\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.cost),0) as cost \",\n" +
|
|
|
+ " \"comment\": \"消耗\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"showMaterial\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.`show`),0) as showMaterial \",\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_num),0) as convertMaterial \",\n" +
|
|
|
+ " \"comment\": \"转化数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"convertCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.convert_num) IS NULL THEN 0 ELSE ROUND((sum(t1.cost) / sum(t1.convert_num)), 2 ) END AS convertCost \",\n" +
|
|
|
+ " \"comment\": \"转化成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"convertRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) != 0 THEN concat(CAST(round(sum(t1.convert_num) / sum(t1.cost)*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 sum(t1.cost) / sum(t1.download_start) 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(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 sum(t1.cost) / sum(t1.download_finish) 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(active),0) as active \",\n" +
|
|
|
+ " \"comment\": \"激活数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.active) IS NULL THEN 0 ELSE sum(t1.cost) / sum(t1.active) 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" +
|
|
|
+ " \"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.play25_feed_break),0) as play25FeedBreak \",\n" +
|
|
|
+ " \"comment\": \"25%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play50FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play50_feed_break),0) as play50FeedBreak\",\n" +
|
|
|
+ " \"comment\": \"50%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play75FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play75_feed_break),0) as play75FeedBreak\",\n" +
|
|
|
+ " \"comment\": \"75%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play100FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play100_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_num),0) as likeMaterial \",\n" +
|
|
|
+ " \"comment\": \"点赞数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"shareMaterial\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.share),0) as shareMaterial \",\n" +
|
|
|
+ " \"comment\": \"分享数\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ "}";
|
|
|
+ public static final String KUAISHOU_FILED_MAPPING_JSON = "{\n" +
|
|
|
+ " \"cost\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(charge),3) as cost \",\n" +
|
|
|
+ " \"comment\": \"消耗\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"photoShow\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(`show`),0) as photoShow \",\n" +
|
|
|
+ " \"comment\": \"封面曝光数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"photoClick\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(photo_click),0) as photoClick \",\n" +
|
|
|
+ " \"comment\": \"封面点击数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"aClick\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(aclick),0) as aClick \",\n" +
|
|
|
+ " \"comment\": \"素材曝光数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"bClick\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(bclick),0) as bClick \",\n" +
|
|
|
+ " \"comment\": \"行为数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"clickRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(`show`) != 0 THEN ROUND(sum(photo_click)/sum(`show`),4) else 0 END AS clickRate \",\n" +
|
|
|
+ " \"comment\": \"封面点击率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"bClickRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(aclick) != 0 THEN ROUND(sum(bclick)/sum(aclick),4) ELSE 0 END AS bClickRate \",\n" +
|
|
|
+ " \"comment\": \"行为率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpm\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(`show`) IS NULL THEN 0 ELSE ROUND(sum(charge)/sum(`show`)*1000, 3 ) END AS cpm \",\n" +
|
|
|
+ " \"comment\": \"平均千次封面曝光花费\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpc\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(photo_click) IS NULL THEN 0 ELSE ROUND((sum(charge) / sum(photo_click)), 3) END AS cpc \",\n" +
|
|
|
+ " \"comment\": \"平均封面点击单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpb\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(bclick) IS NULL THEN 0 ELSE ROUND((sum(charge) / sum(bclick)), 3) END AS cpb \",\n" +
|
|
|
+ " \"comment\": \"平均行为单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStart\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(download_started),0) as downloadStart \",\n" +
|
|
|
+ " \"comment\": \"安卓开始下载数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStartCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / (download_started) IS NULL THEN 0 ELSE round(sum(charge)/sum(download_started),3) end AS downloadStartCost \",\n" +
|
|
|
+ " \"comment\": \"安卓开始下载单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStartRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(bclick) != 0 THEN round(sum(download_started)/sum(bclick),4) else 0 end AS downloadStartRate\",\n" +
|
|
|
+ " \"comment\": \"安卓开始下载率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinish\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(download_completed),0) as downloadFinish \",\n" +
|
|
|
+ " \"comment\": \"安卓下载完成数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinishCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(download_completed) IS NULL THEN 0 ELSE round(sum(charge)/sum(download_completed),3) end AS downloadFinishCost \",\n" +
|
|
|
+ " \"comment\": \"安卓下载完成单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinishRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(download_started) != 0 then round(sum(download_completed)/sum(download_started),4) else 0 end AS downloadFinishRate \",\n" +
|
|
|
+ " \"comment\": \"安卓下载完成率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"active\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(activation),0) as active \",\n" +
|
|
|
+ " \"comment\": \"激活数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(activation) IS NULL THEN 0 ELSE round(sum(charge)/sum(activation),3) end AS activeCost \",\n" +
|
|
|
+ " \"comment\": \"激活单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPay\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_pay_first_day) != 0 THEN sum(event_pay_first_day) ELSE 0 end as firstDayPay \",\n" +
|
|
|
+ " \"comment\": \"首日付费次数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPayAmount\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_pay_purchase_amount_first_day),0) as firstDayPayAmount \",\n" +
|
|
|
+ " \"comment\": \"首日付费金额\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPayCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_pay_first_day) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_pay_first_day),3) end AS firstDayPayCost \",\n" +
|
|
|
+ " \"comment\": \"首日付费成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPayROI\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_pay_purchase_amount_first_day) / sum(charge) IS NULL THEN 0 ELSE round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,2) end AS firstDayPayROI \",\n" +
|
|
|
+ " \"comment\": \"首日ROI\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventPay\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_pay),0) as eventPay \",\n" +
|
|
|
+ " \"comment\": \"付费次数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventPayPurchaseAmount\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_pay_purchase_amount),0) as eventPayPurchaseAmount \",\n" +
|
|
|
+ " \"comment\": \"付费金额\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventPayCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(event_pay) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_pay),3) end AS eventPayCost \",\n" +
|
|
|
+ " \"comment\": \"付费次数成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"ROI\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_pay_purchase_amount)/sum(charge) IS NULL THEN 0 ELSE round(sum(event_pay_purchase_amount)/sum(charge)*100,2) end AS ROI \",\n" +
|
|
|
+ " \"comment\": \"ROI\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"register\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_register),0) as register \",\n" +
|
|
|
+ " \"comment\": \"注册数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRegisterCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_register) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_register),3) end as activeRegisterCost \",\n" +
|
|
|
+ " \"comment\": \"注册成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRegisterRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(activation) !=0 THEN round(sum(event_register)/sum(activation),4) else 0 end as activeRegisterRate \",\n" +
|
|
|
+ " \"comment\": \"注册率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianApp\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_jin_jian_app),0) as eventJinJianApp \",\n" +
|
|
|
+ " \"comment\": \"完件数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianAppCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_jin_jian_app) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_jin_jian_app),3) end as eventJinJianAppCost \",\n" +
|
|
|
+ " \"comment\": \"完件成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantApp\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_credit_grant_app),0) as eventCreditGrantApp \",\n" +
|
|
|
+ " \"comment\": \"授信数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantAppCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_credit_grant_app) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_credit_grant_app),3) end as eventCreditGrantAppCost \",\n" +
|
|
|
+ " \"comment\": \"授信成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantAppRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_jin_jian_app) !=0 THEN round(sum(event_credit_grant_app)/sum(event_jin_jian_app),4) ELSE 0 end as eventCreditGrantAppRate\",\n" +
|
|
|
+ " \"comment\": \"授信率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"formCount\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(form_count),0) as formCount \",\n" +
|
|
|
+ " \"comment\": \"表单提交数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"formCountRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(activation) != 0 THEN round(sum(form_count)/sum(activation),4) else 0 end as formCountRate \",\n" +
|
|
|
+ " \"comment\": \"表单提交率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"formCountCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(form_count) IS NULL THEN 0 ELSE round(sum(charge)/sum(form_count),3) end as formCountCost \",\n" +
|
|
|
+ " \"comment\": \"表单提交成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpen\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_next_day_stay),0) as nextDayOpen \",\n" +
|
|
|
+ " \"comment\": \"次留数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpenCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(event_next_day_stay) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_next_day_stay),3) end as nextDayOpenCost \",\n" +
|
|
|
+ " \"comment\": \"次留成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpenRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(activation) != 0 THEN round(sum(event_next_day_stay)/sum(activation),4) ELSE 0 end as nextDayOpenRate\",\n" +
|
|
|
+ " \"comment\": \"次留率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianLandingPage\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_jin_jian_landing_page),0) as eventJinJianLandingPage \",\n" +
|
|
|
+ " \"comment\": \"落地页完件数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianLandingPageCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(event_jin_jian_landing_page) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_jin_jian_landing_page),3) end as eventJinJianLandingPageCost \",\n" +
|
|
|
+ " \"comment\": \"落地页完件成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantLandingPage\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_credit_grant_landing_page),0) as eventCreditGrantLandingPage \",\n" +
|
|
|
+ " \"comment\": \"落地页授信数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantLandingPageCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_credit_grant_landing_page) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_credit_grant_landing_page),3) end as eventCreditGrantLandingPageCost \",\n" +
|
|
|
+ " \"comment\": \"落地页授信成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantLandingPageRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_jin_jian_landing_page) != 0 THEN round(sum(event_credit_grant_landing_page)/sum(event_jin_jian_landing_page),2) ELSE 0 end as eventCreditGrantLandingPageRate \",\n" +
|
|
|
+ " \"comment\": \"落地页授信率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"submit\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(submit),0) as submit \",\n" +
|
|
|
+ " \"comment\": \"按钮点击数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"submitCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(submit) IS NULL THEN 0 ELSE round(sum(charge)/sum(submit),3) end as submitCost \",\n" +
|
|
|
+ " \"comment\": \"按钮点击成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"submitRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(bclick) != 0 THEN round(sum(submit)/sum(bclick),4) else 0 end as submitRate \",\n" +
|
|
|
+ " \"comment\": \"按钮点击率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play3sRate\": {\n" +
|
|
|
+ " \"filed\": \"(CASE WHEN sum(aclick) != 0 THEN round(sum(play_3s_ratio*aclick)/sum(aclick),4) ELSE 0 END )AS play3sRate \",\n" +
|
|
|
+ " \"comment\": \"3s播放率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(download_completed) != 0 THEN round(sum(activation)/sum(download_completed),4) else 0 end as activeRate \",\n" +
|
|
|
+ " \"comment\": \"下载完成激活率\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ "}";
|
|
|
+ public static final String KUAISHOU_VIDEO_REPORT_FILED_MAPPING_JSON = "{\n" +
|
|
|
+ " \"signature\": {\n" +
|
|
|
+ " \"filed\": \"signature as signature \",\n" +
|
|
|
+ " \"comment\": \"素材标识\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"projectName\": {\n" +
|
|
|
+ " \"filed\": \"project_name as projectName \",\n" +
|
|
|
+ " \"comment\": \"项目名称\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cost\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(charge),0) as cost \",\n" +
|
|
|
+ " \"comment\": \"消耗\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"photoShow\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(`show`),0) as photoShow \",\n" +
|
|
|
+ " \"comment\": \"封面曝光数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"photoClick\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(photo_click),0) as photoClick \",\n" +
|
|
|
+ " \"comment\": \"封面点击数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"aClick\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(aclick),0) as aClick \",\n" +
|
|
|
+ " \"comment\": \"素材曝光数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"bClick\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(bclick),0) as bClick \",\n" +
|
|
|
+ " \"comment\": \"行为数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"clickRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(`show`) != 0 THEN ROUND(sum(photo_click) / sum(`show`),4) else 0 END AS clickRate \",\n" +
|
|
|
+ " \"comment\": \"封面点击率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"bClickRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(aclick) != 0 THEN ROUND(sum(bclick) / sum(aclick),4) ELSE 0 END AS bClickRate \",\n" +
|
|
|
+ " \"comment\": \"行为率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpm\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(`show`) IS NULL THEN 0 ELSE ROUND(sum(charge)/sum(`show`)*1000,3) END AS cpm \",\n" +
|
|
|
+ " \"comment\": \"平均千次封面曝光花费\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpc\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(photo_click) IS NULL THEN 0 ELSE ROUND(sum(charge)/sum(photo_click), 3) END AS cpc \",\n" +
|
|
|
+ " \"comment\": \"平均封面点击单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpb\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(bclick) IS NULL THEN 0 ELSE ROUND(sum(charge)/sum(bclick), 3) END AS cpb \",\n" +
|
|
|
+ " \"comment\": \"平均行为单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStart\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(download_started),0) as downloadStart \",\n" +
|
|
|
+ " \"comment\": \"安卓开始下载数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStartCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / (download_started) IS NULL THEN 0 ELSE round(sum(charge)/sum(download_started),3) end AS downloadStartCost \",\n" +
|
|
|
+ " \"comment\": \"安卓开始下载单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStartRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(bclick) != 0 THEN round(sum(download_started) / sum(bclick),4) else 0 end AS downloadStartRate\",\n" +
|
|
|
+ " \"comment\": \"安卓开始下载率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinish\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(download_completed),0) as downloadFinish \",\n" +
|
|
|
+ " \"comment\": \"安卓下载完成数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinishCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(download_completed) IS NULL THEN 0 ELSE round(sum(charge)/sum(download_completed),3) end AS downloadFinishCost \",\n" +
|
|
|
+ " \"comment\": \"安卓下载完成单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinishRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(download_started) != 0 then round(sum(download_completed)/sum(download_started),4) else 0 end AS downloadFinishRate \",\n" +
|
|
|
+ " \"comment\": \"安卓下载完成率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"active\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(activation),0) as active \",\n" +
|
|
|
+ " \"comment\": \"激活数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(activation) IS NULL THEN 0 ELSE round(sum(charge)/sum(activation),3) end AS activeCost \",\n" +
|
|
|
+ " \"comment\": \"激活单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPay\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_pay_first_day) != 0 THEN sum(event_pay_first_day) ELSE 0 end as firstDayPay \",\n" +
|
|
|
+ " \"comment\": \"首日付费次数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPayAmount\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_pay_purchase_amount_first_day),3) as firstDayPayAmount \",\n" +
|
|
|
+ " \"comment\": \"首日付费金额\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPayCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(event_pay_first_day) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_pay_first_day),3) end AS firstDayPayCost \",\n" +
|
|
|
+ " \"comment\": \"首日付费成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPayROI\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_pay_purchase_amount_first_day) / sum(charge) IS NULL THEN 0 ELSE sum(event_pay_purchase_amount_first_day) / sum(charge) end AS firstDayPayROI \",\n" +
|
|
|
+ " \"comment\": \"首日ROI\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventPay\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_pay),0) as eventPay \",\n" +
|
|
|
+ " \"comment\": \"付费次数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventPayPurchaseAmount\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_pay_purchase_amount),0) as eventPayPurchaseAmount \",\n" +
|
|
|
+ " \"comment\": \"付费金额\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventPayCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_pay) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_pay),3) end AS eventPayCost \",\n" +
|
|
|
+ " \"comment\": \"付费次数成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"ROI\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_pay_purchase_amount) / sum(charge) IS NULL THEN 0 ELSE sum(event_pay_purchase_amount) / sum(charge) end AS ROI \",\n" +
|
|
|
+ " \"comment\": \"ROI\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"register\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_register),0) as register \",\n" +
|
|
|
+ " \"comment\": \"注册数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRegisterCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_register) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_register),3) end as activeRegisterCost \",\n" +
|
|
|
+ " \"comment\": \"注册成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRegisterRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(activation) !=0 THEN round(sum(event_register)/sum(activation),4) else 0 end as activeRegisterRate \",\n" +
|
|
|
+ " \"comment\": \"注册率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianApp\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_jin_jian_app),0) as eventJinJianApp \",\n" +
|
|
|
+ " \"comment\": \"完件数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianAppCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_jin_jian_app) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_jin_jian_app),3) end as eventJinJianAppCost \",\n" +
|
|
|
+ " \"comment\": \"完件成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantApp\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_credit_grant_app),0) as eventCreditGrantApp \",\n" +
|
|
|
+ " \"comment\": \"授信数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantAppCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_credit_grant_app) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_credit_grant_app),3) end as eventCreditGrantAppCost \",\n" +
|
|
|
+ " \"comment\": \"授信成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantAppRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_jin_jian_app) !=0 THEN round(sum(event_credit_grant_app)/sum(event_jin_jian_app),4) ELSE 0 end as eventCreditGrantAppRate\",\n" +
|
|
|
+ " \"comment\": \"授信率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"formCount\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(form_count),0) as formCount \",\n" +
|
|
|
+ " \"comment\": \"表单提交数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"formCountRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(activation) != 0 THEN round(sum(form_count)/sum(activation),4) else 0 end as formCountRate \",\n" +
|
|
|
+ " \"comment\": \"表单提交率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"formCountCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(form_count) IS NULL THEN 0 ELSE round(sum(charge)/sum(form_count),3) end as formCountCost \",\n" +
|
|
|
+ " \"comment\": \"表单提交成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpen\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_next_day_stay),0) as nextDayOpen \",\n" +
|
|
|
+ " \"comment\": \"次留数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpenCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_next_day_stay) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_next_day_stay),3) end as nextDayOpenCost \",\n" +
|
|
|
+ " \"comment\": \"次留成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpenRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(activation) != 0 THEN round(sum(event_next_day_stay)/sum(activation),4) ELSE 0 end as nextDayOpenRate\",\n" +
|
|
|
+ " \"comment\": \"次留率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianLandingPage\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_jin_jian_landing_page),0) as eventJinJianLandingPage \",\n" +
|
|
|
+ " \"comment\": \"落地页完件数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianLandingPageCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_jin_jian_landing_page) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_jin_jian_landing_page),3) end as eventJinJianLandingPageCost \",\n" +
|
|
|
+ " \"comment\": \"落地页完件成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantLandingPage\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(event_credit_grant_landing_page),0) as eventCreditGrantLandingPage \",\n" +
|
|
|
+ " \"comment\": \"落地页授信数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantLandingPageCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge) / sum(event_credit_grant_landing_page) IS NULL THEN 0 ELSE round(sum(charge)/sum(event_credit_grant_landing_page),3) end as eventCreditGrantLandingPageCost \",\n" +
|
|
|
+ " \"comment\": \"落地页授信成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantLandingPageRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(event_jin_jian_landing_page)!=0 THEN round(sum(event_credit_grant_landing_page)/sum(event_jin_jian_landing_page),4) ELSE 0 end as eventCreditGrantLandingPageRate \",\n" +
|
|
|
+ " \"comment\": \"落地页授信率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"submit\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(submit),0) as submit \",\n" +
|
|
|
+ " \"comment\": \"按钮点击数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"submitCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(charge)/sum(submit) IS NULL THEN 0 ELSE round(sum(charge)/sum(submit),3) end as submitCost \",\n" +
|
|
|
+ " \"comment\": \"按钮点击成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"submitRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(bclick) != 0 THEN round(sum(submit)/sum(bclick),4) else 0 end as submitRate \",\n" +
|
|
|
+ " \"comment\": \"按钮点击率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(download_completed) != 0 THEN round(sum(activation)/sum(download_completed),4) else 0 end as activeRate \",\n" +
|
|
|
+ " \"comment\": \"下载完成激活率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play3sCount\": {\n" +
|
|
|
+ " \"filed\": \"sum(play_3s_ratio*aclick) as play3sCount\",\n" +
|
|
|
+ " \"comment\": \"3s播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play3sRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(aclick) != 0 THEN ROUND(sum(play_3s_count)/sum(aclick),4 ) ELSE 0 END AS play3sRate\",\n" +
|
|
|
+ " \"comment\": \"3s播放率\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ "}";
|
|
|
+ public static final String KUAISHOU_VIDEO_REPORT_FILED_DICT_JSON = "{\n" +
|
|
|
+ " \"clip\": {\n" +
|
|
|
+ " \"comment\": \"剪辑\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"channel\": {\n" +
|
|
|
+ " \"comment\": \"渠道\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"plan\": {\n" +
|
|
|
+ " \"comment\": \"编导\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"shot\": {\n" +
|
|
|
+ " \"comment\": \"拍摄\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"designLeader\": {\n" +
|
|
|
+ " \"comment\": \"设计负责人\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"materialName\": {\n" +
|
|
|
+ " \"comment\": \"素材名称\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"createTime\": {\n" +
|
|
|
+ " \"comment\": \"创建时间\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"coverUrl\": {\n" +
|
|
|
+ " \"comment\": \"封面链接\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"url\": {\n" +
|
|
|
+ " \"comment\": \"素材链接\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"signature\": {\n" +
|
|
|
+ " \"comment\": \"素材标识\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"projectName\": {\n" +
|
|
|
+ " \"comment\": \"项目名称\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cost\": {\n" +
|
|
|
+ " \"comment\": \"消耗\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"photoShow\": {\n" +
|
|
|
+ " \"comment\": \"封面曝光数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"photoClick\": {\n" +
|
|
|
+ " \"comment\": \"封面点击数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"aClick\": {\n" +
|
|
|
+ " \"comment\": \"素材曝光数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"bClick\": {\n" +
|
|
|
+ " \"comment\": \"行为数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"clickRate\": {\n" +
|
|
|
+ " \"comment\": \"封面点击率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"bClickRate\": {\n" +
|
|
|
+ " \"comment\": \"行为率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpm\": {\n" +
|
|
|
+ " \"comment\": \"平均千次封面曝光花费\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpc\": {\n" +
|
|
|
+ " \"comment\": \"平均封面点击单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"cpb\": {\n" +
|
|
|
+ " \"comment\": \"平均行为单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStart\": {\n" +
|
|
|
+ " \"comment\": \"安卓开始下载数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStartCost\": {\n" +
|
|
|
+ " \"comment\": \"安卓开始下载单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadStartRate\": {\n" +
|
|
|
+ " \"comment\": \"安卓开始下载率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinish\": {\n" +
|
|
|
+ " \"comment\": \"安卓下载完成数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinishCost\": {\n" +
|
|
|
+ " \"comment\": \"安卓下载完成单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"downloadFinishRate\": {\n" +
|
|
|
+ " \"comment\": \"安卓下载完成率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"active\": {\n" +
|
|
|
+ " \"comment\": \"激活数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeCost\": {\n" +
|
|
|
+ " \"comment\": \"激活单价\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPay\": {\n" +
|
|
|
+ " \"comment\": \"首日付费次数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPayAmount\": {\n" +
|
|
|
+ " \"comment\": \"首日付费金额\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPayCost\": {\n" +
|
|
|
+ " \"comment\": \"首日付费成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"firstDayPayROI\": {\n" +
|
|
|
+ " \"comment\": \"首日ROI\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventPay\": {\n" +
|
|
|
+ " \"comment\": \"付费次数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventPayPurchaseAmount\": {\n" +
|
|
|
+ " \"comment\": \"付费金额\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventPayCost\": {\n" +
|
|
|
+ " \"comment\": \"付费次数成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"ROI\": {\n" +
|
|
|
+ " \"comment\": \"ROI\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"register\": {\n" +
|
|
|
+ " \"comment\": \"注册数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRegisterCost\": {\n" +
|
|
|
+ " \"comment\": \"注册成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRegisterRate\": {\n" +
|
|
|
+ " \"comment\": \"注册率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianApp\": {\n" +
|
|
|
+ " \"comment\": \"完件数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianAppCost\": {\n" +
|
|
|
+ " \"comment\": \"完件成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantApp\": {\n" +
|
|
|
+ " \"comment\": \"授信数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantAppCost\": {\n" +
|
|
|
+ " \"comment\": \"授信成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantAppRate\": {\n" +
|
|
|
+ " \"comment\": \"授信率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"formCount\": {\n" +
|
|
|
+ " \"comment\": \"表单提交数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"formCountRate\": {\n" +
|
|
|
+ " \"comment\": \"表单提交率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"formCountCost\": {\n" +
|
|
|
+ " \"comment\": \"表单提交成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpen\": {\n" +
|
|
|
+ " \"comment\": \"次留数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpenCost\": {\n" +
|
|
|
+ " \"comment\": \"次留成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"nextDayOpenRate\": {\n" +
|
|
|
+ " \"comment\": \"次留率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianLandingPage\": {\n" +
|
|
|
+ " \"comment\": \"落地页完件数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventJinJianLandingPageCost\": {\n" +
|
|
|
+ " \"comment\": \"落地页完件成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantLandingPage\": {\n" +
|
|
|
+ " \"comment\": \"落地页授信数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantLandingPageCost\": {\n" +
|
|
|
+ " \"comment\": \"落地页授信成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"eventCreditGrantLandingPageRate\": {\n" +
|
|
|
+ " \"comment\": \"落地页授信率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"submit\": {\n" +
|
|
|
+ " \"comment\": \"按钮点击数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"submitCost\": {\n" +
|
|
|
+ " \"comment\": \"按钮点击成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"submitRate\": {\n" +
|
|
|
+ " \"comment\": \"按钮点击率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"activeRate\": {\n" +
|
|
|
+ " \"comment\": \"下载完成激活率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play3sCount\": {\n" +
|
|
|
+ " \"comment\": \"3s播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play3sRate\": {\n" +
|
|
|
+ " \"comment\": \"3s播放率\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"adScene\": {\n" +
|
|
|
+ " \"comment\": \"投放场景\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ "}";
|
|
|
+
|
|
|
+ public static final String BYTEDANCE_VIDEO_REPORT_MAPPING_JSON = "{\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.material_show) IS NULL THEN 0 ELSE ROUND(sum(t1.cost)/sum(t1.material_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.material_show) != 0 THEN CONCAT(CAST(ROUND((sum(t1.click) / sum(t1.material_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_material),0) as convertMaterial \",\n" +
|
|
|
+ " \"comment\": \"转化数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"convertCost\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.cost) / sum(t1.convert_material) IS NULL THEN 0 ELSE ROUND((sum(t1.cost) / sum(t1.convert_material)), 2 ) END AS convertCost \",\n" +
|
|
|
+ " \"comment\": \"转化成本\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"convertRate\": {\n" +
|
|
|
+ " \"filed\": \"CASE WHEN sum(t1.material_show)!= 0 THEN concat(CAST(round(sum(t1.convert_material) / sum(t1.material_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 sum(t1.cost) / sum(t1.download_start) 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 sum(t1.cost) / sum(t1.download_finish) 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 sum(t1.cost) / sum(t1.active) 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.play25_feed_break),0) as play25FeedBreak \",\n" +
|
|
|
+ " \"comment\": \"25%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play50FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play50_feed_break),0) as play50FeedBreak\",\n" +
|
|
|
+ " \"comment\": \"50%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play75FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play75_feed_break),0) as play75FeedBreak\",\n" +
|
|
|
+ " \"comment\": \"75%进度播放数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"play100FeedBreak\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.play100_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_material),0) as likeMaterial \",\n" +
|
|
|
+ " \"comment\": \"点赞数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"shareMaterial\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(sum(t1.share_material),0) as shareMaterial \",\n" +
|
|
|
+ " \"comment\": \"分享数\"\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"showMaterial\": {\n" +
|
|
|
+ " \"filed\": \"IFNULL(t1.material_show, 0 ) AS material_show \",\n" +
|
|
|
+ " \"comment\": \"展示数\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ "}";
|
|
|
+ public static Map<String, Map<String, Object>> getDictMapBy(){
|
|
|
+ JSONObject jsonBy = JSON.parseObject(BYTEDANCE_FILED_MAPPING_JSON);
|
|
|
+ return JsonResourceUtil.jsonToMap(jsonBy);
|
|
|
+ }
|
|
|
+ public static Map<String, Map<String, Object>> getDicMapKs(){
|
|
|
+ Object jsonKs = JSON.parseObject(KUAISHOU_FILED_MAPPING_JSON);
|
|
|
+ return JsonResourceUtil.jsonToMap(jsonKs);
|
|
|
+ }
|
|
|
+ public static Map<String, Map<String, Object>> getDicMapByVideo(){
|
|
|
+ Object jsonByVideo = JSON.parseObject(BYTEDANCE_VIDEO_REPORT_MAPPING_JSON);
|
|
|
+ return JsonResourceUtil.jsonToMap(jsonByVideo);
|
|
|
+ }
|
|
|
+ public static Map<String, Map<String, Object>> getKuaishouVideoReportMap(){
|
|
|
+ Object kuaiShouVideoJson = JSON.parseObject(KUAISHOU_VIDEO_REPORT_FILED_MAPPING_JSON);
|
|
|
+ return JsonResourceUtil.jsonToMap(kuaiShouVideoJson);
|
|
|
+ }
|
|
|
+ public static Map<String, Map<String, Object>> getKuaishouVideoReportDict(){
|
|
|
+ Object kuaiShouVideoDictJson = JSON.parseObject(KUAISHOU_VIDEO_REPORT_FILED_DICT_JSON);
|
|
|
+ return JsonResourceUtil.jsonToMap(kuaiShouVideoDictJson);
|
|
|
+ }
|
|
|
+}
|