浏览代码

fix on 2020.11.30

jiequan.bi 4 年之前
父节点
当前提交
e27e3654fa

+ 44 - 33
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaiShouAccountReportServiceImpl.java

@@ -1,7 +1,6 @@
 package cn.com.ctop.kuaishou.modules.report.service.impl;
 
 import cn.com.ctop.common.module.utils.CtopAdConstant;
-
 import cn.com.ctop.kuaishou.modules.report.mapper.KuaiShouAccountReportMapper;
 import cn.com.ctop.kuaishou.modules.report.service.IKuaiShouAccountReportService;
 import cn.com.ctop.kuaishou.modules.utils.LinkUtils;
@@ -31,7 +30,7 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
     @Autowired
     KuaiShouAccountReportMapper kuaiShouAccountReportMapper;
 
-    private static final BigDecimal zero=BigDecimal.ZERO;
+    private static final BigDecimal zero = BigDecimal.ZERO;
 
     @Override
     public Map<String, Object> getSumDataBy(String mediaId, BigDecimal discount, JSONArray accounts, String startDate, String endDate) {
@@ -44,12 +43,12 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
                 return result;
             }
             before = kuaiShouAccountReportMapper.queryTodaySumByHour(DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, startDate, -1), after.getInteger("maxHour"), accounts);
