浏览代码

Merge remote-tracking branch 'origin/master'

yumeng 4 年之前
父节点
当前提交
32872cfdba
共有 15 个文件被更改,包括 218 次插入165 次删除
  1. 0 9
      jeecg-boot-module-system/pom.xml
  2. 0 18
      jeecg-boot-module-system/src/main/java/org/jeecg/config/WebSocketConfig.java
  3. 0 9
      jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java
  4. 4 4
      module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/MaterialAscriptionMapper.xml
  5. 5 3
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouInterfaceServiceImpl.java
  6. 5 5
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/KuaishouReportDailyCampaign.java
  7. 0 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/KuaishouReportDailyCreative.java
  8. 4 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/KuaishouReportDailyCampaignMapper.java
  9. 123 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KuaishouReportDailyCampaignMapper.xml
  10. 3 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IKuaishouReportDailyCampaignService.java
  11. 9 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaishouReportDailyCampaignServiceImpl.java
  12. 9 10
      module-kuaishou/src/main/resources/kuaishou_config.properties
  13. 51 99
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/mapper/xml/ByteDanceVideoReportDailyMapper.xml
  14. 2 2
      module-toutiao/src/main/resources/json_template/bytedance_filed_mapping.json
  15. 3 3
      module-toutiao/src/main/resources/json_template/bytedance_video_report_mapping.json

+ 0 - 9
jeecg-boot-module-system/pom.xml

@@ -46,11 +46,6 @@
             <artifactId>jeecg-boot-base-common</artifactId>
             <version>2.0.2</version>
         </dependency>
-      <!--  <dependency>
-            <groupId>org.jeecgframework.boot</groupId>
-            <artifactId>jeecg-boot-module-activiti</artifactId>
-            <version>2.2.0</version>
-        </dependency>-->
         <dependency>
             <groupId>cn.com.ctop</groupId>
             <artifactId>module-check</artifactId>
@@ -63,10 +58,6 @@
             <version>1.15.6</version>
         </dependency>
         <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-websocket</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>

+ 0 - 18
jeecg-boot-module-system/src/main/java/org/jeecg/config/WebSocketConfig.java

@@ -1,18 +0,0 @@
-package org.jeecg.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.socket.server.standard.ServerEndpointExporter;
-
-@Configuration
-public class WebSocketConfig {
-    /**
-     * 	注入ServerEndpointExporter,
-     * 	这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint
-     */
-    @Bean
-    public ServerEndpointExporter serverEndpointExporter() {
-        return new ServerEndpointExporter();
-    }
-    
-}

+ 0 - 9
jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java

@@ -6,7 +6,6 @@ import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.service.IBindAccountLoginService;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
-import cn.com.ctop.common.module.service.ISendMessageService;
 import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.common.module.utils.CtopAdConstant;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouDailyReportTaskService;
@@ -255,14 +254,6 @@ public class SampleTest {
     }
 
     @Autowired
-    private ISendMessageService sendMessageService;
-
-    @Test
-    public void testSendMessage() {
-        sendMessageService.sendMessage("c445fec9a80347aea54e8db66692ec03", "测试信息发送!");
-    }
-
-    @Autowired
     private IKuaishouInterfaceService kuaishouInterfaceService;
 
     @Test

+ 4 - 4
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/MaterialAscriptionMapper.xml

@@ -9,7 +9,7 @@
         then (select realname from sys_user where id = clip_id)
         else ""
         end
-        ) clipName, -- 剪辑人姓名
+        ) clipName, /*剪辑人姓名*/
 
         clip_id clipId,
         (case
@@ -17,7 +17,7 @@
         then (select realname from sys_user where id = shot_id)
         else ""
         end
-        ) shotName, -- 拍摄人姓名
+        ) shotName, /*拍摄人姓名*/
         shot_id shotId,
 
          (case
@@ -25,7 +25,7 @@
         then (select realname from sys_user where id = plan_id)
         else ""
         end
-        ) planName, -- 策划人姓名
+        ) planName, /*策划人姓名*/
         plan_id planId,
 
          (case
@@ -33,7 +33,7 @@
         then (select realname from sys_user where id = plane_id)
         else ""
         end
-        ) planeName, -- 平面姓名
+        ) planeName, /*平面姓名*/
         plane_id planeId
         from ctop_material_ascription
         where material_id = #{materialId}