-            if(before==null){
+            if (before == null) {
                 before = after;
             }
         } else {
             after = kuaiShouAccountReportMapper.querySumByStartEndDate(endDate, startDate, accounts);
-            if(after==null){
+            if (after == null) {
                 return result;
             }
             before = after;
@@ -60,16 +59,16 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
 
     @Override
     public List<JSONObject> getChartDataBy(String mediaId, BigDecimal discount, JSONArray accounts, String startDate, String endDate) throws ParseException {
-        List<JSONObject> result=new ArrayList<>();
+        List<JSONObject> result = new ArrayList<>();
         String filedAll = JsonResourceUtil.joinAllFiled(AccountReportConstants.dicMapKs);
         if (startDate.equals(endDate)) {
             List<JSONObject> after = kuaiShouAccountReportMapper.queryTodayDetailReportBy(filedAll, startDate, accounts);
             List<JSONObject> before = kuaiShouAccountReportMapper.queryTodayDetailReportBy(filedAll, DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, startDate, -1), accounts);
-            if(after.size()==0){
+            if (after.size() == 0) {
                 return result;
             }
-            if(before.size()==0){
-                before=nullDataHandle();
+            if (before.size() == 0) {
+                before = nullDataHandle();
             }
             List<JSONObject> afterDis = this.countDiscountCost(mediaId, discount, after);
             List<JSONObject> beforeDis = this.countDiscountCost(mediaId, discount, before);
@@ -77,13 +76,12 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
         } else {
             List<JSONObject> after;
             //判断是不是日期间隔大于半年
-            if(DateUtils.isMoreSixMonth(startDate,endDate)){
+            if (DateUtils.isMoreSixMonth(startDate, endDate)) {
                 after = kuaiShouAccountReportMapper.queryDetailGroupMonthByDate(endDate, startDate, accounts);
-            }
-            else {
+            } else {
                 after = kuaiShouAccountReportMapper.queryDetailByStartEndDate(endDate, startDate, accounts);
             }
-            if(after==null){
+            if (after == null) {
                 return result;
             }
             result = this.countDiscountCost(mediaId, discount, after);
@@ -96,16 +94,25 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
         List<JSONObject> result;
         String filedAll = JsonResourceUtil.joinAllFiled(AccountReportConstants.dicMapKs);
         if (startDate.equals(endDate)) {
-            result = kuaiShouAccountReportMapper.queryTodaySumByHourGroupAccount(filedAll, startDate, hour, accounts, target, order);
-            JSONObject afterSum = kuaiShouAccountReportMapper.querySumByHour(filedAll, startDate, hour, accounts);
-            JSONObject beforeSum = kuaiShouAccountReportMapper.querySumByHour(filedAll, DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, startDate, -1), hour, accounts);
-            result.add(afterSum);
-            result.add(beforeSum);
-            result.add(countTotal(afterSum, beforeSum));
+            if (startDate.equals(DateUtils.date2Str())) {
+                result = kuaiShouAccountReportMapper.queryTodaySumByHourGroupAccount(filedAll, startDate, hour, accounts, target, order);
+                JSONObject afterSum = kuaiShouAccountReportMapper.querySumByHour(filedAll, startDate, hour, accounts);
+                JSONObject beforeSum = kuaiShouAccountReportMapper.querySumByHour(filedAll, DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, startDate, -1), hour, accounts);
+                result.add(afterSum);
+                result.add(beforeSum);
+                result.add(countTotal(afterSum, beforeSum));
+            } else {
+                result = kuaiShouAccountReportMapper.querySumByDateGroupAccount(filedAll, endDate, startDate, accounts, target, order);
+                JSONObject afterSum = kuaiShouAccountReportMapper.queryAllSumByStartEndDate(filedAll, endDate, startDate, accounts);
+                JSONObject beforeSum = kuaiShouAccountReportMapper.queryAllSumByStartEndDate(filedAll, DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, endDate, -1), DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, startDate, -1), accounts);
+                result.add(afterSum);
+                result.add(beforeSum);
+                result.add(countTotal(afterSum, beforeSum));
+            }
         } else {
-            if(accounts.size()>1){
+            if (accounts.size() > 1) {
                 result = kuaiShouAccountReportMapper.querySumByDateGroupAccount(filedAll, endDate, startDate, accounts, target, order);
-            }else{
+            } else {
                 result = kuaiShouAccountReportMapper.querySumByDateGroupAccountAndDate(filedAll, endDate, startDate, accounts, target, order);
             }
             result.add(kuaiShouAccountReportMapper.queryAllSumByStartEndDate(filedAll, endDate, startDate, accounts));
@@ -117,7 +124,11 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
     public List<JSONObject> getExcelDataBy(String filed, String mediaId, JSONArray accounts, String startDate, String endDate, int hour, String target, String order) {
         List<JSONObject> result;
         if (startDate.equals(endDate)) {
-            result = kuaiShouAccountReportMapper.queryTodaySumByHourGroupAccount(filed, startDate, hour, accounts, target, order);
+            if (startDate.equals(DateUtils.date2Str())) {
+                result = kuaiShouAccountReportMapper.queryTodaySumByHourGroupAccount(filed, startDate, hour, accounts, target, order);
+            } else {
+                result = kuaiShouAccountReportMapper.querySumByDateGroupAccount(filed, endDate, startDate, accounts, target, order);
+            }
         } else {
             result = kuaiShouAccountReportMapper.querySumByDateGroupAccount(filed, endDate, startDate, accounts, target, order);
         }
@@ -180,25 +191,25 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
         JSONObject jsonObject = new JSONObject();
         after.forEach((k, v) -> {
             //去除没法计算的字段
-            if ("accountId".equals(k) || "authName".equals(k) || v.toString().contains("%")||before.getString(k).contains("%")) {
+            if ("accountId".equals(k) || "authName".equals(k) || v.toString().contains("%") || before.getString(k).contains("%")) {
                 jsonObject.put(k, "-");
-            }else {
-                jsonObject.put(k, LinkUtils.countLink(after.getBigDecimal(k)==null?zero:after.getBigDecimal(k), before.getBigDecimal(k)==null?zero:before.getBigDecimal(k)));
+            } else {
+                jsonObject.put(k, LinkUtils.countLink(after.getBigDecimal(k) == null ? zero : after.getBigDecimal(k), before.getBigDecimal(k) == null ? zero : before.getBigDecimal(k)));
             }
         });
         return jsonObject;
     }
 
-    private List<JSONObject> nullDataHandle(){
-        List<JSONObject> objectList= new ArrayList<>();
+    private List<JSONObject> nullDataHandle() {
+        List<JSONObject> objectList = new ArrayList<>();
         JSONObject jsonObject;
-        for(int i=0;i<24;i++){
-            jsonObject=new JSONObject();
-            jsonObject.put("cost",0);
-            jsonObject.put("photoShow",0);
-            jsonObject.put("photoClick",0);
-            jsonObject.put("aClick",0);
-            jsonObject.put("statHour",i);
+        for (int i = 0; i < 24; i++) {
+            jsonObject = new JSONObject();
+            jsonObject.put("cost", 0);
+            jsonObject.put("photoShow", 0);
+            jsonObject.put("photoClick", 0);
+            jsonObject.put("aClick", 0);
+            jsonObject.put("statHour", i);
             objectList.add(jsonObject);
         }
         return objectList;

+ 20 - 20
module-kuaishou/src/main/resources/json_template/kuaishou_filed_mapping.json

@@ -1,22 +1,22 @@
 {
   "cost": {
-    "filed": "sum(t1.charge) as cost ",
+    "filed": "IFNULL(sum(t1.charge),0) as cost ",
     "comment": "消耗"
   },
   "photoShow": {
-    "filed": "sum(t1.photo_show) as photoShow ",
+    "filed": "IFNULL(sum(t1.photo_show),0) as photoShow ",
     "comment": "封面曝光数"
   },
   "photoClick": {
-    "filed": "sum(t1.photo_click) as photoClick ",
+    "filed": "IFNULL(sum(t1.photo_click),0) as photoClick ",
     "comment": "封面点击数"
   },
   "aClick": {
-    "filed": "sum(t1.aclick) as aClick ",
+    "filed": "IFNULL(sum(t1.aclick),0) as aClick ",
     "comment": "素材曝光数"
   },
   "bClick": {
-    "filed": "sum(t1.bclick) as bClick ",
+    "filed": "IFNULL(sum(t1.bclick),0) as bClick ",
     "comment": "行为数"
   },
   "clickRate": {
@@ -40,7 +40,7 @@
     "comment": "平均行为单价"
   },
   "downloadStart": {
-    "filed": "sum(download_started) as downloadStart ",
+    "filed": "IFNULL(sum(download_started),0) as downloadStart ",
     "comment": "安卓开始下载数"
   },
   "downloadStartCost": {
@@ -52,7 +52,7 @@
     "comment": "安卓开始下载率"
   },
   "downloadFinish": {
-    "filed": "sum(download_completed) as downloadFinish ",
+    "filed": "IFNULL(sum(download_completed),0) as downloadFinish ",
     "comment": "安卓下载完成数"
   },
   "downloadFinishCost": {
@@ -64,7 +64,7 @@
     "comment": "安卓下载完成率"
   },
   "active": {
-    "filed": "sum(activation) as active ",
+    "filed": "IFNULL(sum(activation),0) as active ",
     "comment": "激活数"
   },
   "activeCost": {
@@ -76,11 +76,11 @@
     "comment": "下载完成激活率"
   },
   "firstDayPay": {
-    "filed": "sum(t1.event_pay_first_day) as firstDayPay  ",
+    "filed": "IFNULL(sum(t1.event_pay_first_day),0) as firstDayPay  ",
     "comment": "首日付费次数"
   },
   "firstDayPayAmount": {
-    "filed": "sum(t1.event_pay_purchase_amount_first_day) as firstDayPayAmount  ",
+    "filed": "IFNULL(sum(t1.event_pay_purchase_amount_first_day),0) as firstDayPayAmount  ",
     "comment": "首日付费金额"
   },
   "firstDayPayCost": {
@@ -92,11 +92,11 @@
     "comment": "首日ROI"
   },
   "eventPay": {
-    "filed": "sum(t1.event_pay) as eventPay  ",
+    "filed": "IFNULL(sum(t1.event_pay),0) as eventPay  ",
     "comment": "付费次数"
   },
   "eventPayPurchaseAmount": {
-    "filed": "sum(t1.event_pay_purchase_amount) as eventPayPurchaseAmount  ",
+    "filed": "IFNULL(sum(t1.event_pay_purchase_amount),0) as eventPayPurchaseAmount  ",
     "comment": "付费金额"
   },
   "eventPayCost": {
@@ -108,7 +108,7 @@
     "comment": "ROI"
   },
   "register": {
-    "filed": "sum(t1.event_register) as register ",
+    "filed": "IFNULL(sum(t1.event_register),0) as register ",
     "comment": "注册数"
   },
   "activeRegisterCost": {
@@ -120,7 +120,7 @@
     "comment": "注册率"
   },
   "eventJinJianApp": {
-    "filed": "sum(event_jin_jian_app) as eventJinJianApp ",
+    "filed": "IFNULL(sum(event_jin_jian_app),0) as eventJinJianApp ",
     "comment": "完件数"
   },
   "eventJinJianAppCost": {
@@ -128,7 +128,7 @@
     "comment": "完件成本"
   },
   "eventCreditGrantApp": {
-    "filed": "sum(event_credit_grant_app) as eventCreditGrantApp ",
+    "filed": "IFNULL(sum(event_credit_grant_app),0) as eventCreditGrantApp ",
     "comment": "授信数"
   },
   "eventCreditGrantAppCost": {
@@ -140,7 +140,7 @@
     "comment": "授信率"
   },
   "formCount": {
-    "filed": "sum(t1.form_count) as formCount ",
+    "filed": "IFNULL(sum(t1.form_count),0) as formCount ",
     "comment": "表单提交数"
   },
   "formCountRate": {
@@ -152,7 +152,7 @@
     "comment": "表单提交成本"
   },
   "nextDayOpen": {
-    "filed": "sum(t1.event_next_day_stay) as nextDayOpen ",
+    "filed": "IFNULL(sum(t1.event_next_day_stay),0) as nextDayOpen ",
     "comment": "次留数"
   },
   "nextDayOpenCost": {
@@ -164,7 +164,7 @@
     "comment": "次留率"
   },
   "eventJinJianLandingPage": {
-    "filed": "sum(t1.event_jin_jian_landing_page) as eventJinJianLandingPage ",
+    "filed": "IFNULL(sum(t1.event_jin_jian_landing_page),0) as eventJinJianLandingPage ",
     "comment": "落地页完件数"
   },
   "eventJinJianLandingPageCost": {
@@ -172,7 +172,7 @@
     "comment": "落地页完件成本"
   },
   "eventCreditGrantLandingPage": {
-    "filed": "sum(t1.event_credit_grant_landing_page) as eventCreditGrantLandingPage ",
+    "filed": "IFNULL(sum(t1.event_credit_grant_landing_page),0) as eventCreditGrantLandingPage ",
     "comment": "落地页授信数"
   },
   "eventCreditGrantLandingPageCost": {
@@ -184,7 +184,7 @@
     "comment": "落地页授信率"
   },
   "submit": {
-    "filed": "sum(t1.submit) as submit ",
+    "filed": "IFNULL(sum(t1.submit),0) as submit ",
     "comment": "按钮点击数"
   },
   "submitCost": {

+ 0 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/controller/BytedanceNewPlanReportCtrl.java

@@ -4,9 +4,7 @@ import cn.com.ctop.toutiao.modules.report.service.IBytedanceNewPlanReportService
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.vo.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;

+ 22 - 7
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceAccountReportServiceImpl.java

@@ -103,12 +103,22 @@ public class BytedanceAccountReportServiceImpl implements IBytedanceAccountRepor
         List<JSONObject> result;
         String filedAll = JsonResourceUtil.joinAllFiled(AccountReportConstants.dicMapBy);
         if (startDate.equals(endDate)) {
-            result = bytedanceAccountReportMapper.queryTodaySumByHourGroupAccount(filedAll, startDate, hour, accounts, target, order);
-            JSONObject afterSum = bytedanceAccountReportMapper.querySumByHour(filedAll, startDate, hour, accounts);
-            JSONObject beforeSum = bytedanceAccountReportMapper.querySumByHour(filedAll, DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, startDate, -1), hour, accounts);
-            result.add(afterSum);
-            result.add(beforeSum);
-            result.add(countTotal(afterSum, beforeSum));
+            //由于时报数据不准,修改逻辑除当日数据外全部请求日报数据
+            if(startDate.equals(DateUtils.date2Str())){
+                result = bytedanceAccountReportMapper.queryTodaySumByHourGroupAccount(filedAll, startDate, hour, accounts, target, order);
+                JSONObject afterSum = bytedanceAccountReportMapper.querySumByHour(filedAll, startDate, hour, accounts);
+                JSONObject beforeSum = bytedanceAccountReportMapper.querySumByHour(filedAll, DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, startDate, -1), hour, accounts);
+                result.add(afterSum);
+                result.add(beforeSum);
+                result.add(countTotal(afterSum, beforeSum));
+            }else {
+                result= bytedanceAccountReportMapper.querySumByDateGroupAccount(filedAll, endDate, startDate, accounts, target, order);
+                JSONObject afterSum = bytedanceAccountReportMapper.queryAllSumByStartEndDate(filedAll, endDate, startDate, accounts);
+                JSONObject beforeSum = bytedanceAccountReportMapper.queryAllSumByStartEndDate(filedAll, DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, endDate, -1), DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, startDate, -1), accounts);
+                result.add(afterSum);
+                result.add(beforeSum);
+                result.add(countTotal(afterSum, beforeSum));
+            }
         } else {
             if (accounts.size() > 1) {
                 result = bytedanceAccountReportMapper.querySumByDateGroupAccount(filedAll, endDate, startDate, accounts, target, order);
@@ -124,7 +134,12 @@ public class BytedanceAccountReportServiceImpl implements IBytedanceAccountRepor
     public List<JSONObject> getExcelDataBy(String filed, String mediaId, JSONArray accounts, String startDate, String endDate, int hour, String target, String order) {
         List<JSONObject> result;
         if (startDate.equals(endDate)) {
-            result = bytedanceAccountReportMapper.queryTodaySumByHourGroupAccount(filed, startDate, hour, accounts, target, order);
+            //由于时报数据不准,修改逻辑除当日数据外全部请求日报数据
+            if(startDate.equals(DateUtils.date2Str())){
+                result = bytedanceAccountReportMapper.queryTodaySumByHourGroupAccount(filed, startDate, hour, accounts, target, order);
+            }else {
+                result= bytedanceAccountReportMapper.querySumByDateGroupAccount(filed, startDate, endDate, accounts, target, order);
+            }
         } else {
             result = bytedanceAccountReportMapper.querySumByDateGroupAccount(filed, endDate, startDate, accounts, target, order);
         }

+ 18 - 18
module-toutiao/src/main/resources/json_template/bytedance_filed_mapping.json

@@ -1,10 +1,10 @@
 {
   "cost": {
-    "filed": "sum(t1.cost) as cost ",
+    "filed": "IFNULL(sum(t1.cost),0) as cost ",
     "comment": "消耗"
   },
   "showMaterial": {
-    "filed": "sum(t1.show_num) as showMaterial ",
+    "filed": "IFNULL(sum(t1.show_num),0) as showMaterial ",
     "comment": "展示数"
   },
   "cpm": {
@@ -12,7 +12,7 @@
     "comment": "平均千次展现费用"
   },
   "clickMaterial": {
-    "filed": "sum(t1.click) as clickMaterial ",
+    "filed": "IFNULL(sum(t1.click),0) as clickMaterial ",
     "comment": "点击数"
   },
   "ctr": {
@@ -24,7 +24,7 @@
     "comment": "平均点击单价"
   },
   "convertMaterial": {
-    "filed": "sum(t1.convert_num) as convertMaterial ",
+    "filed": "IFNULL(sum(t1.convert_num),0) as convertMaterial ",
     "comment": "转化数"
   },
   "convertCost": {
@@ -36,7 +36,7 @@
     "comment": "转化率"
   },
   "downloadStart": {
-    "filed": "sum(download_start) as downloadStart ",
+    "filed": "IFNULL(sum(download_start),0) as downloadStart ",
     "comment": "安卓开始下载数"
   },
   "downloadStartCost": {
@@ -48,7 +48,7 @@
     "comment": "安卓开始下载率"
   },
   "downloadFinish": {
-    "filed": "sum(download_finish) as downloadFinish ",
+    "filed": "IFNULL(sum(download_finish),0) as downloadFinish ",
     "comment": "安卓下载完成数"
   },
   "downloadFinishCost": {
@@ -60,7 +60,7 @@
     "comment": "安卓下载完成率"
   },
   "active": {
-    "filed": "sum(active) as active ",
+    "filed": "IFNULL(sum(active),0) as active ",
     "comment": "激活数"
   },
   "activeCost": {
@@ -72,7 +72,7 @@
     "comment": "激活率"
   },
   "register": {
-    "filed": "sum(t1.register) as register  ",
+    "filed": "IFNULL(sum(t1.register),0) as register  ",
     "comment": "注册数"
   },
   "activeRegisterCost": {
@@ -84,7 +84,7 @@
     "comment": "注册率"
   },
   "nextDayOpen": {
-    "filed": "sum(t1.next_day_open) as nextDayOpen ",
+    "filed": "IFNULL(sum(t1.next_day_open),0) as nextDayOpen ",
     "comment": "次留数"
   },
   "nextDayOpenCost": {
@@ -96,7 +96,7 @@
     "comment": "次留率"
   },
   "activePayAmount": {
-    "filed": "sum(pay_count) as activePayAmount ",
+    "filed": "IFNULL(sum(pay_count),0) as activePayAmount ",
     "comment": "付费数"
   },
   "activePayCost": {
@@ -104,7 +104,7 @@
     "comment": "付费成本"
   },
   "form": {
-    "filed": "sum(t1.form) as form ",
+    "filed": "IFNULL(sum(t1.form),0) as form ",
     "comment": "表单提交"
   },
   "validPlayCost": {
@@ -112,31 +112,31 @@
     "comment": "有效播放成本"
   },
   "play25FeedBreak": {
-    "filed": "sum(t1.play25_feed_break) as play25FeedBreak ",
+    "filed": "IFNULL(sum(t1.play25_feed_break),0) as play25FeedBreak ",
     "comment": "25%进度播放数"
   },
   "play50FeedBreak": {
-    "filed": "sum(t1.play50_feed_break) as play50FeedBreak",
+    "filed": "IFNULL(sum(t1.play50_feed_break),0) as play50FeedBreak",
     "comment": "50%进度播放数"
   },
   "play75FeedBreak": {
-    "filed": "sum(t1.play75_feed_break) as play75FeedBreak",
+    "filed": "IFNULL(sum(t1.play75_feed_break),0) as play75FeedBreak",
     "comment": "75%进度播放数"
   },
   "play100FeedBreak": {
-    "filed": "sum(t1.play100_feed_break) as play100FeedBreak",
+    "filed": "IFNULL(sum(t1.play100_feed_break),0) as play100FeedBreak",
     "comment": "100%进度播放数"
   },
   "follow": {
-    "filed": "sum(t1.follow) as follow ",
+    "filed": "IFNULL(sum(t1.follow),0) as follow ",
     "comment": "新增关注数"
   },
   "likeMaterial": {
-    "filed": "sum(t1.like_num) as likeMaterial ",
+    "filed": "IFNULL(sum(t1.like_num),0) as likeMaterial ",
     "comment": "点赞数"
   },
   "shareMaterial": {
-    "filed": "sum(t1.share) as shareMaterial ",
+    "filed": "IFNULL(sum(t1.share),0) as shareMaterial ",
     "comment": "分享数"
   }
 }

+ 19 - 19
module-toutiao/src/main/resources/json_template/bytedance_video_report_mapping.json

@@ -1,10 +1,10 @@
 {
   "cost": {
-    "filed": "sum(t1.cost) as cost ",
+    "filed": "IFNULL(sum(t1.cost),0) as cost ",
     "comment": "消耗"
   },
   "showMaterial": {
-    "filed": "sum(t1.show_material) as showMaterial ",
+    "filed": "IFNULL(sum(t1.show_material)0) as showMaterial ",
     "comment": "展示数"
   },
   "cpm": {
@@ -12,7 +12,7 @@
     "comment": "平均千次展现费用"
   },
   "clickMaterial": {
-    "filed": "sum(t1.click) as clickMaterial ",
+    "filed": "IFNULL(sum(t1.click),0) as clickMaterial ",
     "comment": "点击数"
   },
   "ctr": {
@@ -24,7 +24,7 @@
     "comment": "平均点击单价"
   },
   "convertMaterial": {
-    "filed": "sum(t1.convert_material) as convertMaterial ",
+    "filed": "IFNULL(sum(t1.convert_material),0) as convertMaterial ",
     "comment": "转化数"
   },
   "convertCost": {
@@ -36,7 +36,7 @@
     "comment": "转化率"
   },
   "downloadStart": {
-    "filed": "sum(download_start) as downloadStart ",
+    "filed": "IFNULL(sum(download_start),0) as downloadStart ",
     "comment": "安卓开始下载数"
   },
   "downloadStartCost": {
@@ -48,7 +48,7 @@
     "comment": "安卓开始下载率"
   },
   "downloadFinish": {
-    "filed": "sum(t1.download_finish) as downloadFinish ",
+    "filed": "IFNULL(sum(t1.download_finish),0) as downloadFinish ",
     "comment": "安卓下载完成数"
   },
   "downloadFinishCost": {
@@ -60,7 +60,7 @@
     "comment": "安卓下载完成率"
   },
   "active": {
-    "filed": "sum(t1.active) as active ",
+    "filed": "IFNULL(sum(t1.active),0) as active ",
     "comment": "激活数"
   },
   "activeCost": {
@@ -72,7 +72,7 @@
     "comment": "激活率"
   },
   "register": {
-    "filed": "sum(t1.register) as register  ",
+    "filed": "IFNULL(sum(t1.register),0) as register  ",
     "comment": "注册数"
   },
   "activeRegisterCost": {
@@ -84,7 +84,7 @@
     "comment": "注册率"
   },
   "gameAddiction": {
-    "filed": "sum(t1.game_addiction) as gameAddiction  ",
+    "filed": "IFNULL(sum(t1.game_addiction),0) as gameAddiction  ",
     "comment": "关键行为数"
   },
   "gameAddictionCost": {
@@ -96,7 +96,7 @@
     "comment": "关键行为率"
   },
   "nextDayOpen": {
-    "filed": "sum(t1.next_day_open) as nextDayOpen ",
+    "filed": "IFNULL(sum(t1.next_day_open),0) as nextDayOpen ",
     "comment": "次留数"
   },
   "nextDayOpenCost": {
@@ -108,7 +108,7 @@
     "comment": "次留率"
   },
   "activePayAmount": {
-    "filed": "sum(pay_count) as activePayAmount ",
+    "filed": "IFNULL(sum(pay_count),0) as activePayAmount ",
     "comment": "付费数"
   },
   "activePayCost": {
@@ -116,7 +116,7 @@
     "comment": "付费成本"
   },
   "form": {
-    "filed": "sum(t1.form) as form ",
+    "filed": "IFNULL(sum(t1.form),0) as form ",
     "comment": "表单提交"
   },
   "validPlayCost": {
@@ -124,31 +124,31 @@
     "comment": "有效播放成本"
   },
   "play25FeedBreak": {
-    "filed": "sum(t1.play25_feed_break) as play25FeedBreak ",
+    "filed": "IFNULL(sum(t1.play25_feed_break),0) as play25FeedBreak ",
     "comment": "25%进度播放数"
   },
   "play50FeedBreak": {
-    "filed": "sum(t1.play50_feed_break) as play50FeedBreak",
+    "filed": "IFNULL(sum(t1.play50_feed_break),0) as play50FeedBreak",
     "comment": "50%进度播放数"
   },
   "play75FeedBreak": {
-    "filed": "sum(t1.play75_feed_break) as play75FeedBreak",
+    "filed": "IFNULL(sum(t1.play75_feed_break),0) as play75FeedBreak",
     "comment": "75%进度播放数"
   },
   "play100FeedBreak": {
-    "filed": "sum(t1.play100_feed_break) as play100FeedBreak",
+    "filed": "IFNULL(sum(t1.play100_feed_break),0) as play100FeedBreak",
     "comment": "100%进度播放数"
   },
   "follow": {
-    "filed": "sum(t1.follow) as follow ",
+    "filed": "IFNULL(sum(t1.follow),0) as follow ",
     "comment": "新增关注数"
   },
   "likeMaterial": { 
-    "filed": "sum(t1.like_material) as likeMaterial ",
+    "filed": "IFNULL(sum(t1.like_material),0) as likeMaterial ",
     "comment": "点赞数"
   },
   "shareMaterial": {
-    "filed": "sum(t1.share_material) as shareMaterial ",
+    "filed": "IFNULL(sum(t1.share_material),0) as shareMaterial ",
     "comment": "分享数"
   }
 }