+ 5 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouInterfaceServiceImpl.java

@@ -365,6 +365,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
             return;
         }
 
+        List<KuaishouReportDailyCampaign> campaigns = new ArrayList<>();
         for (int i = 0; i < details.size(); i++) {
             var detailJson = details.getJSONObject(i);
             var show = detailJson.getLong("show");
@@ -373,8 +374,10 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
             detailJson.put("photo_like", like);
             var campaign = JSONObject.toJavaObject(detailJson, KuaishouReportDailyCampaign.class);
             campaign.setAccountId(token.getAccountId());
-            campaign.setId("" + campaign.getAccountId() + campaign.getCampaignId() + campaign.getStatDate());
-            dailyCampaignService.saveOrUpdate(campaign);
+            campaigns.add(campaign);
+        }
+        if(!campaigns.isEmpty()){
+            dailyCampaignService.replaceBatch(campaigns);
         }
         getCampaignDailyReportByPage(token, startDate, endDate, page + 1);
     }
@@ -402,7 +405,6 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
             List<KuaishouReportDailyCampaign> details = kuaishouResult.getData().getDetails();
             details.forEach((campaign) -> {
                 campaign.setAccountId(advertiserId);
-                campaign.setId("" + campaign.getAccountId() + campaign.getCampaignId() + campaign.getStatDate());
                 dailyCampaignService.saveOrUpdate(campaign);
             });
         } catch (Exception e) {

+ 5 - 5
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/KuaishouReportDailyCampaign.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.report.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -14,8 +15,8 @@ import java.util.Date;
 @TableName("ctop_kuaishou_report_daily_campaign")
 public class KuaishouReportDailyCampaign implements Serializable {
     private static final long serialVersionUID = 1L;
-    @TableId
-    private String id;
+    @TableId(type = IdType.AUTO)
+    private Long id;
     private Long accountId;
     @JsonProperty("campaign_id")
     private Long campaignId;
@@ -32,9 +33,9 @@ public class KuaishouReportDailyCampaign implements Serializable {
     private Long aclick;
     @JsonProperty
     private Long bclick;
-    @JsonProperty
+    @JsonProperty("photo_share")
     private Long share;
-    @JsonProperty
+    @JsonProperty("photo_comment")
     private Long comment;
     @JsonProperty
     private Long photoLike;
@@ -56,7 +57,6 @@ public class KuaishouReportDailyCampaign implements Serializable {
     private Long activation;
     @JsonProperty
     private Long submit;
-
     @JsonProperty
     private BigDecimal photoClickRatio;
     @JsonProperty

+ 0 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/KuaishouReportDailyCreative.java

@@ -16,9 +16,7 @@ public class KuaishouReportDailyCreative implements Serializable {
     private static final long serialVersionUID = 1L;
     @TableId
     private String id;
-
     private Long accountId;
-
     @JsonProperty("creative_id")
     private Long creativeId;
 

+ 4 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/KuaishouReportDailyCampaignMapper.java

@@ -4,6 +4,10 @@ import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyCampaign;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 public interface KuaishouReportDailyCampaignMapper extends BaseMapper<KuaishouReportDailyCampaign> {
     void loadCampaignDailyReport(@Param("accountId") Long accountId, @Param("localPath") String localPath);
+
+    void replaceBatch(@Param(value = "records") List<KuaishouReportDailyCampaign> campaigns);
 }

+ 123 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KuaishouReportDailyCampaignMapper.xml

@@ -105,5 +105,127 @@
         )
           set account_id = #{accountId}
     </insert>
+    <insert id="replaceBatch">
+        replace into ctop_kuaishou_report_daily_campaign
+        (
+        account_id,
+        campaign_id,
+        status,
+        campaign_name,
+        charge,
+        photo_show,
+        aclick,
+        bclick ,
+        photo_share ,
+        photo_comment ,
+        photo_like,
+        follow ,
+        cancel_follow ,
+        report ,
+        block,
+        negative,
+        download_started  ,
+        download_completed ,
+        activation ,
+        submit ,
+        stat_date ,
+        photo_click ,
+        photo_click_ratio ,
+        action_ratio ,
+        impression_1k_cost ,
+        photo_click_cost,
+        action_cost,
+        event_pay_first_day ,
+        event_pay_purchase_amount_first_day ,
+        event_pay_first_day_roi,
+        event_pay ,
+        event_pay_purchase_amount ,
+        event_pay_roi ,
+        event_register ,
+        event_register_cost ,
+        event_register_ratio,
+        event_jin_jian_app ,
+        event_jin_jian_app_cost,
+        event_credit_grant_app ,
+        event_credit_grant_app_cost,
+        event_credit_grant_app_ratio,
+        event_order_paid,
+        event_order_paid_purchase_amount,
+        event_jin_jian_landing_page ,
+        event_jin_jian_landing_page_cost,
+        event_credit_grant_landing_page,
+        event_credit_grant_landing_page_cost,
+        event_credit_grant_landing_ratio,
+        event_next_day_stay_cost,
+        event_next_day_stay_ratio,
+        form_action_ratio,
+        event_order_paid_cost,
+        event_next_day_stay ,
+        form_cost ,
+        form_count ,
+        play_3s_ratio
+        )
+        values
+        <foreach collection="records" item="record" separator=",">
+            (
+            #{record.accountId}},
+            #{record.campaignId},
+            #{record.status},
+            #{record.campaignName},
+            #{record.charge},
+            #{record.photoShow},
+            #{record.aclick},
+            #{record.bclick},
+            #{record.photoShare },
+            #{record.photoComment },
+            #{record.photoLike},
+            #{record.follow},
+            #{record.cancelFollow },
+            #{record.report},
+            #{record.block},
+            #{record.negative},
+            #{record.downloadStarted},
+            #{record.downloadCompleted},
+            #{record.activation},
+            #{record.submit},
+            #{record.statDate},
+            #{record.photoClick},
+            #{record.photoClickRatio},
+            #{record.actionRatio},
+            #{record.impression1kCost},
+            #{record.photoClickCost},
+            #{record.actionCost},
+            #{record.eventPayFirstDay},
+            #{record.eventPayPurchaseAmountFirstDay},
+            #{record.eventPayFirstDayRoi},
+            #{record.eventPay},
+            #{record.eventPayPurchaseAmount },
+            #{record.eventPayRoi},
+            #{record.eventRegister},
+            #{record.eventRegisterCost},
+            #{record.eventRegisterRatio},
+            #{record.eventJinJianApp},
+            #{record.eventJinJianAppCost},
+            #{record.eventCreditGrantApp},
+            #{record.eventCreditGrantAppCost},
+            #{record.eventCreditGrantAppRatio},
+            #{record.eventOrderPaid},
+            #{record.eventOrderPaidPurchaseAmount},
+            #{record.eventJinJianLandingPage },
+            #{record.eventJinJianLandingPageCost},
+            #{record.eventCreditGrantLandingPage},
+            #{record.eventCreditGrantLandingPageCost},
+            #{record.eventCreditGrantLandingRatio},
+            #{record.eventNextDayStayCost},
+            #{record.eventNextDayStayRatio},
+            #{record.formActionRatio},
+            #{record.eventOrderPaidCost},
+            #{record.eventNextDayStay},
+            #{record.formCost},
+            #{record.formCount},
+            #{record.play3sRatio}
+            )
+        </foreach>
+    </insert>
 
-</mapper>
+</mapper>

+ 3 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IKuaishouReportDailyCampaignService.java

@@ -3,5 +3,8 @@ package cn.com.ctop.kuaishou.modules.report.service;
 import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyCampaign;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 public interface IKuaishouReportDailyCampaignService extends IService<KuaishouReportDailyCampaign> {
+    void replaceBatch(List<KuaishouReportDailyCampaign> campaigns);
 }

+ 9 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaishouReportDailyCampaignServiceImpl.java

@@ -4,8 +4,17 @@ import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyCampaign;
 import cn.com.ctop.kuaishou.modules.report.mapper.KuaishouReportDailyCampaignMapper;
 import cn.com.ctop.kuaishou.modules.report.service.IKuaishouReportDailyCampaignService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 public class KuaishouReportDailyCampaignServiceImpl extends ServiceImpl<KuaishouReportDailyCampaignMapper, KuaishouReportDailyCampaign> implements IKuaishouReportDailyCampaignService {
+    @Autowired
+    private KuaishouReportDailyCampaignMapper kuaishouReportDailyCampaignMapper;
+    @Override
+    public void replaceBatch(List<KuaishouReportDailyCampaign> campaigns) {
+        kuaishouReportDailyCampaignMapper.replaceBatch(campaigns);
+    }
 }

+ 9 - 10
module-kuaishou/src/main/resources/kuaishou_config.properties

@@ -1,12 +1,9 @@
 kuaishou_api_url=https://ad.e.kuaishou.com
 kuaishou_auth_url=https://ad.e.kuaishou.com
-kuaishou_appid=27
 kuaishou_third_appid=328
 oauth_type=agent
-kuaishou_secret=QovprB1tNhXptgDc
 kuaishou_third_secret=1iFTBiMdohkyEQQs
-kuaishou_callback_url=http://adsp.c-top.com.cn:8080/jeecg-boot/kuaishou
-kuaishou_third_callback_url=http://callback.shyouteng.com.cn/kuaishou
+kuaishou_third_callbsack_url=http://callback.shyouteng.com.cn/kuaishou
 apk_sava_path=/mnt/file/apk
 image_sava_path=/mnt/file/image
 video_sava_path=/mnt/file/video
@@ -23,10 +20,12 @@ model_video_fill_path_test=D:\\data\\model\\fill\\
 ##
 model_video_final_path_test=D:\\data\\model\\final\\
 
-kuaishou_api_url_jiaoyang=https://ad.e.kuaishou.com
-kuaishou_auth_url_jiaoyang=https://ad.e.kuaishou.com
-kuaishou_appid_jiaoyang=328
-oauth_type_jiaoyang=agent
-kuaishou_secret_jiaoyang=1iFTBiMdohkyEQQs
-kuaishou_callback_url_jiaoyang=http://callback.shyouteng.com.cn/kuaishou
+##master
+kuaishou_appid=27
+kuaishou_secret=QovprB1tNhXptgDc
+kuaishou_callback_url=http://adsp.c-top.com.cn:8080/jeecg-boot/kuaishou
+##jiaoyang
+#kuaishou_appid=328
+#kuaishou_secret=1iFTBiMdohkyEQQs
+#kuaishou_callback_url=http://callback.shyouteng.com.cn/kuaishou
 

+ 51 - 99
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/mapper/xml/ByteDanceVideoReportDailyMapper.xml

@@ -34,7 +34,7 @@
         a.advertiser_id                          as advertiserId,
         a.advertiser_name                        as advertiserName,
         a.stat_datetime                          as statDatetime,
-        sum(a.cost)                              as cost,                           -- 消耗
+        sum(a.cost)                              as cost,
         a.signature                              as signature,
         a.video_url                              as videoUrl,
         '-'                                      as materialDesc,
@@ -46,194 +46,146 @@
             end as materialUploadTime
         from ctop_bytedance_video_info video where video.signature = a.signature limit 1)           as materialUploadTime,
         1                                        as appType,
-        sum(a.click)                             as clickMaterial,                  -- 点击数
+        sum(a.click)                             as clickMaterial,
 
         case
         when sum(a.total_play) != 0
         then sum(a.play25_feed_break) / sum(a.total_play)
-        else 0 end                           as play25FeedBreakRate,            -- 25%进度播放率
+        else 0 end                           as play25FeedBreakRate,
 
         case
         when sum(a.total_play) != 0
         then sum(a.play_over) / sum(a.total_play)
-        else 0 end                           as playOverRate,                   -- 整体完播率
+        else 0 end                           as playOverRate,
 
         case
         when sum(a.click) != 0
         then sum(a.convert_material) / sum(a.click)
-        else 0 end                           as convertRate,                    -- 转化率  转化数/点击数*100% !
-        sum(a.active)                            as active,                         -- 应用下载-激活
-        sum(a.download_finish)                   as downloadFinish,                 -- 应用下载-安卓下载完成
-        sum(a.download_start)                    as downloadStart,                  -- 应用下载-安卓下载开始
-        sum(a.install_finish)                    as installFinish,                  -- 应用下载-安卓安装完成
-        sum(a.register)                          as register,                       -- 应用下载-注册
-        sum(a.pay_count)                         as payCount,                       -- 应用下载-付费数
-        -- sum(a.in_app_uv)                         as inAppUv,                        -- 应用下载-到达uv
-        -- sum(a.in_app_detail_uv)                  as inAppDetailUv,                  -- 应用下载-详情页到站uv
-        -- sum(a.in_app_cart)                       as inAppCart,                      -- 应用下载-加入购物车
-        -- sum(a.in_app_order)                      as inAppOrder,                     -- 应用下载-提交订单
-        -- sum(a.in_app_pay)                        as inAppPay,                       -- 应用下载-付费
-        -- sum(a.phone)                             as phone,                          -- 落地页-电话拨打数
-        sum(a.form)                              as form,                           --  表单提交数
-        -- sum(a.map_search)                        as mapSearch,                      -- 落地页-地图搜索
-        -- sum(a.button)                            as button,                         -- 落地页-按钮button
-        -- sum(a.view_material)                     as viewMaterial,                   -- 落地页-关键页面浏览
-        -- sum(a.qq)                                as qq,                             -- 落地页-QQ咨询数
-        -- sum(a.lottery)                           as lottery,                        -- 落地页-抽奖数
-        -- sum(a.vote)                              as vote,                           -- 落地页-投票
-        -- sum(a.redirect)                          as redirect,                       -- 落地页-页面跳转
-        -- sum(a.shopping)                          as shopping,                       -- 落地页-商品购买
-        -- sum(a.consult)                           as consult,                        -- 落地页-在线咨询
-        -- sum(a.wechat)                            as wechat,                         -- 落地页-微信
-        -- sum(a.phone_confirm)                     as phoneConfirm,                   -- 落地页-智能电话确认拨打
-        -- sum(a.phone_connect)                     as phoneConnect,                   -- 落地页-智能电话确认接通
-        -- sum(a.consult_effective)                 as consultEffective,               -- 落地页-智能电话有效咨询
-        sum(a.total_play)                        as totalPlay,                      -- 视频-总播放
-        sum(a.valid_play)                        as validPlay,                      -- 视频-有效播放
-        sum(a.wifi_play)                         as wifiPlay,                       -- 视频-wifi播放
-        sum(a.play25_feed_break)                 as play25FeedBreak,                -- 视频-播放25%进度总数
-        sum(a.play50_feed_break)                 as play50FeedBreak,                -- 视频-播放50%进度总数
-        sum(a.play75_feed_break)                 as play75FeedBreak,                -- 视频-播放75%进度总数
-        sum(a.play100_feed_break)                as play100FeedBreak,               -- 视频-播放100%进度总数
-        -- sum(a.advanced_creative_phone_click)     as advancedCreativePhoneClick,     -- 附加创意-电话按钮
-        -- sum(a.advanced_creative_counsel_click)   as advancedCreativeCounselClick,     -- 附加创意-在线咨询
-        -- sum(a.advanced_creative_form_click)      as advancedCreativeFormClick,      -- 附加创意-表单提交
-        sum(a.share_material)                    as shareMaterial,                  -- 互动数据-分享数
-        -- sum(a.comment_material)                  as commentMaterial,                -- 互动数据-评论数
-        sum(a.follow)                            as follow,                         -- 互动数据-新增关注数
-        -- sum(a.home_visited)                      as homeVisited,                    -- 互动数据-主页访问量
-        -- sum(a.ies_challenge_click)               as iesChallengeClick,              -- 互动数据-挑战赛查看数
-        -- sum(a.ies_music_click)                   as iesMusicClick,                  -- 互动数据-音乐查看数
-        sum(a.next_day_open)                     as nextDayOpen,                    -- 次留数
+        else 0 end                           as convertRate,
+        sum(a.active)                            as active,
+        sum(a.download_finish)                   as downloadFinish,
+        sum(a.download_start)                    as downloadStart,
+        sum(a.install_finish)                    as installFinish,
+        sum(a.register)                          as register,
+        sum(a.pay_count)                         as payCount,
+        sum(a.form)                              as form,
+        sum(a.total_play)                        as totalPlay,
+        sum(a.valid_play)                        as validPlay,
+        sum(a.wifi_play)                         as wifiPlay,
+        sum(a.play25_feed_break)                 as play25FeedBreak,
+        sum(a.play50_feed_break)                 as play50FeedBreak,
+        sum(a.play75_feed_break)                 as play75FeedBreak,
+        sum(a.play100_feed_break)                as play100FeedBreak,
+        sum(a.share_material)                    as shareMaterial,
+        sum(a.follow)                            as follow,
+        sum(a.next_day_open)                     as nextDayOpen,
         case
         when sum(a.active) != 0
         then sum(a.next_day_open) / sum(a.active)
-        else 0 end                           as nextDayOpenRate,                -- 次留率 = 次留数/激活数
+        else 0 end                           as nextDayOpenRate,
 
         case
         when sum(a.next_day_open) != 0
         then sum(a.cost) / sum(a.next_day_open)
-        else 0 end                           as nextDayOpenCost,                -- 次留成本 = 消耗/次留数
+        else 0 end                           as nextDayOpenCost,
 
-        sum(a.active_pay_amount)                 as activePayAmount,                -- 应用下载广告数据-付费次数
+        sum(a.active_pay_amount)                 as activePayAmount,
 
         case
         when sum(a.valid_play) != 0
         then sum(a.cost) / sum(a.valid_play)
-        else 0 end                              validPlayCost,                  -- 视频数据-有效播放成本  计算公式:总花费/有效播放数,当天数据可能会有波动,次日早8点后稳定。
-        -- sum(a.advanced_creative_coupon_addition) as advancedCreativeCouponAddition, -- 附加创意-附加创意卡券领取
-        sum(a.convert_material)                  as convertMaterial,                -- 转化数据-转化数
+        else 0 end                              validPlayCost,
+        sum(a.convert_material)                  as convertMaterial,
 
         case
         when sum(a.active_pay_amount) != 0
         then sum(a.cost) / sum(a.active_pay_amount)
-        else 0 end                           as activePayCost,                  -- 应用下载广告数据-付费成本 = 消耗/付费次数
-        -- sum(a.download)                          as download,                       -- 落地页转化数据-下载开始
-
+        else 0 end                           as activePayCost,
         case
         when sum(a.click) != 0
         then sum(a.cost) / sum(a.click)
-        else 0 end                           as cpc,                            -- 平均点击单价
-        -- sum(a.location_click)                    as locationClick,                  -- 互动数据-POI点击数
-        -- sum(a.play_over_rate)                    as playOverRate,                   -- 视频数据-播完率
-
+        else 0 end                           as cpc,
         case
         when sum(a.show_material) != 0
         then sum(a.click) / sum(a.show_material)
-        else 0 end                           as ctr,                            -- 展现数据-点击率   广告被点击的次数占展示次数的百分比。计算方法:点击数/展示数*100%
+        else 0 end                           as ctr,
 
         case
         when sum(a.show_material) != 0
         then sum(a.cost) / sum(a.show_material) * 1000
-        else 0 end                              cpm,                            -- 平均千次展现费用  广告平均每一千次展现所付出的费用,计算公式是:总花费/展示数*1000。
-        sum(a.wifi_play_rate)                    as wifiPlayRate,                   -- 视频数据-WiFi播放占比
-        sum(a.like_material)                     as likeMaterial,                   -- 互动数据-点赞数
+        else 0 end                              cpm,
+        sum(a.wifi_play_rate)                    as wifiPlayRate,
+        sum(a.like_material)                     as likeMaterial,
 
 
         case
         when sum(a.active) != 0
         then sum(a.cost) / sum(a.active)
-        else 0 end                              activeCost,                     -- 应用下载广告数据-激活成本  计算方式:总花费/激活数。
+        else 0 end                              activeCost,
 
         case
         when sum(a.game_addiction) != 0
         then sum(a.cost) / sum(a.game_addiction)
-        else 0 end                           as gameAddictionCost,              -- 应用下载广告数据-关键行为成本  广告主为每个有APP内关键行为的用户所付出的成本,计算公式是总花费/关键行为数。当天数据可能会有波动,次日早8点后稳定。
-        sum(a.game_addiction)                    as gameAddiction,                  -- 应用下载广告数据-关键行为数
+        else 0 end                           as gameAddictionCost,
+        sum(a.game_addiction)                    as gameAddiction,
 
         case
         when sum(a.click) != 0
         then sum(a.active) / sum(a.click)
-        else 0 end                           as activeRate,                     -- 应用下载广告数据-激活率   计算方式:激活数/点击数*100%
+        else 0 end                           as activeRate,
 
 
         case
         when sum(a.active) != 0
         then sum(a.game_addiction) / sum(a.active)
-        else 0 end                              gameAddictionRate,              -- 应用下载广告数据-关键行为率  关键行为用户占激活用户的比例
+        else 0 end                              gameAddictionRate,
 
         case
         when sum(a.active) != 0
         then sum(a.register) / sum(a.active)
-        else 0 end                           as activeRegisterRate,             -- 应用下载广告数据-注册率   注册用户占激活用户的比例
-
-
+        else 0 end                           as activeRegisterRate,
         case
         when sum(a.download_finish) != 0
         then sum(a.cost) / sum(a.download_finish)
-        else 0 end                           as downloadFinishCost,             -- 应用下载广告数据-安卓下载完成成本 计算方式:总花费/安卓下载完成数。
-
-
+        else 0 end                           as downloadFinishCost,
         case
         when sum(a.register) != 0
         then sum(a.cost) / sum(a.register)
-        else 0 end                           as activeRegisterCost,             -- 应用下载广告数据-注册成本  总花费/注册数,当天数据可能会有波动,次日早8点后稳定。
-        sum(a.show_material)                     as showMaterial,                   -- 展现数据-展示数
-
-
+        else 0 end                           as activeRegisterCost,
+        sum(a.show_material)                     as showMaterial,
         case
         when sum(a.download_start) != 0
         then sum(a.download_finish) / sum(a.download_start)
-        else 0 end                           as downloadFinishRate,             -- 应用下载广告数据-安卓下载完成率  计算方式:安卓下载完成数/安卓下载开始数
-
+        else 0 end                           as downloadFinishRate,
         case
         when sum(a.download_finish) != 0
         then sum(a.install_finish) / sum(a.download_finish)
-        else 0 end                           as installFinishRate,              -- 应用下载广告数据-安卓安装完成率  计算方式:安卓安装完成数/安卓下载完成数
-        -- sum(a.coupon)                            as coupon,                         -- 落地页转化数据-建站卡券领取
-        -- sum(a.coupon_single_page)                as couponSinglePage,               -- 落地页转化数据-卡券页领取
-        sum(a.play_over)                         as playOver,                       -- 完播数
-
+        else 0 end                           as installFinishRate,
+        sum(a.play_over)                         as playOver,
         case
         when sum(a.download_start) != 0
         then sum(a.cost) / sum(a.download_start)
-        else 0 end                           as downloadStartCost,              -- 应用下载广告数据-安卓下载开始成本  计算方法:总花费/安卓下载开始数。
-        -- sum(a.message)                           as message,                        -- 落地页转化数据-短信咨询  用户点击短信咨询的次数
-
-
+        else 0 end                           as downloadStartCost,
         case
         when sum(a.show_material) != 0
         then sum(a.valid_play) / sum(a.show_material)
-        else 0 end                           as validPlayRate,                  -- 视频数据-有效播放率  有效播放数/展示数
+        else 0 end                           as validPlayRate,
         case
         when sum(a.valid_play) != 0
         then sum(a.average_play_time_per_play*a.valid_play)/sum(a.valid_play)
-        else 0 end as averagePlayTimePerPlay,         -- 视频数据-平均单次播放时长
+        else 0 end as averagePlayTimePerPlay,
         case
         when sum(a.convert_material) != 0
         then sum(a.cost) / sum(a.convert_material)
-        else 0 end                           as convertCost,                    --  转化数据-转化成本=总花费/转化数
-
-
+        else 0 end                           as convertCost,
         case
         when sum(a.install_finish) != 0
         then sum(a.cost) / sum(a.install_finish)
-        else 0 end                           as installFinishCost,              --  应用下载广告数据-安卓安装完成成本  计算方式:总花费/安卓安装完成数
-
+        else 0 end                           as installFinishCost,
         case
         when sum(a.click) != 0
         then sum(a.download_start) / sum(a.click)
-        else 0 end                           as downloadStartRate               --  应用下载广告数据-安卓下载开始率  计算方法:安卓下载开始数/点击数
+        else 0 end                           as downloadStartRate
     </sql>
 
     <select id="getRoleCodeByUserId" resultType="string">

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

@@ -72,7 +72,7 @@
     "comment": "激活率"
   },
   "register": {
-    "filed": "IFNULL(sum(t1.register),0) as register  ",
+    "filed": "IFNULL(sum(t1.register),0) as register",
     "comment": "注册数"
   },
   "activeRegisterCost": {
@@ -139,4 +139,4 @@
     "filed": "IFNULL(sum(t1.share),0) as shareMaterial ",
     "comment": "分享数"
   }
-}
+}

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

@@ -4,7 +4,7 @@
     "comment": "消耗"
   },
   "showMaterial": {
-    "filed": "IFNULL(sum(t1.show_material)0) as showMaterial ",
+    "filed": "IFNULL(sum(t1.show_material),0) as showMaterial ",
     "comment": "展示数"
   },
   "cpm": {
@@ -143,7 +143,7 @@
     "filed": "IFNULL(sum(t1.follow),0) as follow ",
     "comment": "新增关注数"
   },
-  "likeMaterial": { 
+  "likeMaterial": {
     "filed": "IFNULL(sum(t1.like_material),0) as likeMaterial ",
     "comment": "点赞数"
   },
@@ -151,4 +151,4 @@
     "filed": "IFNULL(sum(t1.share_material),0) as shareMaterial ",
     "comment": "分享数"
   }
-}
+}