Jelajahi Sumber

first commit

yumeng 4 tahun lalu
induk
melakukan
8e877211ab
100 mengubah file dengan 10938 tambahan dan 3618 penghapusan
  1. 0 1247
      doc/XXL-JOB-English-Documentation.md
  2. 0 2249
      doc/XXL-JOB官方文档.md
  3. TEMPAT SAMPAH
      doc/XXL-JOB架构图.pptx
  4. 0 122
      doc/db/tables_xxl_job.sql
  5. TEMPAT SAMPAH
      doc/images/cnblog-首页-每日一博-第一.png
  6. TEMPAT SAMPAH
      doc/images/cnblog-首页-热门动弹-第一.png
  7. TEMPAT SAMPAH
      doc/images/donate-alipay.jpg
  8. TEMPAT SAMPAH
      doc/images/donate-paypal.png
  9. TEMPAT SAMPAH
      doc/images/donate-wechat.png
  10. TEMPAT SAMPAH
      doc/images/gitee-gvp.jpg
  11. TEMPAT SAMPAH
      doc/images/img_1001.png
  12. TEMPAT SAMPAH
      doc/images/img_1002.png
  13. TEMPAT SAMPAH
      doc/images/img_6yC0.png
  14. TEMPAT SAMPAH
      doc/images/img_BPLG.png
  15. TEMPAT SAMPAH
      doc/images/img_EB65.png
  16. TEMPAT SAMPAH
      doc/images/img_Fgql.png
  17. TEMPAT SAMPAH
      doc/images/img_Hr2T.png
  18. TEMPAT SAMPAH
      doc/images/img_Qohm.png
  19. TEMPAT SAMPAH
      doc/images/img_UDSo.png
  20. TEMPAT SAMPAH
      doc/images/img_V3vF.png
  21. TEMPAT SAMPAH
      doc/images/img_Wb2o.png
  22. TEMPAT SAMPAH
      doc/images/img_Ypik.png
  23. TEMPAT SAMPAH
      doc/images/img_Z9Qr.png
  24. TEMPAT SAMPAH
      doc/images/img_ZAhX.png
  25. TEMPAT SAMPAH
      doc/images/img_ZAsz.png
  26. TEMPAT SAMPAH
      doc/images/img_dNUJ.png
  27. TEMPAT SAMPAH
      doc/images/img_eYrv.png
  28. TEMPAT SAMPAH
      doc/images/img_hIci.png
  29. TEMPAT SAMPAH
      doc/images/img_iUw0.png
  30. TEMPAT SAMPAH
      doc/images/img_inc8.png
  31. TEMPAT SAMPAH
      doc/images/img_jOAU.png
  32. TEMPAT SAMPAH
      doc/images/img_jrdI.png
  33. TEMPAT SAMPAH
      doc/images/img_o8HQ.png
  34. TEMPAT SAMPAH
      doc/images/img_tJOq.png
  35. TEMPAT SAMPAH
      doc/images/img_tvGI.png
  36. TEMPAT SAMPAH
      doc/images/qq群-一个xxl同学进了58.png
  37. TEMPAT SAMPAH
      doc/images/xxl-logo.jpg
  38. TEMPAT SAMPAH
      doc/images/xxl-logo.png
  39. 0 0
      job-kuaishou/pom.xml
  40. 22 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/KuaishouJobApplication.java
  41. 13 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/config/MybatisPlusConfig.java
  42. 60 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/config/XxlJobConfig.java
  43. 12 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/constant/KuaishouConstant.java
  44. 330 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouAccountReportDaily.java
  45. 545 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouAccountReportHourly.java
  46. 549 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouCampaignReportDaily.java
  47. 553 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouCampaignReportHourly.java
  48. 565 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouCreativeReportDaily.java
  49. 561 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouMaterialVideoReportDaily.java
  50. 571 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouMaterialVideoReportHourly.java
  51. 581 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouProgramCreativeReportDaily.java
  52. 557 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouUnitReportDaily.java
  53. 562 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouUnitReportHourly.java
  54. 75 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/OauthToken.java
  55. 17 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouAccountReportDailyMapper.java
  56. 17 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouAccountReportHourlyMapper.java
  57. 17 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouCampaignReportDailyMapper.java
  58. 17 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouCampaignReportHourlyMapper.java
  59. 18 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouCreativeReportDailyMapper.java
  60. 18 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouMaterialVideoReportDailyMapper.java
  61. 18 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouMaterialVideoReportHourlyMapper.java
  62. 18 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouProgramCreativeReportDailyMapper.java
  63. 17 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouUnitReportDailyMapper.java
  64. 17 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouUnitReportHourlyMapper.java
  65. 15 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/OauthTokenMapper.java
  66. 274 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouAccountReportDailyMapper.xml
  67. 276 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouAccountReportHourlyMapper.xml
  68. 275 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouCampaignReportDailyMapper.xml
  69. 277 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouCampaignReportHourlyMapper.xml
  70. 281 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouCreativeReportDailyMapper.xml
  71. 281 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouMaterialVideoReportDailyMapper.xml
  72. 283 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouMaterialVideoReportHourlyMapper.xml
  73. 289 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouProgramCreativeReportDailyMapper.xml
  74. 279 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouUnitReportDailyMapper.xml
  75. 281 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouUnitReportHourlyMapper.xml
  76. 8 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/OauthTokenMapper.xml
  77. 14 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouAccountReportDailyService.java
  78. 16 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouAccountReportHourlyService.java
  79. 15 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouCampaignReportDailyService.java
  80. 15 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouCampaignReportHourlyService.java
  81. 16 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouCreativeReportDailyService.java
  82. 16 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouMaterialVideoReportDailyService.java
  83. 16 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouMaterialVideoReportHourlyService.java
  84. 16 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouProgramCreativeReportDailyService.java
  85. 15 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouUnitReportDailyService.java
  86. 15 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouUnitReportHourlyService.java
  87. 15 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IOauthTokenService.java
  88. 202 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouAccountReportDailyServiceImpl.java
  89. 202 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouAccountReportHourlyServiceImpl.java
  90. 215 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouCampaignReportDailyServiceImpl.java
  91. 212 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouCampaignReportHourlyServiceImpl.java
  92. 216 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouCreativeReportDailyServiceImpl.java
  93. 212 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouMaterialVideoReportDailyServiceImpl.java
  94. 214 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouMaterialVideoReportHourlyServiceImpl.java
  95. 221 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouProgramCreativeReportDailyServiceImpl.java
  96. 218 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouUnitReportDailyServiceImpl.java
  97. 217 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouUnitReportHourlyServiceImpl.java
  98. 25 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/OauthTokenServiceImpl.java
  99. 66 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/utils/Check.java
  100. 0 0
      job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/utils/DateUtils.java

File diff ditekan karena terlalu besar
+ 0 - 1247
doc/XXL-JOB-English-Documentation.md


File diff ditekan karena terlalu besar
+ 0 - 2249
doc/XXL-JOB官方文档.md


TEMPAT SAMPAH
doc/XXL-JOB架构图.pptx


File diff ditekan karena terlalu besar
+ 0 - 122
doc/db/tables_xxl_job.sql


TEMPAT SAMPAH
doc/images/cnblog-首页-每日一博-第一.png


TEMPAT SAMPAH
doc/images/cnblog-首页-热门动弹-第一.png


TEMPAT SAMPAH
doc/images/donate-alipay.jpg


TEMPAT SAMPAH
doc/images/donate-paypal.png


TEMPAT SAMPAH
doc/images/donate-wechat.png


TEMPAT SAMPAH
doc/images/gitee-gvp.jpg


TEMPAT SAMPAH
doc/images/img_1001.png


TEMPAT SAMPAH
doc/images/img_1002.png


TEMPAT SAMPAH
doc/images/img_6yC0.png


TEMPAT SAMPAH
doc/images/img_BPLG.png


TEMPAT SAMPAH
doc/images/img_EB65.png


TEMPAT SAMPAH
doc/images/img_Fgql.png


TEMPAT SAMPAH
doc/images/img_Hr2T.png


TEMPAT SAMPAH
doc/images/img_Qohm.png


TEMPAT SAMPAH
doc/images/img_UDSo.png


TEMPAT SAMPAH
doc/images/img_V3vF.png


TEMPAT SAMPAH
doc/images/img_Wb2o.png


TEMPAT SAMPAH
doc/images/img_Ypik.png


TEMPAT SAMPAH
doc/images/img_Z9Qr.png


TEMPAT SAMPAH
doc/images/img_ZAhX.png


TEMPAT SAMPAH
doc/images/img_ZAsz.png


TEMPAT SAMPAH
doc/images/img_dNUJ.png


TEMPAT SAMPAH
doc/images/img_eYrv.png


TEMPAT SAMPAH
doc/images/img_hIci.png


TEMPAT SAMPAH
doc/images/img_iUw0.png


TEMPAT SAMPAH
doc/images/img_inc8.png


TEMPAT SAMPAH
doc/images/img_jOAU.png


TEMPAT SAMPAH
doc/images/img_jrdI.png


TEMPAT SAMPAH
doc/images/img_o8HQ.png


TEMPAT SAMPAH
doc/images/img_tJOq.png


TEMPAT SAMPAH
doc/images/img_tvGI.png


TEMPAT SAMPAH
doc/images/qq群-一个xxl同学进了58.png


TEMPAT SAMPAH
doc/images/xxl-logo.jpg


TEMPAT SAMPAH
doc/images/xxl-logo.png


xxl-job-executor-samples/pom.xml → job-kuaishou/pom.xml


+ 22 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/KuaishouJobApplication.java

@@ -0,0 +1,22 @@
+package cn.com.ctop.job.kuaishou;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+@Slf4j
+@SpringBootApplication
+@ComponentScan(basePackages = {"cn.com.ctop"})
+@Configuration
+public class KuaishouJobApplication {
+    public static void main(String[] args){
+
+        SpringApplication.run(KuaishouJobApplication.class, args);
+
+        log.info("\n----------------------------------------------------------\n\t" +
+                "job service is running\n\t" +
+                "----------------------------------------------------------");
+    }
+
+}

+ 13 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/config/MybatisPlusConfig.java

@@ -0,0 +1,13 @@
+package cn.com.ctop.job.kuaishou.config;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@MapperScan(value = { "cn.com.ctop.**.mapper*"})
+
+public class MybatisPlusConfig {
+
+
+
+}

+ 60 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/config/XxlJobConfig.java

@@ -0,0 +1,60 @@
+package cn.com.ctop.job.kuaishou.config;
+
+import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * xxl-job config
+ *
+ * @author xuxueli 2017-04-28
+ */
+@Configuration
+public class XxlJobConfig {
+  @Value("${xxl.job.admin.addresses}")
+  private String adminAddresses;
+
+  @Value("${xxl.job.executor.appname}")
+  private String appName;
+
+  @Value("${xxl.job.executor.ip}")
+  private String ip;
+
+  @Value("${xxl.job.executor.port}")
+  private int port;
+
+  @Value("${xxl.job.accessToken}")
+  private String accessToken;
+
+  @Value("${xxl.job.executor.logpath}")
+  private String logPath;
+
+  @Value("${xxl.job.executor.logretentiondays}")
+  private int logRetentionDays;
+
+  @Bean
+  public XxlJobSpringExecutor xxlJobExecutor() {
+    XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
+    xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
+    xxlJobSpringExecutor.setAppname(appName);
+    xxlJobSpringExecutor.setIp(ip);
+    xxlJobSpringExecutor.setPort(port);
+    xxlJobSpringExecutor.setAccessToken(accessToken);
+    xxlJobSpringExecutor.setLogPath(logPath);
+    xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
+
+    return xxlJobSpringExecutor;
+  }
+
+  /**
+   * 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP;
+   *
+   * <p>1、引入依赖: <dependency> <groupId>org.springframework.cloud</groupId>
+   * <artifactId>spring-cloud-commons</artifactId> <version>${version}</version> </dependency>
+   *
+   * <p>2、配置文件,或者容器启动变量 spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.'
+   *
+   * <p>3、获取IP String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
+   */
+}

+ 12 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/constant/KuaishouConstant.java

@@ -0,0 +1,12 @@
+package cn.com.ctop.job.kuaishou.data.constant;
+
+public class KuaishouConstant {
+
+  /** 报表 */
+  public static final String ACCOUNT_REPORT = "/rest/openapi/v1/report/account_report";
+  public static final String CAMPAIGN_REPORT = "/rest/openapi/v1/report/campaign_report";
+  public static final String UNIT_REPORT = "/rest/openapi/v1/report/unit_report";
+  public static final String CREATIVE_REPORT = "/rest/openapi/v1/report/creative_report";
+  public static final String PROGRAM_CREATIVE_REPORT = "/rest/openapi/v1/report/program_creative_report";
+  public static final String MATERIAL_REPORT = "/rest/openapi/v1/report/material_report";
+}

+ 330 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouAccountReportDaily.java

@@ -0,0 +1,330 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.math.BigDecimal;
+
+/**
+ * 快手-账户日报
+ *
+ * @author jeecg-boot
+ * @date 2021-09-07
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_account_report_daily")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "kuaishou_account_report_daily对象", description = "快手-账户日报")
+public class KuaishouAccountReportDaily {
+
+  /** 广告主id */
+  @ApiModelProperty(value = "广告主id")
+  private Long advertiserId;
+  /** 数据日期,格式:YYYYMMDD */
+  @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+  private Integer statDate;
+  /** 花费(元) */
+  @ApiModelProperty(value = "花费(元)")
+  private java.math.BigDecimal charge;
+  /** 封面曝光数 */
+  @ApiModelProperty(value = "封面曝光数")
+  private Long show;
+  /** 封面点击数 */
+  @ApiModelProperty(value = "封面点击数")
+  private Long photoClick;
+  /** 素材曝光数 */
+  @ApiModelProperty(value = "素材曝光数")
+  private Long aclick;
+  /** 行为数 */
+  @ApiModelProperty(value = "行为数")
+  private Long bclick;
+  /** 封面点击率 */
+  @ApiModelProperty(value = "封面点击率")
+  private java.math.BigDecimal photoClickRatio;
+  /** 3s播放率 */
+  @ApiModelProperty(value = "3s播放率")
+  private java.math.BigDecimal play3sRatio;
+  /** 行为率 */
+  @ApiModelProperty(value = "行为率")
+  private java.math.BigDecimal actionRatio;
+  /** 平均千次曝光花费(元) */
+  @Excel(name = "平均千次曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次曝光花费(元)")
+  private java.math.BigDecimal impression1kCost;
+  /** 平均点击单价(元) */
+  @Excel(name = "平均点击单价(元)", width = 15)
+  @ApiModelProperty(value = "平均点击单价(元)")
+  private java.math.BigDecimal photoClickCost;
+  /** 平均行为单价(元) */
+  @Excel(name = "平均行为单价(元)", width = 15)
+  @ApiModelProperty(value = "平均行为单价(元)")
+  private java.math.BigDecimal actionCost;
+  /** 分享数 */
+  @Excel(name = "分享数", width = 15)
+  @ApiModelProperty(value = "分享数")
+  private Long share;
+  /** 评论数 */
+  @Excel(name = "评论数", width = 15)
+  @ApiModelProperty(value = "评论数")
+  private Long comment;
+  /** 点赞数 */
+  @Excel(name = "点赞数", width = 15)
+  @ApiModelProperty(value = "点赞数")
+  private Long like;
+  /** 新增关注数 */
+  @Excel(name = "新增关注数", width = 15)
+  @ApiModelProperty(value = "新增关注数")
+  private Long follow;
+  /** 取消关注数 */
+  @Excel(name = "取消关注数", width = 15)
+  @ApiModelProperty(value = "取消关注数")
+  private Long cancelFollow;
+  /** 举报数 */
+  @Excel(name = "举报数", width = 15)
+  @ApiModelProperty(value = "举报数")
+  private Long report;
+  /** 拉黑数 */
+  @Excel(name = "拉黑数", width = 15)
+  @ApiModelProperty(value = "拉黑数")
+  private Long block;
+  /** 减少此类作品数 */
+  @Excel(name = "减少此类作品数", width = 15)
+  @ApiModelProperty(value = "减少此类作品数")
+  private Long negative;
+  /** 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段) */
+  @Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+  @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+  private Long submit;
+  /** 应用下载数据-安卓下载开始数 */
+  @Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+  private Long downloadStarted;
+  /** 应用下载数据-安卓下载完成数 */
+  @Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+  private Long downloadCompleted;
+  /** 应用下载数据-激活数 */
+  @Excel(name = "应用下载数据-激活数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-激活数")
+  private Long activation;
+  /** 应用下载数据-首日付费次数 */
+  @Excel(name = "应用下载数据-首日付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费次数")
+  private Long eventPayFirstDay;
+  /** 应用下载数据-首日付费金额 */
+  @Excel(name = "应用下载数据-首日付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+  /** 应用下载数据-首日ROI */
+  @Excel(name = "应用下载数据-首日ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日ROI")
+  private java.math.BigDecimal eventPayFirstDayRoi;
+  /** 应用下载数据-付费次数 */
+  @Excel(name = "应用下载数据-付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费次数")
+  private Long eventPay;
+  /** 应用下载数据-付费金额 */
+  @Excel(name = "应用下载数据-付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmount;
+  /** 应用下载数据-ROI */
+  @Excel(name = "应用下载数据-ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-ROI")
+  private java.math.BigDecimal eventPayRoi;
+  /** 应用下载数据-注册数 */
+  @Excel(name = "应用下载数据-注册数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册数")
+  private Long eventRegister;
+  /** 应用下载数据-注册成本 */
+  @Excel(name = "应用下载数据-注册成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册成本")
+  private java.math.BigDecimal eventRegisterCost;
+  /** 应用下载数据-注册率 */
+  @Excel(name = "应用下载数据-注册率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册率")
+  private java.math.BigDecimal eventRegisterRatio;
+  /** 应用下载数据-完件数 */
+  @Excel(name = "应用下载数据-完件数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件数")
+  private Long eventJinJianApp;
+  /** 应用下载数据-完件成本 */
+  @Excel(name = "应用下载数据-完件成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件成本")
+  private java.math.BigDecimal eventJinJianAppCost;
+  /** 应用下载数据-授信数 */
+  @Excel(name = "应用下载数据-授信数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信数")
+  private Long eventCreditGrantApp;
+  /** 应用下载数据-授信成本 */
+  @Excel(name = "应用下载数据-授信成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信成本")
+  private java.math.BigDecimal eventCreditGrantAppCost;
+  /** 应用下载数据-授信率 */
+  @Excel(name = "应用下载数据-授信率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信率")
+  private java.math.BigDecimal eventCreditGrantAppRatio;
+  /** 应用下载数据-付款成功数 */
+  @Excel(name = "应用下载数据-付款成功数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功数")
+  private Long eventOrderPaid;
+  /** 应用下载数据-付款成功金额 */
+  @Excel(name = "应用下载数据-付款成功金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功金额")
+  private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+  /** 应用下载数据-单次付款成本 */
+  @Excel(name = "应用下载数据-单次付款成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-单次付款成本")
+  private java.math.BigDecimal eventOrderPaidCost;
+  /** 应用下载数据-次留数(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+  private Long eventNextDayStay;
+  /** 应用下载数据-次留成本(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayCost;
+  /** 应用下载数据-次留率(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayRatio;
+  /** 落地页数据-表单提交数 */
+  @Excel(name = "落地页数据-表单提交数", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交数")
+  private Long formCount;
+  /** 落地页数据-表单提交单价 */
+  @Excel(name = "落地页数据-表单提交单价", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交单价")
+  private java.math.BigDecimal formCost;
+  /** 落地页数据-表单提交点击率 */
+  @Excel(name = "落地页数据-表单提交点击率", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交点击率")
+  private java.math.BigDecimal formActionRatio;
+  /** 落地页数据-落地页完件数 */
+  @Excel(name = "落地页数据-落地页完件数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件数")
+  private Long eventJinJianLandingPage;
+  /** 落地页数据-落地页完件成本 */
+  @Excel(name = "落地页数据-落地页完件成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件成本")
+  private java.math.BigDecimal eventJinJianLandingPageCost;
+  /** 落地页数据-落地页授信数 */
+  @Excel(name = "落地页数据-落地页授信数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信数")
+  private Long eventCreditGrantLandingPage;
+  /** 落地页数据-落地页授信成本 */
+  @Excel(name = "落地页数据-落地页授信成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信成本")
+  private java.math.BigDecimal eventCreditGrantLandingPageCost;
+  /** 落地页数据-落地页授信率 */
+  @Excel(name = "落地页数据-落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+  /** 落地页数据-有效线索数 */
+  @Excel(name = "落地页数据-有效线索数", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索数")
+  private Long eventValidClues;
+  /** 落地页数据-有效线索成本 */
+  @Excel(name = "落地页数据-有效线索成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索成本")
+  private java.math.BigDecimal eventValidCluesCost;
+  /** 微信复制数 */
+  @Excel(name = "微信复制数", width = 15)
+  @ApiModelProperty(value = "微信复制数")
+  private Long eventAddWechat;
+  /** 微信复制成本 */
+  @Excel(name = "微信复制成本", width = 15)
+  @ApiModelProperty(value = "微信复制成本")
+  private java.math.BigDecimal eventAddWechatCost;
+  /** 微信复制率 */
+  @Excel(name = "微信复制率", width = 15)
+  @ApiModelProperty(value = "微信复制率")
+  private java.math.BigDecimal eventAddWechatRatio;
+  /** 智能电话-确认接通数 */
+  @Excel(name = "智能电话-确认接通数", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通数")
+  private Long eventGetThrough;
+  /** 智能电话-确认接通成本 */
+  @Excel(name = "智能电话-确认接通成本", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通成本")
+  private java.math.BigDecimal eventGetThroughCost;
+  /** 智能电话-确认接通率 */
+  @Excel(name = "智能电话-确认接通率", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通率")
+  private java.math.BigDecimal eventGetThroughRatio;
+
+  private Long eventAppInvoked;
+  private BigDecimal eventAppInvokedCost;
+  private BigDecimal eventAppInvokedRatio;
+  private Long unionEventPayPurchaseAmount7d;
+  private BigDecimal unionEventPayPurchaseAmount7dRoi;
+  private String placementType;
+  private String adScene;
+  private Long eventOrderSuccessed;
+  private BigDecimal adPhotoPlayed10sRatio;
+  private BigDecimal keyActionCost;
+  private BigDecimal eventAddShoppingCartCost;
+  private BigDecimal eventAdWatchTimesRatio;
+  private BigDecimal eventOutboundCallCost;
+  private Long eventOutboundCall;
+  private BigDecimal actionNewRatio;
+  private Long eventWatchAppAd;
+  private BigDecimal eventMultiConversionCost;
+  private Long eventPhoneCardActivate;
+  private BigDecimal adPhotoPlayed75percentRatio;
+  private BigDecimal keyActionRatio;
+  private BigDecimal eventAdWatchTimesCost;
+  private Long eventAddShoppingCart;
+  private Long keyAction;
+  private Long eventMultiConversion;
+  private Long eventWechatConnected;
+  private Long eventDspGiftForm;
+  private Long eventIntentionConfirmed;
+  private Long eventPhoneGetThrough;
+  private BigDecimal eventMultiConversionRatio;
+  private BigDecimal eventMeasurementHouse;
+  private BigDecimal adPhotoPlayed2sRatio;
+  private BigDecimal eventOutboundCallRatio;
+  private Long eventAdWatchTimes;
+  private BigDecimal play5sRatio;
+  private BigDecimal playEndRatio;
+  private BigDecimal eventNewUserPay;
+  private BigDecimal eventNewUserPayCost;
+  private BigDecimal eventNewUserPayRatio;
+  private BigDecimal click1kCost;
+  private Long adProductCnt;
+  private Long eventGoodsView;
+  private Long merchantRecoFans;
+  private BigDecimal eventOrderAmountRoi;
+  private BigDecimal eventGoodsViewCost;
+  private BigDecimal merchantRecoFansCost;
+  private Long eventButtonClick;
+  private BigDecimal eventButtonClickCost;
+  private BigDecimal eventButtonClickRatio;
+  private BigDecimal eventOrderPaidRoi;
+  private Long eventNewUserJinjianApp;
+  private BigDecimal eventNewUserJinjianAppCost;
+  private BigDecimal eventNewUserJinjianAppRoi;
+  private Long eventNewUserCreditGrantApp;
+  private BigDecimal eventNewUserCreditGrantAppCost;
+  private BigDecimal eventNewUserCreditGrantAppRoi;
+  private Long eventNewUserJinjianPage;
+  private BigDecimal eventNewUserJinjianPageCost;
+  private BigDecimal eventNewUserJinjianPageRoi;
+  private Long eventNewUserCreditGrantPage;
+  private BigDecimal eventNewUserCreditGrantPageCost;
+  private BigDecimal eventNewUserCreditGrantPageRoi;
+  private Long eventAppointForm;
+  private BigDecimal eventAppointFormCost;
+  private BigDecimal eventAppointFormRatio;
+  private Long eventAppointJumpClick;
+  private BigDecimal eventAppointJumpClickCost;
+  private BigDecimal eventAppointJumpClickRatio;
+  private BigDecimal eventCreditGrantLandingRatio;
+}

+ 545 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouAccountReportHourly.java

@@ -0,0 +1,545 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 快手-账户时报
+ *
+ * @author jeecg-boot
+ * @date 2021-09-08
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_account_report_hourly")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "kuaishou_account_report_hourly对象", description = "快手-账户时报")
+public class KuaishouAccountReportHourly {
+
+  /** 广告主id */
+  @Excel(name = "广告主id", width = 15)
+  @ApiModelProperty(value = "广告主id")
+  private Long advertiserId;
+  /** 数据日期,格式:YYYYMMDD */
+  @Excel(name = "数据日期,格式:YYYYMMDD", width = 15)
+  @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+  private Integer statDate;
+  /** 小时 */
+  @Excel(name = "小时", width = 15)
+  @ApiModelProperty(value = "小时")
+  private Integer hour;
+  /** 花费(元) */
+  @Excel(name = "花费(元)", width = 15)
+  @ApiModelProperty(value = "花费(元)")
+  private java.math.BigDecimal charge;
+  /** 封面曝光数 */
+  @Excel(name = "封面曝光数", width = 15)
+  @ApiModelProperty(value = "封面曝光数")
+  private Long show;
+  /** 封面点击数 */
+  @Excel(name = "封面点击数", width = 15)
+  @ApiModelProperty(value = "封面点击数")
+  private Long photoClick;
+  /** 素材曝光数 */
+  @Excel(name = "素材曝光数", width = 15)
+  @ApiModelProperty(value = "素材曝光数")
+  private Long aclick;
+  /** 行为数 */
+  @Excel(name = "行为数", width = 15)
+  @ApiModelProperty(value = "行为数")
+  private Long bclick;
+  /** 封面点击率 */
+  @Excel(name = "封面点击率", width = 15)
+  @ApiModelProperty(value = "封面点击率")
+  private java.math.BigDecimal photoClickRatio;
+  /** 3s播放率 */
+  @Excel(name = "3s播放率", width = 15)
+  @ApiModelProperty(value = "3s播放率")
+  private java.math.BigDecimal play3sRatio;
+  /** 行为率 */
+  @Excel(name = "行为率", width = 15)
+  @ApiModelProperty(value = "行为率")
+  private java.math.BigDecimal actionRatio;
+  /** 平均千次曝光花费(元) */
+  @Excel(name = "平均千次曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次曝光花费(元)")
+  private java.math.BigDecimal impression1kCost;
+  /** 平均点击单价(元) */
+  @Excel(name = "平均点击单价(元)", width = 15)
+  @ApiModelProperty(value = "平均点击单价(元)")
+  private java.math.BigDecimal photoClickCost;
+  /** 平均行为单价(元) */
+  @Excel(name = "平均行为单价(元)", width = 15)
+  @ApiModelProperty(value = "平均行为单价(元)")
+  private java.math.BigDecimal actionCost;
+  /** 分享数 */
+  @Excel(name = "分享数", width = 15)
+  @ApiModelProperty(value = "分享数")
+  private Long share;
+  /** 评论数 */
+  @Excel(name = "评论数", width = 15)
+  @ApiModelProperty(value = "评论数")
+  private Long comment;
+  /** 点赞数 */
+  @Excel(name = "点赞数", width = 15)
+  @ApiModelProperty(value = "点赞数")
+  private Long like;
+  /** 新增关注数 */
+  @Excel(name = "新增关注数", width = 15)
+  @ApiModelProperty(value = "新增关注数")
+  private Long follow;
+  /** 取消关注数 */
+  @Excel(name = "取消关注数", width = 15)
+  @ApiModelProperty(value = "取消关注数")
+  private Long cancelFollow;
+  /** 举报数 */
+  @Excel(name = "举报数", width = 15)
+  @ApiModelProperty(value = "举报数")
+  private Long report;
+  /** 拉黑数 */
+  @Excel(name = "拉黑数", width = 15)
+  @ApiModelProperty(value = "拉黑数")
+  private Long block;
+  /** 减少此类作品数 */
+  @Excel(name = "减少此类作品数", width = 15)
+  @ApiModelProperty(value = "减少此类作品数")
+  private Long negative;
+  /** 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段) */
+  @Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+  @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+  private Long submit;
+  /** 应用下载数据-安卓下载开始数 */
+  @Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+  private Long downloadStarted;
+  /** 应用下载数据-安卓下载完成数 */
+  @Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+  private Long downloadCompleted;
+  /** 应用下载数据-激活数 */
+  @Excel(name = "应用下载数据-激活数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-激活数")
+  private Long activation;
+  /** 应用下载数据-首日付费次数 */
+  @Excel(name = "应用下载数据-首日付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费次数")
+  private Long eventPayFirstDay;
+  /** 应用下载数据-首日付费金额 */
+  @Excel(name = "应用下载数据-首日付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+  /** 应用下载数据-首日ROI */
+  @Excel(name = "应用下载数据-首日ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日ROI")
+  private java.math.BigDecimal eventPayFirstDayRoi;
+  /** 应用下载数据-付费次数 */
+  @Excel(name = "应用下载数据-付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费次数")
+  private Long eventPay;
+  /** 应用下载数据-付费金额 */
+  @Excel(name = "应用下载数据-付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmount;
+  /** 应用下载数据-ROI */
+  @Excel(name = "应用下载数据-ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-ROI")
+  private java.math.BigDecimal eventPayRoi;
+  /** 应用下载数据-注册数 */
+  @Excel(name = "应用下载数据-注册数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册数")
+  private Long eventRegister;
+  /** 应用下载数据-注册成本 */
+  @Excel(name = "应用下载数据-注册成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册成本")
+  private java.math.BigDecimal eventRegisterCost;
+  /** 应用下载数据-注册率 */
+  @Excel(name = "应用下载数据-注册率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册率")
+  private java.math.BigDecimal eventRegisterRatio;
+  /** 应用下载数据-完件数 */
+  @Excel(name = "应用下载数据-完件数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件数")
+  private Long eventJinJianApp;
+  /** 应用下载数据-完件成本 */
+  @Excel(name = "应用下载数据-完件成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件成本")
+  private java.math.BigDecimal eventJinJianAppCost;
+  /** 应用下载数据-授信数 */
+  @Excel(name = "应用下载数据-授信数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信数")
+  private Long eventCreditGrantApp;
+  /** 应用下载数据-授信成本 */
+  @Excel(name = "应用下载数据-授信成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信成本")
+  private java.math.BigDecimal eventCreditGrantAppCost;
+  /** 应用下载数据-授信率 */
+  @Excel(name = "应用下载数据-授信率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信率")
+  private java.math.BigDecimal eventCreditGrantAppRatio;
+  /** 应用下载数据-付款成功数 */
+  @Excel(name = "应用下载数据-付款成功数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功数")
+  private Long eventOrderPaid;
+  /** 应用下载数据-付款成功金额 */
+  @Excel(name = "应用下载数据-付款成功金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功金额")
+  private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+  /** 应用下载数据-单次付款成本 */
+  @Excel(name = "应用下载数据-单次付款成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-单次付款成本")
+  private java.math.BigDecimal eventOrderPaidCost;
+  /** 应用下载数据-次留数(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+  private Long eventNextDayStay;
+  /** 应用下载数据-次留成本(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayCost;
+  /** 应用下载数据-次留率(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayRatio;
+  /** 落地页数据-表单提交数 */
+  @Excel(name = "落地页数据-表单提交数", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交数")
+  private Long formCount;
+  /** 落地页数据-表单提交单价 */
+  @Excel(name = "落地页数据-表单提交单价", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交单价")
+  private java.math.BigDecimal formCost;
+  /** 落地页数据-表单提交点击率 */
+  @Excel(name = "落地页数据-表单提交点击率", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交点击率")
+  private java.math.BigDecimal formActionRatio;
+  /** 落地页数据-落地页完件数 */
+  @Excel(name = "落地页数据-落地页完件数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件数")
+  private Long eventJinJianLandingPage;
+  /** 落地页数据-落地页完件成本 */
+  @Excel(name = "落地页数据-落地页完件成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件成本")
+  private java.math.BigDecimal eventJinJianLandingPageCost;
+  /** 落地页数据-落地页授信数 */
+  @Excel(name = "落地页数据-落地页授信数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信数")
+  private Long eventCreditGrantLandingPage;
+  /** 落地页数据-落地页授信成本 */
+  @Excel(name = "落地页数据-落地页授信成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信成本")
+  private java.math.BigDecimal eventCreditGrantLandingPageCost;
+  /** 落地页数据-落地页授信率 */
+  @Excel(name = "落地页数据-落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+  /** 落地页数据-有效线索数 */
+  @Excel(name = "落地页数据-有效线索数", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索数")
+  private Long eventValidClues;
+  /** 落地页数据-有效线索成本 */
+  @Excel(name = "落地页数据-有效线索成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索成本")
+  private java.math.BigDecimal eventValidCluesCost;
+  /** 微信复制数 */
+  @Excel(name = "微信复制数", width = 15)
+  @ApiModelProperty(value = "微信复制数")
+  private Long eventAddWechat;
+  /** 微信复制成本 */
+  @Excel(name = "微信复制成本", width = 15)
+  @ApiModelProperty(value = "微信复制成本")
+  private java.math.BigDecimal eventAddWechatCost;
+  /** 微信复制率 */
+  @Excel(name = "微信复制率", width = 15)
+  @ApiModelProperty(value = "微信复制率")
+  private java.math.BigDecimal eventAddWechatRatio;
+  /** 智能电话-确认接通数 */
+  @Excel(name = "智能电话-确认接通数", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通数")
+  private Long eventGetThrough;
+  /** 智能电话-确认接通成本 */
+  @Excel(name = "智能电话-确认接通成本", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通成本")
+  private java.math.BigDecimal eventGetThroughCost;
+  /** 智能电话-确认接通率 */
+  @Excel(name = "智能电话-确认接通率", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通率")
+  private java.math.BigDecimal eventGetThroughRatio;
+  /** 唤醒应用数 */
+  @Excel(name = "唤醒应用数", width = 15)
+  @ApiModelProperty(value = "唤醒应用数")
+  private Long eventAppInvoked;
+  /** 唤醒应用成本 */
+  @Excel(name = "唤醒应用成本", width = 15)
+  @ApiModelProperty(value = "唤醒应用成本")
+  private java.math.BigDecimal eventAppInvokedCost;
+  /** 唤醒应用率 */
+  @Excel(name = "唤醒应用率", width = 15)
+  @ApiModelProperty(value = "唤醒应用率")
+  private java.math.BigDecimal eventAppInvokedRatio;
+  /** 落地页授信率 */
+  @Excel(name = "落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingRatio;
+  /** 5s播放率 */
+  @Excel(name = "5s播放率", width = 15)
+  @ApiModelProperty(value = "5s播放率")
+  private java.math.BigDecimal play5sRatio;
+  /** 完播率 */
+  @Excel(name = "完播率", width = 15)
+  @ApiModelProperty(value = "完播率")
+  private java.math.BigDecimal playEndRatio;
+  /** 新增付费人数 */
+  @Excel(name = "新增付费人数", width = 15)
+  @ApiModelProperty(value = "新增付费人数")
+  private java.math.BigDecimal eventNewUserPay;
+  /** 新增付费人数成本 */
+  @Excel(name = "新增付费人数成本", width = 15)
+  @ApiModelProperty(value = "新增付费人数成本")
+  private java.math.BigDecimal eventNewUserPayCost;
+  /** 新增付费人数率 */
+  @Excel(name = "新增付费人数率", width = 15)
+  @ApiModelProperty(value = "新增付费人数率")
+  private java.math.BigDecimal eventNewUserPayRatio;
+  /** 平均千次素材曝光花费(元) */
+  @Excel(name = "平均千次素材曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次素材曝光花费(元)")
+  private java.math.BigDecimal click1kCost;
+  /** 商品成交数 */
+  @Excel(name = "商品成交数", width = 15)
+  @ApiModelProperty(value = "商品成交数")
+  private Long adProductCnt;
+  /** 商品访问数 */
+  @Excel(name = "商品访问数", width = 15)
+  @ApiModelProperty(value = "商品访问数")
+  private Long eventGoodsView;
+  /** 涨粉量 */
+  @Excel(name = "涨粉量", width = 15)
+  @ApiModelProperty(value = "涨粉量")
+  private Long merchantRecoFans;
+  /** 小店推广roi */
+  @Excel(name = "小店推广roi", width = 15)
+  @ApiModelProperty(value = "小店推广roi")
+  private java.math.BigDecimal eventOrderAmountRoi;
+  /** 商品访问成本 */
+  @Excel(name = "商品访问成本", width = 15)
+  @ApiModelProperty(value = "商品访问成本")
+  private java.math.BigDecimal eventGoodsViewCost;
+  /** 涨粉成本 */
+  @Excel(name = "涨粉成本", width = 15)
+  @ApiModelProperty(value = "涨粉成本")
+  private java.math.BigDecimal merchantRecoFansCost;
+  /** 按钮点击数 */
+  @Excel(name = "按钮点击数", width = 15)
+  @ApiModelProperty(value = "按钮点击数")
+  private Long eventButtonClick;
+  /** 按钮点击成本 */
+  @Excel(name = "按钮点击成本", width = 15)
+  @ApiModelProperty(value = "按钮点击成本")
+  private java.math.BigDecimal eventButtonClickCost;
+  /** 按钮点击率 */
+  @Excel(name = "按钮点击率", width = 15)
+  @ApiModelProperty(value = "按钮点击率")
+  private java.math.BigDecimal eventButtonClickRatio;
+  /** 订单支付率 */
+  @Excel(name = "订单支付率", width = 15)
+  @ApiModelProperty(value = "订单支付率")
+  private java.math.BigDecimal eventOrderPaidRoi;
+  /** 新增完件人数 */
+  @Excel(name = "新增完件人数", width = 15)
+  @ApiModelProperty(value = "新增完件人数")
+  private Long eventNewUserJinjianApp;
+  /** 新增完件成本 */
+  @Excel(name = "新增完件成本", width = 15)
+  @ApiModelProperty(value = "新增完件成本")
+  private java.math.BigDecimal eventNewUserJinjianAppCost;
+  /** 新增完件人数率 */
+  @Excel(name = "新增完件人数率", width = 15)
+  @ApiModelProperty(value = "新增完件人数率")
+  private java.math.BigDecimal eventNewUserJinjianAppRoi;
+  /** 新增授信人数 */
+  @Excel(name = "新增授信人数", width = 15)
+  @ApiModelProperty(value = "新增授信人数")
+  private Long eventNewUserCreditGrantApp;
+  /** 新增授信人数成本 */
+  @Excel(name = "新增授信人数成本", width = 15)
+  @ApiModelProperty(value = "新增授信人数成本")
+  private java.math.BigDecimal eventNewUserCreditGrantAppCost;
+  /** 新增授信人数率 */
+  @Excel(name = "新增授信人数率", width = 15)
+  @ApiModelProperty(value = "新增授信人数率")
+  private java.math.BigDecimal eventNewUserCreditGrantAppRoi;
+  /** eventNewUserJinjianPage */
+  @Excel(name = "eventNewUserJinjianPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPage")
+  private Long eventNewUserJinjianPage;
+  /** eventNewUserJinjianPageCost */
+  @Excel(name = "eventNewUserJinjianPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageCost")
+  private java.math.BigDecimal eventNewUserJinjianPageCost;
+  /** eventNewUserJinjianPageRoi */
+  @Excel(name = "eventNewUserJinjianPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageRoi")
+  private java.math.BigDecimal eventNewUserJinjianPageRoi;
+  /** eventNewUserCreditGrantPage */
+  @Excel(name = "eventNewUserCreditGrantPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPage")
+  private Long eventNewUserCreditGrantPage;
+  /** eventNewUserCreditGrantPageCost */
+  @Excel(name = "eventNewUserCreditGrantPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageCost")
+  private java.math.BigDecimal eventNewUserCreditGrantPageCost;
+  /** eventNewUserCreditGrantPageRoi */
+  @Excel(name = "eventNewUserCreditGrantPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageRoi")
+  private java.math.BigDecimal eventNewUserCreditGrantPageRoi;
+  /** 预约表单数 */
+  @Excel(name = "预约表单数", width = 15)
+  @ApiModelProperty(value = "预约表单数")
+  private Long eventAppointForm;
+  /** 预约表单点击成本 */
+  @Excel(name = "预约表单点击成本", width = 15)
+  @ApiModelProperty(value = "预约表单点击成本")
+  private java.math.BigDecimal eventAppointFormCost;
+  /** 预约表单点击率 */
+  @Excel(name = "预约表单点击率", width = 15)
+  @ApiModelProperty(value = "预约表单点击率")
+  private java.math.BigDecimal eventAppointFormRatio;
+  /** 预约跳转点击数 */
+  @Excel(name = "预约跳转点击数", width = 15)
+  @ApiModelProperty(value = "预约跳转点击数")
+  private Long eventAppointJumpClick;
+  /** 预约跳转点击成本 */
+  @Excel(name = "预约跳转点击成本", width = 15)
+  @ApiModelProperty(value = "预约跳转点击成本")
+  private java.math.BigDecimal eventAppointJumpClickCost;
+  /** 预约跳转点击率 */
+  @Excel(name = "预约跳转点击率", width = 15)
+  @ApiModelProperty(value = "预约跳转点击率")
+  private java.math.BigDecimal eventAppointJumpClickRatio;
+  /** 联盟广告收入 */
+  @Excel(name = "联盟广告收入", width = 15)
+  @ApiModelProperty(value = "联盟广告收入")
+  private Long unionEventPayPurchaseAmount7d;
+  /** 联盟变现ROI */
+  @Excel(name = "联盟变现ROI", width = 15)
+  @ApiModelProperty(value = "联盟变现ROI")
+  private java.math.BigDecimal unionEventPayPurchaseAmount7dRoi;
+  /** placementType */
+  @Excel(name = "placementType", width = 15)
+  @ApiModelProperty(value = "placementType")
+  private String placementType;
+  /** adScene */
+  @Excel(name = "adScene", width = 15)
+  @ApiModelProperty(value = "adScene")
+  private String adScene;
+  /** eventOrderSuccessed */
+  @Excel(name = "eventOrderSuccessed", width = 15)
+  @ApiModelProperty(value = "eventOrderSuccessed")
+  private Long eventOrderSuccessed;
+  /** adPhotoPlayed10sRatio */
+  @Excel(name = "adPhotoPlayed10sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed10sRatio")
+  private java.math.BigDecimal adPhotoPlayed10sRatio;
+  /** keyActionCost */
+  @Excel(name = "keyActionCost", width = 15)
+  @ApiModelProperty(value = "keyActionCost")
+  private java.math.BigDecimal keyActionCost;
+  /** 添加购物车成本 */
+  @Excel(name = "添加购物车成本", width = 15)
+  @ApiModelProperty(value = "添加购物车成本")
+  private java.math.BigDecimal eventAddShoppingCartCost;
+  /** 广告观看次数转化率 */
+  @Excel(name = "广告观看次数转化率", width = 15)
+  @ApiModelProperty(value = "广告观看次数转化率")
+  private java.math.BigDecimal eventAdWatchTimesRatio;
+  /** eventOutboundCallCost */
+  @Excel(name = "eventOutboundCallCost", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallCost")
+  private java.math.BigDecimal eventOutboundCallCost;
+  /** eventOutboundCall */
+  @Excel(name = "eventOutboundCall", width = 15)
+  @ApiModelProperty(value = "eventOutboundCall")
+  private Long eventOutboundCall;
+  /** actionNewRatio */
+  @Excel(name = "actionNewRatio", width = 15)
+  @ApiModelProperty(value = "actionNewRatio")
+  private java.math.BigDecimal actionNewRatio;
+  /** 广告观看 */
+  @Excel(name = "广告观看", width = 15)
+  @ApiModelProperty(value = "广告观看")
+  private Long eventWatchAppAd;
+  /** 落地页多转化成本 */
+  @Excel(name = "落地页多转化成本", width = 15)
+  @ApiModelProperty(value = "落地页多转化成本")
+  private java.math.BigDecimal eventMultiConversionCost;
+  /** eventPhoneCardActivate */
+  @Excel(name = "eventPhoneCardActivate", width = 15)
+  @ApiModelProperty(value = "eventPhoneCardActivate")
+  private Long eventPhoneCardActivate;
+  /** adPhotoPlayed75percentRatio */
+  @Excel(name = "adPhotoPlayed75percentRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed75percentRatio")
+  private java.math.BigDecimal adPhotoPlayed75percentRatio;
+  /** keyActionRatio */
+  @Excel(name = "keyActionRatio", width = 15)
+  @ApiModelProperty(value = "keyActionRatio")
+  private java.math.BigDecimal keyActionRatio;
+  /** 广告观看次数成本 */
+  @Excel(name = "广告观看次数成本", width = 15)
+  @ApiModelProperty(value = "广告观看次数成本")
+  private java.math.BigDecimal eventAdWatchTimesCost;
+  /** 添加购物车数 */
+  @Excel(name = "添加购物车数", width = 15)
+  @ApiModelProperty(value = "添加购物车数")
+  private Long eventAddShoppingCart;
+  /** keyAction */
+  @Excel(name = "keyAction", width = 15)
+  @ApiModelProperty(value = "keyAction")
+  private Long keyAction;
+  /** 落地页多转化次数 */
+  @Excel(name = "落地页多转化次数", width = 15)
+  @ApiModelProperty(value = "落地页多转化次数")
+  private Long eventMultiConversion;
+  /** eventWechatConnected */
+  @Excel(name = "eventWechatConnected", width = 15)
+  @ApiModelProperty(value = "eventWechatConnected")
+  private Long eventWechatConnected;
+  /** 附加组件表单提交 */
+  @Excel(name = "附加组件表单提交", width = 15)
+  @ApiModelProperty(value = "附加组件表单提交")
+  private Long eventDspGiftForm;
+  /** eventIntentionConfirmed */
+  @Excel(name = "eventIntentionConfirmed", width = 15)
+  @ApiModelProperty(value = "eventIntentionConfirmed")
+  private Long eventIntentionConfirmed;
+  /** eventPhoneGetThrough */
+  @Excel(name = "eventPhoneGetThrough", width = 15)
+  @ApiModelProperty(value = "eventPhoneGetThrough")
+  private Long eventPhoneGetThrough;
+  /** 落地页多转化率 */
+  @Excel(name = "落地页多转化率", width = 15)
+  @ApiModelProperty(value = "落地页多转化率")
+  private java.math.BigDecimal eventMultiConversionRatio;
+  /** eventMeasurementHouse */
+  @Excel(name = "eventMeasurementHouse", width = 15)
+  @ApiModelProperty(value = "eventMeasurementHouse")
+  private java.math.BigDecimal eventMeasurementHouse;
+  /** adPhotoPlayed2sRatio */
+  @Excel(name = "adPhotoPlayed2sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed2sRatio")
+  private java.math.BigDecimal adPhotoPlayed2sRatio;
+  /** eventOutboundCallRatio */
+  @Excel(name = "eventOutboundCallRatio", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallRatio")
+  private java.math.BigDecimal eventOutboundCallRatio;
+  /** 广告观看次数 */
+  @Excel(name = " 广告观看次数", width = 15)
+  @ApiModelProperty(value = " 广告观看次数")
+  private Long eventAdWatchTimes;
+}

+ 549 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouCampaignReportDaily.java

@@ -0,0 +1,549 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 快手-计划日报
+ *
+ * @author jeecg-boot
+ * @date 2021-09-08
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_campaign_report_daily")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "kuaishou_campaign_report_daily对象", description = "快手-计划日报")
+public class KuaishouCampaignReportDaily {
+
+  /** 广告主id */
+  @Excel(name = "广告主id", width = 15)
+  @ApiModelProperty(value = "广告主id")
+  private Long advertiserId;
+  /** 数据日期,格式:YYYYMMDD */
+  @Excel(name = "数据日期,格式:YYYYMMDD", width = 15)
+  @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+  private Integer statDate;
+  /** 广告计划ID */
+  @Excel(name = "广告计划ID", width = 15)
+  @ApiModelProperty(value = "广告计划ID")
+  private Long campaignId;
+  /** 广告计划名称 */
+  @Excel(name = "广告计划名称", width = 15)
+  @ApiModelProperty(value = "广告计划名称")
+  private String campaignName;
+  /** 花费(元) */
+  @Excel(name = "花费(元)", width = 15)
+  @ApiModelProperty(value = "花费(元)")
+  private java.math.BigDecimal charge;
+  /** 封面曝光数 */
+  @Excel(name = "封面曝光数", width = 15)
+  @ApiModelProperty(value = "封面曝光数")
+  private Long show;
+  /** 封面点击数 */
+  @Excel(name = "封面点击数", width = 15)
+  @ApiModelProperty(value = "封面点击数")
+  private Long photoClick;
+  /** 素材曝光数 */
+  @Excel(name = "素材曝光数", width = 15)
+  @ApiModelProperty(value = "素材曝光数")
+  private Long aclick;
+  /** 行为数 */
+  @Excel(name = "行为数", width = 15)
+  @ApiModelProperty(value = "行为数")
+  private Long bclick;
+  /** 封面点击率 */
+  @Excel(name = "封面点击率", width = 15)
+  @ApiModelProperty(value = "封面点击率")
+  private java.math.BigDecimal photoClickRatio;
+  /** 3s播放率 */
+  @Excel(name = "3s播放率", width = 15)
+  @ApiModelProperty(value = "3s播放率")
+  private java.math.BigDecimal play3sRatio;
+  /** 行为率 */
+  @Excel(name = "行为率", width = 15)
+  @ApiModelProperty(value = "行为率")
+  private java.math.BigDecimal actionRatio;
+  /** 平均千次曝光花费(元) */
+  @Excel(name = "平均千次曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次曝光花费(元)")
+  private java.math.BigDecimal impression1kCost;
+  /** 平均点击单价(元) */
+  @Excel(name = "平均点击单价(元)", width = 15)
+  @ApiModelProperty(value = "平均点击单价(元)")
+  private java.math.BigDecimal photoClickCost;
+  /** 平均行为单价(元) */
+  @Excel(name = "平均行为单价(元)", width = 15)
+  @ApiModelProperty(value = "平均行为单价(元)")
+  private java.math.BigDecimal actionCost;
+  /** 分享数 */
+  @Excel(name = "分享数", width = 15)
+  @ApiModelProperty(value = "分享数")
+  private Long share;
+  /** 评论数 */
+  @Excel(name = "评论数", width = 15)
+  @ApiModelProperty(value = "评论数")
+  private Long comment;
+  /** 点赞数 */
+  @Excel(name = "点赞数", width = 15)
+  @ApiModelProperty(value = "点赞数")
+  private Long like;
+  /** 新增关注数 */
+  @Excel(name = "新增关注数", width = 15)
+  @ApiModelProperty(value = "新增关注数")
+  private Long follow;
+  /** 取消关注数 */
+  @Excel(name = "取消关注数", width = 15)
+  @ApiModelProperty(value = "取消关注数")
+  private Long cancelFollow;
+  /** 举报数 */
+  @Excel(name = "举报数", width = 15)
+  @ApiModelProperty(value = "举报数")
+  private Long report;
+  /** 拉黑数 */
+  @Excel(name = "拉黑数", width = 15)
+  @ApiModelProperty(value = "拉黑数")
+  private Long block;
+  /** 减少此类作品数 */
+  @Excel(name = "减少此类作品数", width = 15)
+  @ApiModelProperty(value = "减少此类作品数")
+  private Long negative;
+  /** 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段) */
+  @Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+  @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+  private Long submit;
+  /** 应用下载数据-安卓下载开始数 */
+  @Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+  private Long downloadStarted;
+  /** 应用下载数据-安卓下载完成数 */
+  @Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+  private Long downloadCompleted;
+  /** 应用下载数据-激活数 */
+  @Excel(name = "应用下载数据-激活数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-激活数")
+  private Long activation;
+  /** 应用下载数据-首日付费次数 */
+  @Excel(name = "应用下载数据-首日付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费次数")
+  private Long eventPayFirstDay;
+  /** 应用下载数据-首日付费金额 */
+  @Excel(name = "应用下载数据-首日付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+  /** 应用下载数据-首日ROI */
+  @Excel(name = "应用下载数据-首日ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日ROI")
+  private java.math.BigDecimal eventPayFirstDayRoi;
+  /** 应用下载数据-付费次数 */
+  @Excel(name = "应用下载数据-付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费次数")
+  private Long eventPay;
+  /** 应用下载数据-付费金额 */
+  @Excel(name = "应用下载数据-付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmount;
+  /** 应用下载数据-ROI */
+  @Excel(name = "应用下载数据-ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-ROI")
+  private java.math.BigDecimal eventPayRoi;
+  /** 应用下载数据-注册数 */
+  @Excel(name = "应用下载数据-注册数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册数")
+  private Long eventRegister;
+  /** 应用下载数据-注册成本 */
+  @Excel(name = "应用下载数据-注册成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册成本")
+  private java.math.BigDecimal eventRegisterCost;
+  /** 应用下载数据-注册率 */
+  @Excel(name = "应用下载数据-注册率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册率")
+  private java.math.BigDecimal eventRegisterRatio;
+  /** 应用下载数据-完件数 */
+  @Excel(name = "应用下载数据-完件数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件数")
+  private Long eventJinJianApp;
+  /** 应用下载数据-完件成本 */
+  @Excel(name = "应用下载数据-完件成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件成本")
+  private java.math.BigDecimal eventJinJianAppCost;
+  /** 应用下载数据-授信数 */
+  @Excel(name = "应用下载数据-授信数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信数")
+  private Long eventCreditGrantApp;
+  /** 应用下载数据-授信成本 */
+  @Excel(name = "应用下载数据-授信成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信成本")
+  private java.math.BigDecimal eventCreditGrantAppCost;
+  /** 应用下载数据-授信率 */
+  @Excel(name = "应用下载数据-授信率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信率")
+  private java.math.BigDecimal eventCreditGrantAppRatio;
+  /** 应用下载数据-付款成功数 */
+  @Excel(name = "应用下载数据-付款成功数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功数")
+  private Long eventOrderPaid;
+  /** 应用下载数据-付款成功金额 */
+  @Excel(name = "应用下载数据-付款成功金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功金额")
+  private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+  /** 应用下载数据-单次付款成本 */
+  @Excel(name = "应用下载数据-单次付款成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-单次付款成本")
+  private java.math.BigDecimal eventOrderPaidCost;
+  /** 应用下载数据-次留数(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+  private Long eventNextDayStay;
+  /** 应用下载数据-次留成本(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayCost;
+  /** 应用下载数据-次留率(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayRatio;
+  /** 落地页数据-表单提交数 */
+  @Excel(name = "落地页数据-表单提交数", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交数")
+  private Long formCount;
+  /** 落地页数据-表单提交单价 */
+  @Excel(name = "落地页数据-表单提交单价", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交单价")
+  private java.math.BigDecimal formCost;
+  /** 落地页数据-表单提交点击率 */
+  @Excel(name = "落地页数据-表单提交点击率", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交点击率")
+  private java.math.BigDecimal formActionRatio;
+  /** 落地页数据-落地页完件数 */
+  @Excel(name = "落地页数据-落地页完件数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件数")
+  private Long eventJinJianLandingPage;
+  /** 落地页数据-落地页完件成本 */
+  @Excel(name = "落地页数据-落地页完件成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件成本")
+  private java.math.BigDecimal eventJinJianLandingPageCost;
+  /** 落地页数据-落地页授信数 */
+  @Excel(name = "落地页数据-落地页授信数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信数")
+  private Long eventCreditGrantLandingPage;
+  /** 落地页数据-落地页授信成本 */
+  @Excel(name = "落地页数据-落地页授信成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信成本")
+  private java.math.BigDecimal eventCreditGrantLandingPageCost;
+  /** 落地页数据-落地页授信率 */
+  @Excel(name = "落地页数据-落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+  /** 落地页数据-有效线索数 */
+  @Excel(name = "落地页数据-有效线索数", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索数")
+  private Long eventValidClues;
+  /** 落地页数据-有效线索成本 */
+  @Excel(name = "落地页数据-有效线索成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索成本")
+  private java.math.BigDecimal eventValidCluesCost;
+  /** 微信复制数 */
+  @Excel(name = "微信复制数", width = 15)
+  @ApiModelProperty(value = "微信复制数")
+  private Long eventAddWechat;
+  /** 微信复制成本 */
+  @Excel(name = "微信复制成本", width = 15)
+  @ApiModelProperty(value = "微信复制成本")
+  private java.math.BigDecimal eventAddWechatCost;
+  /** 微信复制率 */
+  @Excel(name = "微信复制率", width = 15)
+  @ApiModelProperty(value = "微信复制率")
+  private java.math.BigDecimal eventAddWechatRatio;
+  /** 智能电话-确认接通数 */
+  @Excel(name = "智能电话-确认接通数", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通数")
+  private Long eventGetThrough;
+  /** 智能电话-确认接通成本 */
+  @Excel(name = "智能电话-确认接通成本", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通成本")
+  private java.math.BigDecimal eventGetThroughCost;
+  /** 智能电话-确认接通率 */
+  @Excel(name = "智能电话-确认接通率", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通率")
+  private java.math.BigDecimal eventGetThroughRatio;
+  /** 唤醒应用数 */
+  @Excel(name = "唤醒应用数", width = 15)
+  @ApiModelProperty(value = "唤醒应用数")
+  private Long eventAppInvoked;
+  /** 唤醒应用成本 */
+  @Excel(name = "唤醒应用成本", width = 15)
+  @ApiModelProperty(value = "唤醒应用成本")
+  private java.math.BigDecimal eventAppInvokedCost;
+  /** 唤醒应用率 */
+  @Excel(name = "唤醒应用率", width = 15)
+  @ApiModelProperty(value = "唤醒应用率")
+  private java.math.BigDecimal eventAppInvokedRatio;
+  /** 落地页授信率 */
+  @Excel(name = "落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingRatio;
+  /** 5s播放率 */
+  @Excel(name = "5s播放率", width = 15)
+  @ApiModelProperty(value = "5s播放率")
+  private java.math.BigDecimal play5sRatio;
+  /** 完播率 */
+  @Excel(name = "完播率", width = 15)
+  @ApiModelProperty(value = "完播率")
+  private java.math.BigDecimal playEndRatio;
+  /** 新增付费人数 */
+  @Excel(name = "新增付费人数", width = 15)
+  @ApiModelProperty(value = "新增付费人数")
+  private java.math.BigDecimal eventNewUserPay;
+  /** 新增付费人数成本 */
+  @Excel(name = "新增付费人数成本", width = 15)
+  @ApiModelProperty(value = "新增付费人数成本")
+  private java.math.BigDecimal eventNewUserPayCost;
+  /** 新增付费人数率 */
+  @Excel(name = "新增付费人数率", width = 15)
+  @ApiModelProperty(value = "新增付费人数率")
+  private java.math.BigDecimal eventNewUserPayRatio;
+  /** 平均千次素材曝光花费(元) */
+  @Excel(name = "平均千次素材曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次素材曝光花费(元)")
+  private java.math.BigDecimal click1kCost;
+  /** 商品成交数 */
+  @Excel(name = "商品成交数", width = 15)
+  @ApiModelProperty(value = "商品成交数")
+  private Long adProductCnt;
+  /** 商品访问数 */
+  @Excel(name = "商品访问数", width = 15)
+  @ApiModelProperty(value = "商品访问数")
+  private Long eventGoodsView;
+  /** 涨粉量 */
+  @Excel(name = "涨粉量", width = 15)
+  @ApiModelProperty(value = "涨粉量")
+  private Long merchantRecoFans;
+  /** 小店推广roi */
+  @Excel(name = "小店推广roi", width = 15)
+  @ApiModelProperty(value = "小店推广roi")
+  private java.math.BigDecimal eventOrderAmountRoi;
+  /** 商品访问成本 */
+  @Excel(name = "商品访问成本", width = 15)
+  @ApiModelProperty(value = "商品访问成本")
+  private java.math.BigDecimal eventGoodsViewCost;
+  /** 涨粉成本 */
+  @Excel(name = "涨粉成本", width = 15)
+  @ApiModelProperty(value = "涨粉成本")
+  private java.math.BigDecimal merchantRecoFansCost;
+  /** 按钮点击数 */
+  @Excel(name = "按钮点击数", width = 15)
+  @ApiModelProperty(value = "按钮点击数")
+  private Long eventButtonClick;
+  /** 按钮点击成本 */
+  @Excel(name = "按钮点击成本", width = 15)
+  @ApiModelProperty(value = "按钮点击成本")
+  private java.math.BigDecimal eventButtonClickCost;
+  /** 按钮点击率 */
+  @Excel(name = "按钮点击率", width = 15)
+  @ApiModelProperty(value = "按钮点击率")
+  private java.math.BigDecimal eventButtonClickRatio;
+  /** 订单支付率 */
+  @Excel(name = "订单支付率", width = 15)
+  @ApiModelProperty(value = "订单支付率")
+  private java.math.BigDecimal eventOrderPaidRoi;
+  /** 新增完件人数 */
+  @Excel(name = "新增完件人数", width = 15)
+  @ApiModelProperty(value = "新增完件人数")
+  private Long eventNewUserJinjianApp;
+  /** 新增完件成本 */
+  @Excel(name = "新增完件成本", width = 15)
+  @ApiModelProperty(value = "新增完件成本")
+  private java.math.BigDecimal eventNewUserJinjianAppCost;
+  /** 新增完件人数率 */
+  @Excel(name = "新增完件人数率", width = 15)
+  @ApiModelProperty(value = "新增完件人数率")
+  private java.math.BigDecimal eventNewUserJinjianAppRoi;
+  /** 新增授信人数 */
+  @Excel(name = "新增授信人数", width = 15)
+  @ApiModelProperty(value = "新增授信人数")
+  private Long eventNewUserCreditGrantApp;
+  /** 新增授信人数成本 */
+  @Excel(name = "新增授信人数成本", width = 15)
+  @ApiModelProperty(value = "新增授信人数成本")
+  private java.math.BigDecimal eventNewUserCreditGrantAppCost;
+  /** 新增授信人数率 */
+  @Excel(name = "新增授信人数率", width = 15)
+  @ApiModelProperty(value = "新增授信人数率")
+  private java.math.BigDecimal eventNewUserCreditGrantAppRoi;
+  /** eventNewUserJinjianPage */
+  @Excel(name = "eventNewUserJinjianPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPage")
+  private Long eventNewUserJinjianPage;
+  /** eventNewUserJinjianPageCost */
+  @Excel(name = "eventNewUserJinjianPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageCost")
+  private java.math.BigDecimal eventNewUserJinjianPageCost;
+  /** eventNewUserJinjianPageRoi */
+  @Excel(name = "eventNewUserJinjianPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageRoi")
+  private java.math.BigDecimal eventNewUserJinjianPageRoi;
+  /** eventNewUserCreditGrantPage */
+  @Excel(name = "eventNewUserCreditGrantPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPage")
+  private Long eventNewUserCreditGrantPage;
+  /** eventNewUserCreditGrantPageCost */
+  @Excel(name = "eventNewUserCreditGrantPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageCost")
+  private java.math.BigDecimal eventNewUserCreditGrantPageCost;
+  /** eventNewUserCreditGrantPageRoi */
+  @Excel(name = "eventNewUserCreditGrantPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageRoi")
+  private java.math.BigDecimal eventNewUserCreditGrantPageRoi;
+  /** 预约表单数 */
+  @Excel(name = "预约表单数", width = 15)
+  @ApiModelProperty(value = "预约表单数")
+  private Long eventAppointForm;
+  /** 预约表单点击成本 */
+  @Excel(name = "预约表单点击成本", width = 15)
+  @ApiModelProperty(value = "预约表单点击成本")
+  private java.math.BigDecimal eventAppointFormCost;
+  /** 预约表单点击率 */
+  @Excel(name = "预约表单点击率", width = 15)
+  @ApiModelProperty(value = "预约表单点击率")
+  private java.math.BigDecimal eventAppointFormRatio;
+  /** 预约跳转点击数 */
+  @Excel(name = "预约跳转点击数", width = 15)
+  @ApiModelProperty(value = "预约跳转点击数")
+  private Long eventAppointJumpClick;
+  /** 预约跳转点击成本 */
+  @Excel(name = "预约跳转点击成本", width = 15)
+  @ApiModelProperty(value = "预约跳转点击成本")
+  private java.math.BigDecimal eventAppointJumpClickCost;
+  /** 预约跳转点击率 */
+  @Excel(name = "预约跳转点击率", width = 15)
+  @ApiModelProperty(value = "预约跳转点击率")
+  private java.math.BigDecimal eventAppointJumpClickRatio;
+  /** 联盟广告收入 */
+  @Excel(name = "联盟广告收入", width = 15)
+  @ApiModelProperty(value = "联盟广告收入")
+  private Long unionEventPayPurchaseAmount7d;
+  /** 联盟变现ROI */
+  @Excel(name = "联盟变现ROI", width = 15)
+  @ApiModelProperty(value = "联盟变现ROI")
+  private java.math.BigDecimal unionEventPayPurchaseAmount7dRoi;
+  /** placementType */
+  @Excel(name = "placementType", width = 15)
+  @ApiModelProperty(value = "placementType")
+  private String placementType;
+  /** adScene */
+  @Excel(name = "adScene", width = 15)
+  @ApiModelProperty(value = "adScene")
+  private String adScene;
+  /** eventOrderSuccessed */
+  @Excel(name = "eventOrderSuccessed", width = 15)
+  @ApiModelProperty(value = "eventOrderSuccessed")
+  private Long eventOrderSuccessed;
+  /** adPhotoPlayed10sRatio */
+  @Excel(name = "adPhotoPlayed10sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed10sRatio")
+  private java.math.BigDecimal adPhotoPlayed10sRatio;
+  /** keyActionCost */
+  @Excel(name = "keyActionCost", width = 15)
+  @ApiModelProperty(value = "keyActionCost")
+  private java.math.BigDecimal keyActionCost;
+  /** 添加购物车成本 */
+  @Excel(name = "添加购物车成本", width = 15)
+  @ApiModelProperty(value = "添加购物车成本")
+  private java.math.BigDecimal eventAddShoppingCartCost;
+  /** 广告观看次数转化率 */
+  @Excel(name = "广告观看次数转化率", width = 15)
+  @ApiModelProperty(value = "广告观看次数转化率")
+  private java.math.BigDecimal eventAdWatchTimesRatio;
+  /** eventOutboundCallCost */
+  @Excel(name = "eventOutboundCallCost", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallCost")
+  private java.math.BigDecimal eventOutboundCallCost;
+  /** eventOutboundCall */
+  @Excel(name = "eventOutboundCall", width = 15)
+  @ApiModelProperty(value = "eventOutboundCall")
+  private Long eventOutboundCall;
+  /** actionNewRatio */
+  @Excel(name = "actionNewRatio", width = 15)
+  @ApiModelProperty(value = "actionNewRatio")
+  private java.math.BigDecimal actionNewRatio;
+  /** 广告观看 */
+  @Excel(name = "广告观看", width = 15)
+  @ApiModelProperty(value = "广告观看")
+  private Long eventWatchAppAd;
+  /** 落地页多转化成本 */
+  @Excel(name = "落地页多转化成本", width = 15)
+  @ApiModelProperty(value = "落地页多转化成本")
+  private java.math.BigDecimal eventMultiConversionCost;
+  /** eventPhoneCardActivate */
+  @Excel(name = "eventPhoneCardActivate", width = 15)
+  @ApiModelProperty(value = "eventPhoneCardActivate")
+  private Long eventPhoneCardActivate;
+  /** adPhotoPlayed75percentRatio */
+  @Excel(name = "adPhotoPlayed75percentRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed75percentRatio")
+  private java.math.BigDecimal adPhotoPlayed75percentRatio;
+  /** keyActionRatio */
+  @Excel(name = "keyActionRatio", width = 15)
+  @ApiModelProperty(value = "keyActionRatio")
+  private java.math.BigDecimal keyActionRatio;
+  /** 广告观看次数成本 */
+  @Excel(name = "广告观看次数成本", width = 15)
+  @ApiModelProperty(value = "广告观看次数成本")
+  private java.math.BigDecimal eventAdWatchTimesCost;
+  /** 添加购物车数 */
+  @Excel(name = "添加购物车数", width = 15)
+  @ApiModelProperty(value = "添加购物车数")
+  private Long eventAddShoppingCart;
+  /** keyAction */
+  @Excel(name = "keyAction", width = 15)
+  @ApiModelProperty(value = "keyAction")
+  private Long keyAction;
+  /** 落地页多转化次数 */
+  @Excel(name = "落地页多转化次数", width = 15)
+  @ApiModelProperty(value = "落地页多转化次数")
+  private Long eventMultiConversion;
+  /** eventWechatConnected */
+  @Excel(name = "eventWechatConnected", width = 15)
+  @ApiModelProperty(value = "eventWechatConnected")
+  private Long eventWechatConnected;
+  /** 附加组件表单提交 */
+  @Excel(name = "附加组件表单提交", width = 15)
+  @ApiModelProperty(value = "附加组件表单提交")
+  private Long eventDspGiftForm;
+  /** eventIntentionConfirmed */
+  @Excel(name = "eventIntentionConfirmed", width = 15)
+  @ApiModelProperty(value = "eventIntentionConfirmed")
+  private Long eventIntentionConfirmed;
+  /** eventPhoneGetThrough */
+  @Excel(name = "eventPhoneGetThrough", width = 15)
+  @ApiModelProperty(value = "eventPhoneGetThrough")
+  private Long eventPhoneGetThrough;
+  /** 落地页多转化率 */
+  @Excel(name = "落地页多转化率", width = 15)
+  @ApiModelProperty(value = "落地页多转化率")
+  private java.math.BigDecimal eventMultiConversionRatio;
+  /** eventMeasurementHouse */
+  @Excel(name = "eventMeasurementHouse", width = 15)
+  @ApiModelProperty(value = "eventMeasurementHouse")
+  private java.math.BigDecimal eventMeasurementHouse;
+  /** adPhotoPlayed2sRatio */
+  @Excel(name = "adPhotoPlayed2sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed2sRatio")
+  private java.math.BigDecimal adPhotoPlayed2sRatio;
+  /** eventOutboundCallRatio */
+  @Excel(name = "eventOutboundCallRatio", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallRatio")
+  private java.math.BigDecimal eventOutboundCallRatio;
+  /** 广告观看次数 */
+  @Excel(name = " 广告观看次数", width = 15)
+  @ApiModelProperty(value = " 广告观看次数")
+  private Long eventAdWatchTimes;
+}

+ 553 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouCampaignReportHourly.java

@@ -0,0 +1,553 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 快手-计划时报
+ *
+ * @author jeecg-boot
+ * @date 2021-09-08
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_campaign_report_hourly")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "kuaishou_campaign_report_hourly对象", description = "快手-计划时报")
+public class KuaishouCampaignReportHourly {
+
+  /** 广告主id */
+  @Excel(name = "广告主id", width = 15)
+  @ApiModelProperty(value = "广告主id")
+  private Long advertiserId;
+  /** 数据日期,格式:YYYYMMDD */
+  @Excel(name = "数据日期,格式:YYYYMMDD", width = 15)
+  @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+  private Integer statDate;
+  /** 小时 */
+  @Excel(name = "小时", width = 15)
+  @ApiModelProperty(value = "小时")
+  private Integer hour;
+  /** 广告计划ID */
+  @Excel(name = "广告计划ID", width = 15)
+  @ApiModelProperty(value = "广告计划ID")
+  private Long campaignId;
+  /** 广告计划名称 */
+  @Excel(name = "广告计划名称", width = 15)
+  @ApiModelProperty(value = "广告计划名称")
+  private String campaignName;
+  /** 花费(元) */
+  @Excel(name = "花费(元)", width = 15)
+  @ApiModelProperty(value = "花费(元)")
+  private java.math.BigDecimal charge;
+  /** 封面曝光数 */
+  @Excel(name = "封面曝光数", width = 15)
+  @ApiModelProperty(value = "封面曝光数")
+  private Long show;
+  /** 封面点击数 */
+  @Excel(name = "封面点击数", width = 15)
+  @ApiModelProperty(value = "封面点击数")
+  private Long photoClick;
+  /** 素材曝光数 */
+  @Excel(name = "素材曝光数", width = 15)
+  @ApiModelProperty(value = "素材曝光数")
+  private Long aclick;
+  /** 行为数 */
+  @Excel(name = "行为数", width = 15)
+  @ApiModelProperty(value = "行为数")
+  private Long bclick;
+  /** 封面点击率 */
+  @Excel(name = "封面点击率", width = 15)
+  @ApiModelProperty(value = "封面点击率")
+  private java.math.BigDecimal photoClickRatio;
+  /** 3s播放率 */
+  @Excel(name = "3s播放率", width = 15)
+  @ApiModelProperty(value = "3s播放率")
+  private java.math.BigDecimal play3sRatio;
+  /** 行为率 */
+  @Excel(name = "行为率", width = 15)
+  @ApiModelProperty(value = "行为率")
+  private java.math.BigDecimal actionRatio;
+  /** 平均千次曝光花费(元) */
+  @Excel(name = "平均千次曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次曝光花费(元)")
+  private java.math.BigDecimal impression1kCost;
+  /** 平均点击单价(元) */
+  @Excel(name = "平均点击单价(元)", width = 15)
+  @ApiModelProperty(value = "平均点击单价(元)")
+  private java.math.BigDecimal photoClickCost;
+  /** 平均行为单价(元) */
+  @Excel(name = "平均行为单价(元)", width = 15)
+  @ApiModelProperty(value = "平均行为单价(元)")
+  private java.math.BigDecimal actionCost;
+  /** 分享数 */
+  @Excel(name = "分享数", width = 15)
+  @ApiModelProperty(value = "分享数")
+  private Long share;
+  /** 评论数 */
+  @Excel(name = "评论数", width = 15)
+  @ApiModelProperty(value = "评论数")
+  private Long comment;
+  /** 点赞数 */
+  @Excel(name = "点赞数", width = 15)
+  @ApiModelProperty(value = "点赞数")
+  private Long like;
+  /** 新增关注数 */
+  @Excel(name = "新增关注数", width = 15)
+  @ApiModelProperty(value = "新增关注数")
+  private Long follow;
+  /** 取消关注数 */
+  @Excel(name = "取消关注数", width = 15)
+  @ApiModelProperty(value = "取消关注数")
+  private Long cancelFollow;
+  /** 举报数 */
+  @Excel(name = "举报数", width = 15)
+  @ApiModelProperty(value = "举报数")
+  private Long report;
+  /** 拉黑数 */
+  @Excel(name = "拉黑数", width = 15)
+  @ApiModelProperty(value = "拉黑数")
+  private Long block;
+  /** 减少此类作品数 */
+  @Excel(name = "减少此类作品数", width = 15)
+  @ApiModelProperty(value = "减少此类作品数")
+  private Long negative;
+  /** 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段) */
+  @Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+  @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+  private Long submit;
+  /** 应用下载数据-安卓下载开始数 */
+  @Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+  private Long downloadStarted;
+  /** 应用下载数据-安卓下载完成数 */
+  @Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+  private Long downloadCompleted;
+  /** 应用下载数据-激活数 */
+  @Excel(name = "应用下载数据-激活数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-激活数")
+  private Long activation;
+  /** 应用下载数据-首日付费次数 */
+  @Excel(name = "应用下载数据-首日付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费次数")
+  private Long eventPayFirstDay;
+  /** 应用下载数据-首日付费金额 */
+  @Excel(name = "应用下载数据-首日付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+  /** 应用下载数据-首日ROI */
+  @Excel(name = "应用下载数据-首日ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日ROI")
+  private java.math.BigDecimal eventPayFirstDayRoi;
+  /** 应用下载数据-付费次数 */
+  @Excel(name = "应用下载数据-付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费次数")
+  private Long eventPay;
+  /** 应用下载数据-付费金额 */
+  @Excel(name = "应用下载数据-付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmount;
+  /** 应用下载数据-ROI */
+  @Excel(name = "应用下载数据-ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-ROI")
+  private java.math.BigDecimal eventPayRoi;
+  /** 应用下载数据-注册数 */
+  @Excel(name = "应用下载数据-注册数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册数")
+  private Long eventRegister;
+  /** 应用下载数据-注册成本 */
+  @Excel(name = "应用下载数据-注册成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册成本")
+  private java.math.BigDecimal eventRegisterCost;
+  /** 应用下载数据-注册率 */
+  @Excel(name = "应用下载数据-注册率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册率")
+  private java.math.BigDecimal eventRegisterRatio;
+  /** 应用下载数据-完件数 */
+  @Excel(name = "应用下载数据-完件数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件数")
+  private Long eventJinJianApp;
+  /** 应用下载数据-完件成本 */
+  @Excel(name = "应用下载数据-完件成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件成本")
+  private java.math.BigDecimal eventJinJianAppCost;
+  /** 应用下载数据-授信数 */
+  @Excel(name = "应用下载数据-授信数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信数")
+  private Long eventCreditGrantApp;
+  /** 应用下载数据-授信成本 */
+  @Excel(name = "应用下载数据-授信成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信成本")
+  private java.math.BigDecimal eventCreditGrantAppCost;
+  /** 应用下载数据-授信率 */
+  @Excel(name = "应用下载数据-授信率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信率")
+  private java.math.BigDecimal eventCreditGrantAppRatio;
+  /** 应用下载数据-付款成功数 */
+  @Excel(name = "应用下载数据-付款成功数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功数")
+  private Long eventOrderPaid;
+  /** 应用下载数据-付款成功金额 */
+  @Excel(name = "应用下载数据-付款成功金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功金额")
+  private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+  /** 应用下载数据-单次付款成本 */
+  @Excel(name = "应用下载数据-单次付款成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-单次付款成本")
+  private java.math.BigDecimal eventOrderPaidCost;
+  /** 应用下载数据-次留数(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+  private Long eventNextDayStay;
+  /** 应用下载数据-次留成本(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayCost;
+  /** 应用下载数据-次留率(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayRatio;
+  /** 落地页数据-表单提交数 */
+  @Excel(name = "落地页数据-表单提交数", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交数")
+  private Long formCount;
+  /** 落地页数据-表单提交单价 */
+  @Excel(name = "落地页数据-表单提交单价", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交单价")
+  private java.math.BigDecimal formCost;
+  /** 落地页数据-表单提交点击率 */
+  @Excel(name = "落地页数据-表单提交点击率", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交点击率")
+  private java.math.BigDecimal formActionRatio;
+  /** 落地页数据-落地页完件数 */
+  @Excel(name = "落地页数据-落地页完件数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件数")
+  private Long eventJinJianLandingPage;
+  /** 落地页数据-落地页完件成本 */
+  @Excel(name = "落地页数据-落地页完件成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件成本")
+  private java.math.BigDecimal eventJinJianLandingPageCost;
+  /** 落地页数据-落地页授信数 */
+  @Excel(name = "落地页数据-落地页授信数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信数")
+  private Long eventCreditGrantLandingPage;
+  /** 落地页数据-落地页授信成本 */
+  @Excel(name = "落地页数据-落地页授信成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信成本")
+  private java.math.BigDecimal eventCreditGrantLandingPageCost;
+  /** 落地页数据-落地页授信率 */
+  @Excel(name = "落地页数据-落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+  /** 落地页数据-有效线索数 */
+  @Excel(name = "落地页数据-有效线索数", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索数")
+  private Long eventValidClues;
+  /** 落地页数据-有效线索成本 */
+  @Excel(name = "落地页数据-有效线索成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索成本")
+  private java.math.BigDecimal eventValidCluesCost;
+  /** 微信复制数 */
+  @Excel(name = "微信复制数", width = 15)
+  @ApiModelProperty(value = "微信复制数")
+  private Long eventAddWechat;
+  /** 微信复制成本 */
+  @Excel(name = "微信复制成本", width = 15)
+  @ApiModelProperty(value = "微信复制成本")
+  private java.math.BigDecimal eventAddWechatCost;
+  /** 微信复制率 */
+  @Excel(name = "微信复制率", width = 15)
+  @ApiModelProperty(value = "微信复制率")
+  private java.math.BigDecimal eventAddWechatRatio;
+  /** 智能电话-确认接通数 */
+  @Excel(name = "智能电话-确认接通数", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通数")
+  private Long eventGetThrough;
+  /** 智能电话-确认接通成本 */
+  @Excel(name = "智能电话-确认接通成本", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通成本")
+  private java.math.BigDecimal eventGetThroughCost;
+  /** 智能电话-确认接通率 */
+  @Excel(name = "智能电话-确认接通率", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通率")
+  private java.math.BigDecimal eventGetThroughRatio;
+  /** 唤醒应用数 */
+  @Excel(name = "唤醒应用数", width = 15)
+  @ApiModelProperty(value = "唤醒应用数")
+  private Long eventAppInvoked;
+  /** 唤醒应用成本 */
+  @Excel(name = "唤醒应用成本", width = 15)
+  @ApiModelProperty(value = "唤醒应用成本")
+  private java.math.BigDecimal eventAppInvokedCost;
+  /** 唤醒应用率 */
+  @Excel(name = "唤醒应用率", width = 15)
+  @ApiModelProperty(value = "唤醒应用率")
+  private java.math.BigDecimal eventAppInvokedRatio;
+  /** 落地页授信率 */
+  @Excel(name = "落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingRatio;
+  /** 5s播放率 */
+  @Excel(name = "5s播放率", width = 15)
+  @ApiModelProperty(value = "5s播放率")
+  private java.math.BigDecimal play5sRatio;
+  /** 完播率 */
+  @Excel(name = "完播率", width = 15)
+  @ApiModelProperty(value = "完播率")
+  private java.math.BigDecimal playEndRatio;
+  /** 新增付费人数 */
+  @Excel(name = "新增付费人数", width = 15)
+  @ApiModelProperty(value = "新增付费人数")
+  private java.math.BigDecimal eventNewUserPay;
+  /** 新增付费人数成本 */
+  @Excel(name = "新增付费人数成本", width = 15)
+  @ApiModelProperty(value = "新增付费人数成本")
+  private java.math.BigDecimal eventNewUserPayCost;
+  /** 新增付费人数率 */
+  @Excel(name = "新增付费人数率", width = 15)
+  @ApiModelProperty(value = "新增付费人数率")
+  private java.math.BigDecimal eventNewUserPayRatio;
+  /** 平均千次素材曝光花费(元) */
+  @Excel(name = "平均千次素材曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次素材曝光花费(元)")
+  private java.math.BigDecimal click1kCost;
+  /** 商品成交数 */
+  @Excel(name = "商品成交数", width = 15)
+  @ApiModelProperty(value = "商品成交数")
+  private Long adProductCnt;
+  /** 商品访问数 */
+  @Excel(name = "商品访问数", width = 15)
+  @ApiModelProperty(value = "商品访问数")
+  private Long eventGoodsView;
+  /** 涨粉量 */
+  @Excel(name = "涨粉量", width = 15)
+  @ApiModelProperty(value = "涨粉量")
+  private Long merchantRecoFans;
+  /** 小店推广roi */
+  @Excel(name = "小店推广roi", width = 15)
+  @ApiModelProperty(value = "小店推广roi")
+  private java.math.BigDecimal eventOrderAmountRoi;
+  /** 商品访问成本 */
+  @Excel(name = "商品访问成本", width = 15)
+  @ApiModelProperty(value = "商品访问成本")
+  private java.math.BigDecimal eventGoodsViewCost;
+  /** 涨粉成本 */
+  @Excel(name = "涨粉成本", width = 15)
+  @ApiModelProperty(value = "涨粉成本")
+  private java.math.BigDecimal merchantRecoFansCost;
+  /** 按钮点击数 */
+  @Excel(name = "按钮点击数", width = 15)
+  @ApiModelProperty(value = "按钮点击数")
+  private Long eventButtonClick;
+  /** 按钮点击成本 */
+  @Excel(name = "按钮点击成本", width = 15)
+  @ApiModelProperty(value = "按钮点击成本")
+  private java.math.BigDecimal eventButtonClickCost;
+  /** 按钮点击率 */
+  @Excel(name = "按钮点击率", width = 15)
+  @ApiModelProperty(value = "按钮点击率")
+  private java.math.BigDecimal eventButtonClickRatio;
+  /** 订单支付率 */
+  @Excel(name = "订单支付率", width = 15)
+  @ApiModelProperty(value = "订单支付率")
+  private java.math.BigDecimal eventOrderPaidRoi;
+  /** 新增完件人数 */
+  @Excel(name = "新增完件人数", width = 15)
+  @ApiModelProperty(value = "新增完件人数")
+  private Long eventNewUserJinjianApp;
+  /** 新增完件成本 */
+  @Excel(name = "新增完件成本", width = 15)
+  @ApiModelProperty(value = "新增完件成本")
+  private java.math.BigDecimal eventNewUserJinjianAppCost;
+  /** 新增完件人数率 */
+  @Excel(name = "新增完件人数率", width = 15)
+  @ApiModelProperty(value = "新增完件人数率")
+  private java.math.BigDecimal eventNewUserJinjianAppRoi;
+  /** 新增授信人数 */
+  @Excel(name = "新增授信人数", width = 15)
+  @ApiModelProperty(value = "新增授信人数")
+  private Long eventNewUserCreditGrantApp;
+  /** 新增授信人数成本 */
+  @Excel(name = "新增授信人数成本", width = 15)
+  @ApiModelProperty(value = "新增授信人数成本")
+  private java.math.BigDecimal eventNewUserCreditGrantAppCost;
+  /** 新增授信人数率 */
+  @Excel(name = "新增授信人数率", width = 15)
+  @ApiModelProperty(value = "新增授信人数率")
+  private java.math.BigDecimal eventNewUserCreditGrantAppRoi;
+  /** eventNewUserJinjianPage */
+  @Excel(name = "eventNewUserJinjianPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPage")
+  private Long eventNewUserJinjianPage;
+  /** eventNewUserJinjianPageCost */
+  @Excel(name = "eventNewUserJinjianPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageCost")
+  private java.math.BigDecimal eventNewUserJinjianPageCost;
+  /** eventNewUserJinjianPageRoi */
+  @Excel(name = "eventNewUserJinjianPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageRoi")
+  private java.math.BigDecimal eventNewUserJinjianPageRoi;
+  /** eventNewUserCreditGrantPage */
+  @Excel(name = "eventNewUserCreditGrantPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPage")
+  private Long eventNewUserCreditGrantPage;
+  /** eventNewUserCreditGrantPageCost */
+  @Excel(name = "eventNewUserCreditGrantPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageCost")
+  private java.math.BigDecimal eventNewUserCreditGrantPageCost;
+  /** eventNewUserCreditGrantPageRoi */
+  @Excel(name = "eventNewUserCreditGrantPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageRoi")
+  private java.math.BigDecimal eventNewUserCreditGrantPageRoi;
+  /** 预约表单数 */
+  @Excel(name = "预约表单数", width = 15)
+  @ApiModelProperty(value = "预约表单数")
+  private Long eventAppointForm;
+  /** 预约表单点击成本 */
+  @Excel(name = "预约表单点击成本", width = 15)
+  @ApiModelProperty(value = "预约表单点击成本")
+  private java.math.BigDecimal eventAppointFormCost;
+  /** 预约表单点击率 */
+  @Excel(name = "预约表单点击率", width = 15)
+  @ApiModelProperty(value = "预约表单点击率")
+  private java.math.BigDecimal eventAppointFormRatio;
+  /** 预约跳转点击数 */
+  @Excel(name = "预约跳转点击数", width = 15)
+  @ApiModelProperty(value = "预约跳转点击数")
+  private Long eventAppointJumpClick;
+  /** 预约跳转点击成本 */
+  @Excel(name = "预约跳转点击成本", width = 15)
+  @ApiModelProperty(value = "预约跳转点击成本")
+  private java.math.BigDecimal eventAppointJumpClickCost;
+  /** 预约跳转点击率 */
+  @Excel(name = "预约跳转点击率", width = 15)
+  @ApiModelProperty(value = "预约跳转点击率")
+  private java.math.BigDecimal eventAppointJumpClickRatio;
+  /** 联盟广告收入 */
+  @Excel(name = "联盟广告收入", width = 15)
+  @ApiModelProperty(value = "联盟广告收入")
+  private Long unionEventPayPurchaseAmount7d;
+  /** 联盟变现ROI */
+  @Excel(name = "联盟变现ROI", width = 15)
+  @ApiModelProperty(value = "联盟变现ROI")
+  private java.math.BigDecimal unionEventPayPurchaseAmount7dRoi;
+  /** placementType */
+  @Excel(name = "placementType", width = 15)
+  @ApiModelProperty(value = "placementType")
+  private String placementType;
+  /** adScene */
+  @Excel(name = "adScene", width = 15)
+  @ApiModelProperty(value = "adScene")
+  private String adScene;
+  /** eventOrderSuccessed */
+  @Excel(name = "eventOrderSuccessed", width = 15)
+  @ApiModelProperty(value = "eventOrderSuccessed")
+  private Long eventOrderSuccessed;
+  /** adPhotoPlayed10sRatio */
+  @Excel(name = "adPhotoPlayed10sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed10sRatio")
+  private java.math.BigDecimal adPhotoPlayed10sRatio;
+  /** keyActionCost */
+  @Excel(name = "keyActionCost", width = 15)
+  @ApiModelProperty(value = "keyActionCost")
+  private java.math.BigDecimal keyActionCost;
+  /** 添加购物车成本 */
+  @Excel(name = "添加购物车成本", width = 15)
+  @ApiModelProperty(value = "添加购物车成本")
+  private java.math.BigDecimal eventAddShoppingCartCost;
+  /** 广告观看次数转化率 */
+  @Excel(name = "广告观看次数转化率", width = 15)
+  @ApiModelProperty(value = "广告观看次数转化率")
+  private java.math.BigDecimal eventAdWatchTimesRatio;
+  /** eventOutboundCallCost */
+  @Excel(name = "eventOutboundCallCost", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallCost")
+  private java.math.BigDecimal eventOutboundCallCost;
+  /** eventOutboundCall */
+  @Excel(name = "eventOutboundCall", width = 15)
+  @ApiModelProperty(value = "eventOutboundCall")
+  private Long eventOutboundCall;
+  /** actionNewRatio */
+  @Excel(name = "actionNewRatio", width = 15)
+  @ApiModelProperty(value = "actionNewRatio")
+  private java.math.BigDecimal actionNewRatio;
+  /** 广告观看 */
+  @Excel(name = "广告观看", width = 15)
+  @ApiModelProperty(value = "广告观看")
+  private Long eventWatchAppAd;
+  /** 落地页多转化成本 */
+  @Excel(name = "落地页多转化成本", width = 15)
+  @ApiModelProperty(value = "落地页多转化成本")
+  private java.math.BigDecimal eventMultiConversionCost;
+  /** eventPhoneCardActivate */
+  @Excel(name = "eventPhoneCardActivate", width = 15)
+  @ApiModelProperty(value = "eventPhoneCardActivate")
+  private Long eventPhoneCardActivate;
+  /** adPhotoPlayed75percentRatio */
+  @Excel(name = "adPhotoPlayed75percentRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed75percentRatio")
+  private java.math.BigDecimal adPhotoPlayed75percentRatio;
+  /** keyActionRatio */
+  @Excel(name = "keyActionRatio", width = 15)
+  @ApiModelProperty(value = "keyActionRatio")
+  private java.math.BigDecimal keyActionRatio;
+  /** 广告观看次数成本 */
+  @Excel(name = "广告观看次数成本", width = 15)
+  @ApiModelProperty(value = "广告观看次数成本")
+  private java.math.BigDecimal eventAdWatchTimesCost;
+  /** 添加购物车数 */
+  @Excel(name = "添加购物车数", width = 15)
+  @ApiModelProperty(value = "添加购物车数")
+  private Long eventAddShoppingCart;
+  /** keyAction */
+  @Excel(name = "keyAction", width = 15)
+  @ApiModelProperty(value = "keyAction")
+  private Long keyAction;
+  /** 落地页多转化次数 */
+  @Excel(name = "落地页多转化次数", width = 15)
+  @ApiModelProperty(value = "落地页多转化次数")
+  private Long eventMultiConversion;
+  /** eventWechatConnected */
+  @Excel(name = "eventWechatConnected", width = 15)
+  @ApiModelProperty(value = "eventWechatConnected")
+  private Long eventWechatConnected;
+  /** 附加组件表单提交 */
+  @Excel(name = "附加组件表单提交", width = 15)
+  @ApiModelProperty(value = "附加组件表单提交")
+  private Long eventDspGiftForm;
+  /** eventIntentionConfirmed */
+  @Excel(name = "eventIntentionConfirmed", width = 15)
+  @ApiModelProperty(value = "eventIntentionConfirmed")
+  private Long eventIntentionConfirmed;
+  /** eventPhoneGetThrough */
+  @Excel(name = "eventPhoneGetThrough", width = 15)
+  @ApiModelProperty(value = "eventPhoneGetThrough")
+  private Long eventPhoneGetThrough;
+  /** 落地页多转化率 */
+  @Excel(name = "落地页多转化率", width = 15)
+  @ApiModelProperty(value = "落地页多转化率")
+  private java.math.BigDecimal eventMultiConversionRatio;
+  /** eventMeasurementHouse */
+  @Excel(name = "eventMeasurementHouse", width = 15)
+  @ApiModelProperty(value = "eventMeasurementHouse")
+  private java.math.BigDecimal eventMeasurementHouse;
+  /** adPhotoPlayed2sRatio */
+  @Excel(name = "adPhotoPlayed2sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed2sRatio")
+  private java.math.BigDecimal adPhotoPlayed2sRatio;
+  /** eventOutboundCallRatio */
+  @Excel(name = "eventOutboundCallRatio", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallRatio")
+  private java.math.BigDecimal eventOutboundCallRatio;
+  /** 广告观看次数 */
+  @Excel(name = " 广告观看次数", width = 15)
+  @ApiModelProperty(value = " 广告观看次数")
+  private Long eventAdWatchTimes;
+}

+ 565 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouCreativeReportDaily.java

@@ -0,0 +1,565 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 创意-日报
+ *
+ * @author jeecg-boot
+ * @date 2021-09-09
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_creative_report_daily")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "kuaishou_creative_report_daily对象", description = "创意-日报")
+public class KuaishouCreativeReportDaily {
+
+  /** 广告主id */
+  @Excel(name = "广告主id", width = 15)
+  @ApiModelProperty(value = "广告主id")
+  private Long advertiserId;
+  /** 数据日期,格式:YYYYMMDD */
+  @Excel(name = "数据日期,格式:YYYYMMDD", width = 15)
+  @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+  private Integer statDate;
+  /** 广告计划ID */
+  @Excel(name = "广告计划ID", width = 15)
+  @ApiModelProperty(value = "广告计划ID")
+  private Long campaignId;
+  /** 广告计划名称 */
+  @Excel(name = "广告计划名称", width = 15)
+  @ApiModelProperty(value = "广告计划名称")
+  private String campaignName;
+  /** 广告组ID */
+  @Excel(name = "广告组ID", width = 15)
+  @ApiModelProperty(value = "广告组ID")
+  private Long unitId;
+  /** 广告组名称 */
+  @Excel(name = "广告组名称", width = 15)
+  @ApiModelProperty(value = "广告组名称")
+  private String unitName;
+  /** 广告创意ID */
+  @Excel(name = "广告创意ID", width = 15)
+  @ApiModelProperty(value = "广告创意ID")
+  private Long creativeId;
+  /** 广告创意名称 */
+  @Excel(name = "广告创意名称", width = 15)
+  @ApiModelProperty(value = "广告创意名称")
+  private String creativeName;
+  /** 花费(元) */
+  @Excel(name = "花费(元)", width = 15)
+  @ApiModelProperty(value = "花费(元)")
+  private java.math.BigDecimal charge;
+  /** 封面曝光数 */
+  @Excel(name = "封面曝光数", width = 15)
+  @ApiModelProperty(value = "封面曝光数")
+  private Long show;
+  /** 封面点击数 */
+  @Excel(name = "封面点击数", width = 15)
+  @ApiModelProperty(value = "封面点击数")
+  private Long photoClick;
+  /** 素材曝光数 */
+  @Excel(name = "素材曝光数", width = 15)
+  @ApiModelProperty(value = "素材曝光数")
+  private Long aclick;
+  /** 行为数 */
+  @Excel(name = "行为数", width = 15)
+  @ApiModelProperty(value = "行为数")
+  private Long bclick;
+  /** 封面点击率 */
+  @Excel(name = "封面点击率", width = 15)
+  @ApiModelProperty(value = "封面点击率")
+  private java.math.BigDecimal photoClickRatio;
+  /** 3s播放率 */
+  @Excel(name = "3s播放率", width = 15)
+  @ApiModelProperty(value = "3s播放率")
+  private java.math.BigDecimal play3sRatio;
+  /** 行为率 */
+  @Excel(name = "行为率", width = 15)
+  @ApiModelProperty(value = "行为率")
+  private java.math.BigDecimal actionRatio;
+  /** 平均千次曝光花费(元) */
+  @Excel(name = "平均千次曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次曝光花费(元)")
+  private java.math.BigDecimal impression1kCost;
+  /** 平均点击单价(元) */
+  @Excel(name = "平均点击单价(元)", width = 15)
+  @ApiModelProperty(value = "平均点击单价(元)")
+  private java.math.BigDecimal photoClickCost;
+  /** 平均行为单价(元) */
+  @Excel(name = "平均行为单价(元)", width = 15)
+  @ApiModelProperty(value = "平均行为单价(元)")
+  private java.math.BigDecimal actionCost;
+  /** 分享数 */
+  @Excel(name = "分享数", width = 15)
+  @ApiModelProperty(value = "分享数")
+  private Long share;
+  /** 评论数 */
+  @Excel(name = "评论数", width = 15)
+  @ApiModelProperty(value = "评论数")
+  private Long comment;
+  /** 点赞数 */
+  @Excel(name = "点赞数", width = 15)
+  @ApiModelProperty(value = "点赞数")
+  private Long like;
+  /** 新增关注数 */
+  @Excel(name = "新增关注数", width = 15)
+  @ApiModelProperty(value = "新增关注数")
+  private Long follow;
+  /** 取消关注数 */
+  @Excel(name = "取消关注数", width = 15)
+  @ApiModelProperty(value = "取消关注数")
+  private Long cancelFollow;
+  /** 举报数 */
+  @Excel(name = "举报数", width = 15)
+  @ApiModelProperty(value = "举报数")
+  private Long report;
+  /** 拉黑数 */
+  @Excel(name = "拉黑数", width = 15)
+  @ApiModelProperty(value = "拉黑数")
+  private Long block;
+  /** 减少此类作品数 */
+  @Excel(name = "减少此类作品数", width = 15)
+  @ApiModelProperty(value = "减少此类作品数")
+  private Long negative;
+  /** 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段) */
+  @Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+  @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+  private Long submit;
+  /** 应用下载数据-安卓下载开始数 */
+  @Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+  private Long downloadStarted;
+  /** 应用下载数据-安卓下载完成数 */
+  @Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+  private Long downloadCompleted;
+  /** 应用下载数据-激活数 */
+  @Excel(name = "应用下载数据-激活数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-激活数")
+  private Long activation;
+  /** 应用下载数据-首日付费次数 */
+  @Excel(name = "应用下载数据-首日付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费次数")
+  private Long eventPayFirstDay;
+  /** 应用下载数据-首日付费金额 */
+  @Excel(name = "应用下载数据-首日付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+  /** 应用下载数据-首日ROI */
+  @Excel(name = "应用下载数据-首日ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日ROI")
+  private java.math.BigDecimal eventPayFirstDayRoi;
+  /** 应用下载数据-付费次数 */
+  @Excel(name = "应用下载数据-付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费次数")
+  private Long eventPay;
+  /** 应用下载数据-付费金额 */
+  @Excel(name = "应用下载数据-付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmount;
+  /** 应用下载数据-ROI */
+  @Excel(name = "应用下载数据-ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-ROI")
+  private java.math.BigDecimal eventPayRoi;
+  /** 应用下载数据-注册数 */
+  @Excel(name = "应用下载数据-注册数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册数")
+  private Long eventRegister;
+  /** 应用下载数据-注册成本 */
+  @Excel(name = "应用下载数据-注册成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册成本")
+  private java.math.BigDecimal eventRegisterCost;
+  /** 应用下载数据-注册率 */
+  @Excel(name = "应用下载数据-注册率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册率")
+  private java.math.BigDecimal eventRegisterRatio;
+  /** 应用下载数据-完件数 */
+  @Excel(name = "应用下载数据-完件数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件数")
+  private Long eventJinJianApp;
+  /** 应用下载数据-完件成本 */
+  @Excel(name = "应用下载数据-完件成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件成本")
+  private java.math.BigDecimal eventJinJianAppCost;
+  /** 应用下载数据-授信数 */
+  @Excel(name = "应用下载数据-授信数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信数")
+  private Long eventCreditGrantApp;
+  /** 应用下载数据-授信成本 */
+  @Excel(name = "应用下载数据-授信成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信成本")
+  private java.math.BigDecimal eventCreditGrantAppCost;
+  /** 应用下载数据-授信率 */
+  @Excel(name = "应用下载数据-授信率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信率")
+  private java.math.BigDecimal eventCreditGrantAppRatio;
+  /** 应用下载数据-付款成功数 */
+  @Excel(name = "应用下载数据-付款成功数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功数")
+  private Long eventOrderPaid;
+  /** 应用下载数据-付款成功金额 */
+  @Excel(name = "应用下载数据-付款成功金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功金额")
+  private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+  /** 应用下载数据-单次付款成本 */
+  @Excel(name = "应用下载数据-单次付款成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-单次付款成本")
+  private java.math.BigDecimal eventOrderPaidCost;
+  /** 应用下载数据-次留数(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+  private Long eventNextDayStay;
+  /** 应用下载数据-次留成本(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayCost;
+  /** 应用下载数据-次留率(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayRatio;
+  /** 落地页数据-表单提交数 */
+  @Excel(name = "落地页数据-表单提交数", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交数")
+  private Long formCount;
+  /** 落地页数据-表单提交单价 */
+  @Excel(name = "落地页数据-表单提交单价", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交单价")
+  private java.math.BigDecimal formCost;
+  /** 落地页数据-表单提交点击率 */
+  @Excel(name = "落地页数据-表单提交点击率", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交点击率")
+  private java.math.BigDecimal formActionRatio;
+  /** 落地页数据-落地页完件数 */
+  @Excel(name = "落地页数据-落地页完件数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件数")
+  private Long eventJinJianLandingPage;
+  /** 落地页数据-落地页完件成本 */
+  @Excel(name = "落地页数据-落地页完件成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件成本")
+  private java.math.BigDecimal eventJinJianLandingPageCost;
+  /** 落地页数据-落地页授信数 */
+  @Excel(name = "落地页数据-落地页授信数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信数")
+  private Long eventCreditGrantLandingPage;
+  /** 落地页数据-落地页授信成本 */
+  @Excel(name = "落地页数据-落地页授信成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信成本")
+  private java.math.BigDecimal eventCreditGrantLandingPageCost;
+  /** 落地页数据-落地页授信率 */
+  @Excel(name = "落地页数据-落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+  /** 落地页数据-有效线索数 */
+  @Excel(name = "落地页数据-有效线索数", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索数")
+  private Long eventValidClues;
+  /** 落地页数据-有效线索成本 */
+  @Excel(name = "落地页数据-有效线索成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索成本")
+  private java.math.BigDecimal eventValidCluesCost;
+  /** 微信复制数 */
+  @Excel(name = "微信复制数", width = 15)
+  @ApiModelProperty(value = "微信复制数")
+  private Long eventAddWechat;
+  /** 微信复制成本 */
+  @Excel(name = "微信复制成本", width = 15)
+  @ApiModelProperty(value = "微信复制成本")
+  private java.math.BigDecimal eventAddWechatCost;
+  /** 微信复制率 */
+  @Excel(name = "微信复制率", width = 15)
+  @ApiModelProperty(value = "微信复制率")
+  private java.math.BigDecimal eventAddWechatRatio;
+  /** 智能电话-确认接通数 */
+  @Excel(name = "智能电话-确认接通数", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通数")
+  private Long eventGetThrough;
+  /** 智能电话-确认接通成本 */
+  @Excel(name = "智能电话-确认接通成本", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通成本")
+  private java.math.BigDecimal eventGetThroughCost;
+  /** 智能电话-确认接通率 */
+  @Excel(name = "智能电话-确认接通率", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通率")
+  private java.math.BigDecimal eventGetThroughRatio;
+  /** 唤醒应用数 */
+  @Excel(name = "唤醒应用数", width = 15)
+  @ApiModelProperty(value = "唤醒应用数")
+  private Long eventAppInvoked;
+  /** 唤醒应用成本 */
+  @Excel(name = "唤醒应用成本", width = 15)
+  @ApiModelProperty(value = "唤醒应用成本")
+  private java.math.BigDecimal eventAppInvokedCost;
+  /** 唤醒应用率 */
+  @Excel(name = "唤醒应用率", width = 15)
+  @ApiModelProperty(value = "唤醒应用率")
+  private java.math.BigDecimal eventAppInvokedRatio;
+  /** 落地页授信率 */
+  @Excel(name = "落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingRatio;
+  /** 5s播放率 */
+  @Excel(name = "5s播放率", width = 15)
+  @ApiModelProperty(value = "5s播放率")
+  private java.math.BigDecimal play5sRatio;
+  /** 完播率 */
+  @Excel(name = "完播率", width = 15)
+  @ApiModelProperty(value = "完播率")
+  private java.math.BigDecimal playEndRatio;
+  /** 新增付费人数 */
+  @Excel(name = "新增付费人数", width = 15)
+  @ApiModelProperty(value = "新增付费人数")
+  private java.math.BigDecimal eventNewUserPay;
+  /** 新增付费人数成本 */
+  @Excel(name = "新增付费人数成本", width = 15)
+  @ApiModelProperty(value = "新增付费人数成本")
+  private java.math.BigDecimal eventNewUserPayCost;
+  /** 新增付费人数率 */
+  @Excel(name = "新增付费人数率", width = 15)
+  @ApiModelProperty(value = "新增付费人数率")
+  private java.math.BigDecimal eventNewUserPayRatio;
+  /** 平均千次素材曝光花费(元) */
+  @Excel(name = "平均千次素材曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次素材曝光花费(元)")
+  private java.math.BigDecimal click1kCost;
+  /** 商品成交数 */
+  @Excel(name = "商品成交数", width = 15)
+  @ApiModelProperty(value = "商品成交数")
+  private Long adProductCnt;
+  /** 商品访问数 */
+  @Excel(name = "商品访问数", width = 15)
+  @ApiModelProperty(value = "商品访问数")
+  private Long eventGoodsView;
+  /** 涨粉量 */
+  @Excel(name = "涨粉量", width = 15)
+  @ApiModelProperty(value = "涨粉量")
+  private Long merchantRecoFans;
+  /** 小店推广roi */
+  @Excel(name = "小店推广roi", width = 15)
+  @ApiModelProperty(value = "小店推广roi")
+  private java.math.BigDecimal eventOrderAmountRoi;
+  /** 商品访问成本 */
+  @Excel(name = "商品访问成本", width = 15)
+  @ApiModelProperty(value = "商品访问成本")
+  private java.math.BigDecimal eventGoodsViewCost;
+  /** 涨粉成本 */
+  @Excel(name = "涨粉成本", width = 15)
+  @ApiModelProperty(value = "涨粉成本")
+  private java.math.BigDecimal merchantRecoFansCost;
+  /** 按钮点击数 */
+  @Excel(name = "按钮点击数", width = 15)
+  @ApiModelProperty(value = "按钮点击数")
+  private Long eventButtonClick;
+  /** 按钮点击成本 */
+  @Excel(name = "按钮点击成本", width = 15)
+  @ApiModelProperty(value = "按钮点击成本")
+  private java.math.BigDecimal eventButtonClickCost;
+  /** 按钮点击率 */
+  @Excel(name = "按钮点击率", width = 15)
+  @ApiModelProperty(value = "按钮点击率")
+  private java.math.BigDecimal eventButtonClickRatio;
+  /** 订单支付率 */
+  @Excel(name = "订单支付率", width = 15)
+  @ApiModelProperty(value = "订单支付率")
+  private java.math.BigDecimal eventOrderPaidRoi;
+  /** 新增完件人数 */
+  @Excel(name = "新增完件人数", width = 15)
+  @ApiModelProperty(value = "新增完件人数")
+  private Long eventNewUserJinjianApp;
+  /** 新增完件成本 */
+  @Excel(name = "新增完件成本", width = 15)
+  @ApiModelProperty(value = "新增完件成本")
+  private java.math.BigDecimal eventNewUserJinjianAppCost;
+  /** 新增完件人数率 */
+  @Excel(name = "新增完件人数率", width = 15)
+  @ApiModelProperty(value = "新增完件人数率")
+  private java.math.BigDecimal eventNewUserJinjianAppRoi;
+  /** 新增授信人数 */
+  @Excel(name = "新增授信人数", width = 15)
+  @ApiModelProperty(value = "新增授信人数")
+  private Long eventNewUserCreditGrantApp;
+  /** 新增授信人数成本 */
+  @Excel(name = "新增授信人数成本", width = 15)
+  @ApiModelProperty(value = "新增授信人数成本")
+  private java.math.BigDecimal eventNewUserCreditGrantAppCost;
+  /** 新增授信人数率 */
+  @Excel(name = "新增授信人数率", width = 15)
+  @ApiModelProperty(value = "新增授信人数率")
+  private java.math.BigDecimal eventNewUserCreditGrantAppRoi;
+  /** eventNewUserJinjianPage */
+  @Excel(name = "eventNewUserJinjianPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPage")
+  private Long eventNewUserJinjianPage;
+  /** eventNewUserJinjianPageCost */
+  @Excel(name = "eventNewUserJinjianPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageCost")
+  private java.math.BigDecimal eventNewUserJinjianPageCost;
+  /** eventNewUserJinjianPageRoi */
+  @Excel(name = "eventNewUserJinjianPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageRoi")
+  private java.math.BigDecimal eventNewUserJinjianPageRoi;
+  /** eventNewUserCreditGrantPage */
+  @Excel(name = "eventNewUserCreditGrantPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPage")
+  private Long eventNewUserCreditGrantPage;
+  /** eventNewUserCreditGrantPageCost */
+  @Excel(name = "eventNewUserCreditGrantPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageCost")
+  private java.math.BigDecimal eventNewUserCreditGrantPageCost;
+  /** eventNewUserCreditGrantPageRoi */
+  @Excel(name = "eventNewUserCreditGrantPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageRoi")
+  private java.math.BigDecimal eventNewUserCreditGrantPageRoi;
+  /** 预约表单数 */
+  @Excel(name = "预约表单数", width = 15)
+  @ApiModelProperty(value = "预约表单数")
+  private Long eventAppointForm;
+  /** 预约表单点击成本 */
+  @Excel(name = "预约表单点击成本", width = 15)
+  @ApiModelProperty(value = "预约表单点击成本")
+  private java.math.BigDecimal eventAppointFormCost;
+  /** 预约表单点击率 */
+  @Excel(name = "预约表单点击率", width = 15)
+  @ApiModelProperty(value = "预约表单点击率")
+  private java.math.BigDecimal eventAppointFormRatio;
+  /** 预约跳转点击数 */
+  @Excel(name = "预约跳转点击数", width = 15)
+  @ApiModelProperty(value = "预约跳转点击数")
+  private Long eventAppointJumpClick;
+  /** 预约跳转点击成本 */
+  @Excel(name = "预约跳转点击成本", width = 15)
+  @ApiModelProperty(value = "预约跳转点击成本")
+  private java.math.BigDecimal eventAppointJumpClickCost;
+  /** 预约跳转点击率 */
+  @Excel(name = "预约跳转点击率", width = 15)
+  @ApiModelProperty(value = "预约跳转点击率")
+  private java.math.BigDecimal eventAppointJumpClickRatio;
+  /** 联盟广告收入 */
+  @Excel(name = "联盟广告收入", width = 15)
+  @ApiModelProperty(value = "联盟广告收入")
+  private Long unionEventPayPurchaseAmount7d;
+  /** 联盟变现ROI */
+  @Excel(name = "联盟变现ROI", width = 15)
+  @ApiModelProperty(value = "联盟变现ROI")
+  private java.math.BigDecimal unionEventPayPurchaseAmount7dRoi;
+  /** placementType */
+  @Excel(name = "placementType", width = 15)
+  @ApiModelProperty(value = "placementType")
+  private String placementType;
+  /** adscene */
+  @Excel(name = "adscene", width = 15)
+  @ApiModelProperty(value = "adscene")
+  private String adscene;
+  /** eventOrderSuccessed */
+  @Excel(name = "eventOrderSuccessed", width = 15)
+  @ApiModelProperty(value = "eventOrderSuccessed")
+  private Long eventOrderSuccessed;
+  /** adPhotoPlayed10sRatio */
+  @Excel(name = "adPhotoPlayed10sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed10sRatio")
+  private java.math.BigDecimal adPhotoPlayed10sRatio;
+  /** keyActionCost */
+  @Excel(name = "keyActionCost", width = 15)
+  @ApiModelProperty(value = "keyActionCost")
+  private java.math.BigDecimal keyActionCost;
+  /** 添加购物车成本 */
+  @Excel(name = "添加购物车成本", width = 15)
+  @ApiModelProperty(value = "添加购物车成本")
+  private java.math.BigDecimal eventAddShoppingCartCost;
+  /** 广告观看次数转化率 */
+  @Excel(name = "广告观看次数转化率", width = 15)
+  @ApiModelProperty(value = "广告观看次数转化率")
+  private java.math.BigDecimal eventAdWatchTimesRatio;
+  /** eventOutboundCallCost */
+  @Excel(name = "eventOutboundCallCost", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallCost")
+  private java.math.BigDecimal eventOutboundCallCost;
+  /** eventOutboundCall */
+  @Excel(name = "eventOutboundCall", width = 15)
+  @ApiModelProperty(value = "eventOutboundCall")
+  private Long eventOutboundCall;
+  /** actionNewRatio */
+  @Excel(name = "actionNewRatio", width = 15)
+  @ApiModelProperty(value = "actionNewRatio")
+  private java.math.BigDecimal actionNewRatio;
+  /** 广告观看 */
+  @Excel(name = "广告观看", width = 15)
+  @ApiModelProperty(value = "广告观看")
+  private Long eventWatchAppAd;
+  /** 落地页多转化成本 */
+  @Excel(name = "落地页多转化成本", width = 15)
+  @ApiModelProperty(value = "落地页多转化成本")
+  private java.math.BigDecimal eventMultiConversionCost;
+  /** eventPhoneCardActivate */
+  @Excel(name = "eventPhoneCardActivate", width = 15)
+  @ApiModelProperty(value = "eventPhoneCardActivate")
+  private Long eventPhoneCardActivate;
+  /** adPhotoPlayed75percentRatio */
+  @Excel(name = "adPhotoPlayed75percentRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed75percentRatio")
+  private java.math.BigDecimal adPhotoPlayed75percentRatio;
+  /** keyActionRatio */
+  @Excel(name = "keyActionRatio", width = 15)
+  @ApiModelProperty(value = "keyActionRatio")
+  private java.math.BigDecimal keyActionRatio;
+  /** 广告观看次数成本 */
+  @Excel(name = "广告观看次数成本", width = 15)
+  @ApiModelProperty(value = "广告观看次数成本")
+  private java.math.BigDecimal eventAdWatchTimesCost;
+  /** 添加购物车数 */
+  @Excel(name = "添加购物车数", width = 15)
+  @ApiModelProperty(value = "添加购物车数")
+  private Long eventAddShoppingCart;
+  /** keyAction */
+  @Excel(name = "keyAction", width = 15)
+  @ApiModelProperty(value = "keyAction")
+  private Long keyAction;
+  /** 落地页多转化次数 */
+  @Excel(name = "落地页多转化次数", width = 15)
+  @ApiModelProperty(value = "落地页多转化次数")
+  private Long eventMultiConversion;
+  /** eventWechatConnected */
+  @Excel(name = "eventWechatConnected", width = 15)
+  @ApiModelProperty(value = "eventWechatConnected")
+  private Long eventWechatConnected;
+  /** 附加组件表单提交 */
+  @Excel(name = "附加组件表单提交", width = 15)
+  @ApiModelProperty(value = "附加组件表单提交")
+  private Long eventDspGiftForm;
+  /** eventIntentionConfirmed */
+  @Excel(name = "eventIntentionConfirmed", width = 15)
+  @ApiModelProperty(value = "eventIntentionConfirmed")
+  private Long eventIntentionConfirmed;
+  /** eventPhoneGetThrough */
+  @Excel(name = "eventPhoneGetThrough", width = 15)
+  @ApiModelProperty(value = "eventPhoneGetThrough")
+  private Long eventPhoneGetThrough;
+  /** 落地页多转化率 */
+  @Excel(name = "落地页多转化率", width = 15)
+  @ApiModelProperty(value = "落地页多转化率")
+  private java.math.BigDecimal eventMultiConversionRatio;
+  /** eventMeasurementHouse */
+  @Excel(name = "eventMeasurementHouse", width = 15)
+  @ApiModelProperty(value = "eventMeasurementHouse")
+  private java.math.BigDecimal eventMeasurementHouse;
+  /** adPhotoPlayed2sRatio */
+  @Excel(name = "adPhotoPlayed2sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed2sRatio")
+  private java.math.BigDecimal adPhotoPlayed2sRatio;
+  /** eventOutboundCallRatio */
+  @Excel(name = "eventOutboundCallRatio", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallRatio")
+  private java.math.BigDecimal eventOutboundCallRatio;
+  /** 广告观看次数 */
+  @Excel(name = " 广告观看次数", width = 15)
+  @ApiModelProperty(value = " 广告观看次数")
+  private Long eventAdWatchTimes;
+}

+ 561 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouMaterialVideoReportDaily.java

@@ -0,0 +1,561 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 素材-日报
+ *
+ * @author jeecg-boot
+ * @date 2021-09-09
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_material_video_report_daily")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "kuaishou_material_video_report_daily对象", description = "素材-日报")
+public class KuaishouMaterialVideoReportDaily {
+
+  /** 广告主id */
+  @Excel(name = "广告主id", width = 15)
+  @ApiModelProperty(value = "广告主id")
+  private Long advertiserId;
+  /** 视频封面 */
+  @Excel(name = "视频封面", width = 15)
+  @ApiModelProperty(value = "视频封面")
+  private String photoUrl;
+  /** 视频id */
+  @Excel(name = "视频id", width = 15)
+  @ApiModelProperty(value = "视频id")
+  private String photoId;
+  /** 封面图片 */
+  @Excel(name = "封面图片", width = 15)
+  @ApiModelProperty(value = "封面图片")
+  private String coverUrl;
+  /** 封面token */
+  @Excel(name = "封面token", width = 15)
+  @ApiModelProperty(value = "封面token")
+  private String imageToken;
+  /** photoCaption */
+  @Excel(name = "photoCaption", width = 15)
+  @ApiModelProperty(value = "photoCaption")
+  private String photoCaption;
+  /** 数据日期,格式:YYYYMMDD */
+  @Excel(name = "数据日期,格式:YYYYMMDD", width = 15)
+  @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+  private Integer statDate;
+  /** 花费(元) */
+  @Excel(name = "花费(元)", width = 15)
+  @ApiModelProperty(value = "花费(元)")
+  private java.math.BigDecimal charge;
+  /** 封面曝光数 */
+  @Excel(name = "封面曝光数", width = 15)
+  @ApiModelProperty(value = "封面曝光数")
+  private Long show;
+  /** 封面点击数 */
+  @Excel(name = "封面点击数", width = 15)
+  @ApiModelProperty(value = "封面点击数")
+  private Long photoClick;
+  /** 素材曝光数 */
+  @Excel(name = "素材曝光数", width = 15)
+  @ApiModelProperty(value = "素材曝光数")
+  private Long aclick;
+  /** 行为数 */
+  @Excel(name = "行为数", width = 15)
+  @ApiModelProperty(value = "行为数")
+  private Long bclick;
+  /** 封面点击率 */
+  @Excel(name = "封面点击率", width = 15)
+  @ApiModelProperty(value = "封面点击率")
+  private java.math.BigDecimal photoClickRatio;
+  /** 3s播放率 */
+  @Excel(name = "3s播放率", width = 15)
+  @ApiModelProperty(value = "3s播放率")
+  private java.math.BigDecimal play3sRatio;
+  /** 行为率 */
+  @Excel(name = "行为率", width = 15)
+  @ApiModelProperty(value = "行为率")
+  private java.math.BigDecimal actionRatio;
+  /** 平均千次曝光花费(元) */
+  @Excel(name = "平均千次曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次曝光花费(元)")
+  private java.math.BigDecimal impression1kCost;
+  /** 平均点击单价(元) */
+  @Excel(name = "平均点击单价(元)", width = 15)
+  @ApiModelProperty(value = "平均点击单价(元)")
+  private java.math.BigDecimal photoClickCost;
+  /** 平均行为单价(元) */
+  @Excel(name = "平均行为单价(元)", width = 15)
+  @ApiModelProperty(value = "平均行为单价(元)")
+  private java.math.BigDecimal actionCost;
+  /** 分享数 */
+  @Excel(name = "分享数", width = 15)
+  @ApiModelProperty(value = "分享数")
+  private Long share;
+  /** 评论数 */
+  @Excel(name = "评论数", width = 15)
+  @ApiModelProperty(value = "评论数")
+  private Long comment;
+  /** 点赞数 */
+  @Excel(name = "点赞数", width = 15)
+  @ApiModelProperty(value = "点赞数")
+  private Long like;
+  /** 新增关注数 */
+  @Excel(name = "新增关注数", width = 15)
+  @ApiModelProperty(value = "新增关注数")
+  private Long follow;
+  /** 取消关注数 */
+  @Excel(name = "取消关注数", width = 15)
+  @ApiModelProperty(value = "取消关注数")
+  private Long cancelFollow;
+  /** 举报数 */
+  @Excel(name = "举报数", width = 15)
+  @ApiModelProperty(value = "举报数")
+  private Long report;
+  /** 拉黑数 */
+  @Excel(name = "拉黑数", width = 15)
+  @ApiModelProperty(value = "拉黑数")
+  private Long block;
+  /** 减少此类作品数 */
+  @Excel(name = "减少此类作品数", width = 15)
+  @ApiModelProperty(value = "减少此类作品数")
+  private Long negative;
+  /** 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段) */
+  @Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+  @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+  private Long submit;
+  /** 应用下载数据-安卓下载开始数 */
+  @Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+  private Long downloadStarted;
+  /** 应用下载数据-安卓下载完成数 */
+  @Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+  private Long downloadCompleted;
+  /** 应用下载数据-激活数 */
+  @Excel(name = "应用下载数据-激活数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-激活数")
+  private Long activation;
+  /** 应用下载数据-首日付费次数 */
+  @Excel(name = "应用下载数据-首日付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费次数")
+  private Long eventPayFirstDay;
+  /** 应用下载数据-首日付费金额 */
+  @Excel(name = "应用下载数据-首日付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+  /** 应用下载数据-首日ROI */
+  @Excel(name = "应用下载数据-首日ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日ROI")
+  private java.math.BigDecimal eventPayFirstDayRoi;
+  /** 应用下载数据-付费次数 */
+  @Excel(name = "应用下载数据-付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费次数")
+  private Long eventPay;
+  /** 应用下载数据-付费金额 */
+  @Excel(name = "应用下载数据-付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmount;
+  /** 应用下载数据-ROI */
+  @Excel(name = "应用下载数据-ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-ROI")
+  private java.math.BigDecimal eventPayRoi;
+  /** 应用下载数据-注册数 */
+  @Excel(name = "应用下载数据-注册数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册数")
+  private Long eventRegister;
+  /** 应用下载数据-注册成本 */
+  @Excel(name = "应用下载数据-注册成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册成本")
+  private java.math.BigDecimal eventRegisterCost;
+  /** 应用下载数据-注册率 */
+  @Excel(name = "应用下载数据-注册率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册率")
+  private java.math.BigDecimal eventRegisterRatio;
+  /** 应用下载数据-完件数 */
+  @Excel(name = "应用下载数据-完件数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件数")
+  private Long eventJinJianApp;
+  /** 应用下载数据-完件成本 */
+  @Excel(name = "应用下载数据-完件成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件成本")
+  private java.math.BigDecimal eventJinJianAppCost;
+  /** 应用下载数据-授信数 */
+  @Excel(name = "应用下载数据-授信数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信数")
+  private Long eventCreditGrantApp;
+  /** 应用下载数据-授信成本 */
+  @Excel(name = "应用下载数据-授信成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信成本")
+  private java.math.BigDecimal eventCreditGrantAppCost;
+  /** 应用下载数据-授信率 */
+  @Excel(name = "应用下载数据-授信率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信率")
+  private java.math.BigDecimal eventCreditGrantAppRatio;
+  /** 应用下载数据-付款成功数 */
+  @Excel(name = "应用下载数据-付款成功数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功数")
+  private Long eventOrderPaid;
+  /** 应用下载数据-付款成功金额 */
+  @Excel(name = "应用下载数据-付款成功金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功金额")
+  private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+  /** 应用下载数据-单次付款成本 */
+  @Excel(name = "应用下载数据-单次付款成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-单次付款成本")
+  private java.math.BigDecimal eventOrderPaidCost;
+  /** 应用下载数据-次留数(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+  private Long eventNextDayStay;
+  /** 应用下载数据-次留成本(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayCost;
+  /** 应用下载数据-次留率(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayRatio;
+  /** 落地页数据-表单提交数 */
+  @Excel(name = "落地页数据-表单提交数", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交数")
+  private Long formCount;
+  /** 落地页数据-表单提交单价 */
+  @Excel(name = "落地页数据-表单提交单价", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交单价")
+  private java.math.BigDecimal formCost;
+  /** 落地页数据-表单提交点击率 */
+  @Excel(name = "落地页数据-表单提交点击率", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交点击率")
+  private java.math.BigDecimal formActionRatio;
+  /** 落地页数据-落地页完件数 */
+  @Excel(name = "落地页数据-落地页完件数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件数")
+  private Long eventJinJianLandingPage;
+  /** 落地页数据-落地页完件成本 */
+  @Excel(name = "落地页数据-落地页完件成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件成本")
+  private java.math.BigDecimal eventJinJianLandingPageCost;
+  /** 落地页数据-落地页授信数 */
+  @Excel(name = "落地页数据-落地页授信数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信数")
+  private Long eventCreditGrantLandingPage;
+  /** 落地页数据-落地页授信成本 */
+  @Excel(name = "落地页数据-落地页授信成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信成本")
+  private java.math.BigDecimal eventCreditGrantLandingPageCost;
+  /** 落地页数据-落地页授信率 */
+  @Excel(name = "落地页数据-落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+  /** 落地页数据-有效线索数 */
+  @Excel(name = "落地页数据-有效线索数", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索数")
+  private Long eventValidClues;
+  /** 落地页数据-有效线索成本 */
+  @Excel(name = "落地页数据-有效线索成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索成本")
+  private java.math.BigDecimal eventValidCluesCost;
+  /** 微信复制数 */
+  @Excel(name = "微信复制数", width = 15)
+  @ApiModelProperty(value = "微信复制数")
+  private Long eventAddWechat;
+  /** 微信复制成本 */
+  @Excel(name = "微信复制成本", width = 15)
+  @ApiModelProperty(value = "微信复制成本")
+  private java.math.BigDecimal eventAddWechatCost;
+  /** 微信复制率 */
+  @Excel(name = "微信复制率", width = 15)
+  @ApiModelProperty(value = "微信复制率")
+  private java.math.BigDecimal eventAddWechatRatio;
+  /** 智能电话-确认接通数 */
+  @Excel(name = "智能电话-确认接通数", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通数")
+  private Long eventGetThrough;
+  /** 智能电话-确认接通成本 */
+  @Excel(name = "智能电话-确认接通成本", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通成本")
+  private java.math.BigDecimal eventGetThroughCost;
+  /** 智能电话-确认接通率 */
+  @Excel(name = "智能电话-确认接通率", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通率")
+  private java.math.BigDecimal eventGetThroughRatio;
+  /** 唤醒应用数 */
+  @Excel(name = "唤醒应用数", width = 15)
+  @ApiModelProperty(value = "唤醒应用数")
+  private Long eventAppInvoked;
+  /** 唤醒应用成本 */
+  @Excel(name = "唤醒应用成本", width = 15)
+  @ApiModelProperty(value = "唤醒应用成本")
+  private java.math.BigDecimal eventAppInvokedCost;
+  /** 唤醒应用率 */
+  @Excel(name = "唤醒应用率", width = 15)
+  @ApiModelProperty(value = "唤醒应用率")
+  private java.math.BigDecimal eventAppInvokedRatio;
+  /** 落地页授信率 */
+  @Excel(name = "落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingRatio;
+  /** 5s播放率 */
+  @Excel(name = "5s播放率", width = 15)
+  @ApiModelProperty(value = "5s播放率")
+  private java.math.BigDecimal play5sRatio;
+  /** 完播率 */
+  @Excel(name = "完播率", width = 15)
+  @ApiModelProperty(value = "完播率")
+  private java.math.BigDecimal playEndRatio;
+  /** 新增付费人数 */
+  @Excel(name = "新增付费人数", width = 15)
+  @ApiModelProperty(value = "新增付费人数")
+  private java.math.BigDecimal eventNewUserPay;
+  /** 新增付费人数成本 */
+  @Excel(name = "新增付费人数成本", width = 15)
+  @ApiModelProperty(value = "新增付费人数成本")
+  private java.math.BigDecimal eventNewUserPayCost;
+  /** 新增付费人数率 */
+  @Excel(name = "新增付费人数率", width = 15)
+  @ApiModelProperty(value = "新增付费人数率")
+  private java.math.BigDecimal eventNewUserPayRatio;
+  /** 平均千次素材曝光花费(元) */
+  @Excel(name = "平均千次素材曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次素材曝光花费(元)")
+  private java.math.BigDecimal click1kCost;
+  /** 商品成交数 */
+  @Excel(name = "商品成交数", width = 15)
+  @ApiModelProperty(value = "商品成交数")
+  private Long adProductCnt;
+  /** 商品访问数 */
+  @Excel(name = "商品访问数", width = 15)
+  @ApiModelProperty(value = "商品访问数")
+  private Long eventGoodsView;
+  /** 涨粉量 */
+  @Excel(name = "涨粉量", width = 15)
+  @ApiModelProperty(value = "涨粉量")
+  private Long merchantRecoFans;
+  /** 小店推广roi */
+  @Excel(name = "小店推广roi", width = 15)
+  @ApiModelProperty(value = "小店推广roi")
+  private java.math.BigDecimal eventOrderAmountRoi;
+  /** 商品访问成本 */
+  @Excel(name = "商品访问成本", width = 15)
+  @ApiModelProperty(value = "商品访问成本")
+  private java.math.BigDecimal eventGoodsViewCost;
+  /** 涨粉成本 */
+  @Excel(name = "涨粉成本", width = 15)
+  @ApiModelProperty(value = "涨粉成本")
+  private java.math.BigDecimal merchantRecoFansCost;
+  /** 按钮点击数 */
+  @Excel(name = "按钮点击数", width = 15)
+  @ApiModelProperty(value = "按钮点击数")
+  private Long eventButtonClick;
+  /** 按钮点击成本 */
+  @Excel(name = "按钮点击成本", width = 15)
+  @ApiModelProperty(value = "按钮点击成本")
+  private java.math.BigDecimal eventButtonClickCost;
+  /** 按钮点击率 */
+  @Excel(name = "按钮点击率", width = 15)
+  @ApiModelProperty(value = "按钮点击率")
+  private java.math.BigDecimal eventButtonClickRatio;
+  /** 订单支付率 */
+  @Excel(name = "订单支付率", width = 15)
+  @ApiModelProperty(value = "订单支付率")
+  private java.math.BigDecimal eventOrderPaidRoi;
+  /** 新增完件人数 */
+  @Excel(name = "新增完件人数", width = 15)
+  @ApiModelProperty(value = "新增完件人数")
+  private Long eventNewUserJinjianApp;
+  /** 新增完件成本 */
+  @Excel(name = "新增完件成本", width = 15)
+  @ApiModelProperty(value = "新增完件成本")
+  private java.math.BigDecimal eventNewUserJinjianAppCost;
+  /** 新增完件人数率 */
+  @Excel(name = "新增完件人数率", width = 15)
+  @ApiModelProperty(value = "新增完件人数率")
+  private java.math.BigDecimal eventNewUserJinjianAppRoi;
+  /** 新增授信人数 */
+  @Excel(name = "新增授信人数", width = 15)
+  @ApiModelProperty(value = "新增授信人数")
+  private Long eventNewUserCreditGrantApp;
+  /** 新增授信人数成本 */
+  @Excel(name = "新增授信人数成本", width = 15)
+  @ApiModelProperty(value = "新增授信人数成本")
+  private java.math.BigDecimal eventNewUserCreditGrantAppCost;
+  /** 新增授信人数率 */
+  @Excel(name = "新增授信人数率", width = 15)
+  @ApiModelProperty(value = "新增授信人数率")
+  private java.math.BigDecimal eventNewUserCreditGrantAppRoi;
+  /** eventNewUserJinjianPage */
+  @Excel(name = "eventNewUserJinjianPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPage")
+  private Long eventNewUserJinjianPage;
+  /** eventNewUserJinjianPageCost */
+  @Excel(name = "eventNewUserJinjianPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageCost")
+  private java.math.BigDecimal eventNewUserJinjianPageCost;
+  /** eventNewUserJinjianPageRoi */
+  @Excel(name = "eventNewUserJinjianPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageRoi")
+  private java.math.BigDecimal eventNewUserJinjianPageRoi;
+  /** eventNewUserCreditGrantPage */
+  @Excel(name = "eventNewUserCreditGrantPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPage")
+  private Long eventNewUserCreditGrantPage;
+  /** eventNewUserCreditGrantPageCost */
+  @Excel(name = "eventNewUserCreditGrantPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageCost")
+  private java.math.BigDecimal eventNewUserCreditGrantPageCost;
+  /** eventNewUserCreditGrantPageRoi */
+  @Excel(name = "eventNewUserCreditGrantPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageRoi")
+  private java.math.BigDecimal eventNewUserCreditGrantPageRoi;
+  /** 预约表单数 */
+  @Excel(name = "预约表单数", width = 15)
+  @ApiModelProperty(value = "预约表单数")
+  private Long eventAppointForm;
+  /** 预约表单点击成本 */
+  @Excel(name = "预约表单点击成本", width = 15)
+  @ApiModelProperty(value = "预约表单点击成本")
+  private java.math.BigDecimal eventAppointFormCost;
+  /** 预约表单点击率 */
+  @Excel(name = "预约表单点击率", width = 15)
+  @ApiModelProperty(value = "预约表单点击率")
+  private java.math.BigDecimal eventAppointFormRatio;
+  /** 预约跳转点击数 */
+  @Excel(name = "预约跳转点击数", width = 15)
+  @ApiModelProperty(value = "预约跳转点击数")
+  private Long eventAppointJumpClick;
+  /** 预约跳转点击成本 */
+  @Excel(name = "预约跳转点击成本", width = 15)
+  @ApiModelProperty(value = "预约跳转点击成本")
+  private java.math.BigDecimal eventAppointJumpClickCost;
+  /** 预约跳转点击率 */
+  @Excel(name = "预约跳转点击率", width = 15)
+  @ApiModelProperty(value = "预约跳转点击率")
+  private java.math.BigDecimal eventAppointJumpClickRatio;
+  /** 联盟广告收入 */
+  @Excel(name = "联盟广告收入", width = 15)
+  @ApiModelProperty(value = "联盟广告收入")
+  private Long unionEventPayPurchaseAmount7d;
+  /** 联盟变现ROI */
+  @Excel(name = "联盟变现ROI", width = 15)
+  @ApiModelProperty(value = "联盟变现ROI")
+  private java.math.BigDecimal unionEventPayPurchaseAmount7dRoi;
+  /** placementType */
+  @Excel(name = "placementType", width = 15)
+  @ApiModelProperty(value = "placementType")
+  private String placementType;
+  /** adScene */
+  @Excel(name = "adScene", width = 15)
+  @ApiModelProperty(value = "adScene")
+  private String adScene;
+  /** eventOrderSuccessed */
+  @Excel(name = "eventOrderSuccessed", width = 15)
+  @ApiModelProperty(value = "eventOrderSuccessed")
+  private Long eventOrderSuccessed;
+  /** adPhotoPlayed10sRatio */
+  @Excel(name = "adPhotoPlayed10sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed10sRatio")
+  private java.math.BigDecimal adPhotoPlayed10sRatio;
+  /** keyActionCost */
+  @Excel(name = "keyActionCost", width = 15)
+  @ApiModelProperty(value = "keyActionCost")
+  private java.math.BigDecimal keyActionCost;
+  /** 添加购物车成本 */
+  @Excel(name = "添加购物车成本", width = 15)
+  @ApiModelProperty(value = "添加购物车成本")
+  private java.math.BigDecimal eventAddShoppingCartCost;
+  /** 广告观看次数转化率 */
+  @Excel(name = "广告观看次数转化率", width = 15)
+  @ApiModelProperty(value = "广告观看次数转化率")
+  private java.math.BigDecimal eventAdWatchTimesRatio;
+  /** eventOutboundCallCost */
+  @Excel(name = "eventOutboundCallCost", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallCost")
+  private java.math.BigDecimal eventOutboundCallCost;
+  /** eventOutboundCall */
+  @Excel(name = "eventOutboundCall", width = 15)
+  @ApiModelProperty(value = "eventOutboundCall")
+  private Long eventOutboundCall;
+  /** actionNewRatio */
+  @Excel(name = "actionNewRatio", width = 15)
+  @ApiModelProperty(value = "actionNewRatio")
+  private java.math.BigDecimal actionNewRatio;
+  /** 广告观看 */
+  @Excel(name = "广告观看", width = 15)
+  @ApiModelProperty(value = "广告观看")
+  private Long eventWatchAppAd;
+  /** 落地页多转化成本 */
+  @Excel(name = "落地页多转化成本", width = 15)
+  @ApiModelProperty(value = "落地页多转化成本")
+  private java.math.BigDecimal eventMultiConversionCost;
+  /** eventPhoneCardActivate */
+  @Excel(name = "eventPhoneCardActivate", width = 15)
+  @ApiModelProperty(value = "eventPhoneCardActivate")
+  private Long eventPhoneCardActivate;
+  /** adPhotoPlayed75percentRatio */
+  @Excel(name = "adPhotoPlayed75percentRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed75percentRatio")
+  private java.math.BigDecimal adPhotoPlayed75percentRatio;
+  /** keyActionRatio */
+  @Excel(name = "keyActionRatio", width = 15)
+  @ApiModelProperty(value = "keyActionRatio")
+  private java.math.BigDecimal keyActionRatio;
+  /** 广告观看次数成本 */
+  @Excel(name = "广告观看次数成本", width = 15)
+  @ApiModelProperty(value = "广告观看次数成本")
+  private java.math.BigDecimal eventAdWatchTimesCost;
+  /** 添加购物车数 */
+  @Excel(name = "添加购物车数", width = 15)
+  @ApiModelProperty(value = "添加购物车数")
+  private Long eventAddShoppingCart;
+  /** keyAction */
+  @Excel(name = "keyAction", width = 15)
+  @ApiModelProperty(value = "keyAction")
+  private Long keyAction;
+  /** 落地页多转化次数 */
+  @Excel(name = "落地页多转化次数", width = 15)
+  @ApiModelProperty(value = "落地页多转化次数")
+  private Long eventMultiConversion;
+  /** eventWechatConnected */
+  @Excel(name = "eventWechatConnected", width = 15)
+  @ApiModelProperty(value = "eventWechatConnected")
+  private Long eventWechatConnected;
+  /** 附加组件表单提交 */
+  @Excel(name = "附加组件表单提交", width = 15)
+  @ApiModelProperty(value = "附加组件表单提交")
+  private Long eventDspGiftForm;
+  /** eventIntentionConfirmed */
+  @Excel(name = "eventIntentionConfirmed", width = 15)
+  @ApiModelProperty(value = "eventIntentionConfirmed")
+  private Long eventIntentionConfirmed;
+  /** eventPhoneGetThrough */
+  @Excel(name = "eventPhoneGetThrough", width = 15)
+  @ApiModelProperty(value = "eventPhoneGetThrough")
+  private Long eventPhoneGetThrough;
+  /** 落地页多转化率 */
+  @Excel(name = "落地页多转化率", width = 15)
+  @ApiModelProperty(value = "落地页多转化率")
+  private java.math.BigDecimal eventMultiConversionRatio;
+  /** eventMeasurementHouse */
+  @Excel(name = "eventMeasurementHouse", width = 15)
+  @ApiModelProperty(value = "eventMeasurementHouse")
+  private java.math.BigDecimal eventMeasurementHouse;
+  /** adPhotoPlayed2sRatio */
+  @Excel(name = "adPhotoPlayed2sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed2sRatio")
+  private java.math.BigDecimal adPhotoPlayed2sRatio;
+  /** eventOutboundCallRatio */
+  @Excel(name = "eventOutboundCallRatio", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallRatio")
+  private java.math.BigDecimal eventOutboundCallRatio;
+  /** 广告观看次数 */
+  @Excel(name = " 广告观看次数", width = 15)
+  @ApiModelProperty(value = " 广告观看次数")
+  private Long eventAdWatchTimes;
+}

+ 571 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouMaterialVideoReportHourly.java

@@ -0,0 +1,571 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 素材-时报
+ * @author jeecg-boot
+ * @date   2021-09-09
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_material_video_report_hourly")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="kuaishou_material_video_report_hourly对象", description="素材-时报")
+public class KuaishouMaterialVideoReportHourly {
+    
+	/**广告主id*/
+	@Excel(name = "广告主id", width = 15)
+    @ApiModelProperty(value = "广告主id")
+	private Long advertiserId;
+	/**视频封面*/
+	@Excel(name = "视频封面", width = 15)
+    @ApiModelProperty(value = "视频封面")
+	private String photoUrl;
+	/**视频id*/
+	@Excel(name = "视频id", width = 15)
+    @ApiModelProperty(value = "视频id")
+	private String photoId;
+	/**封面图片*/
+	@Excel(name = "封面图片", width = 15)
+    @ApiModelProperty(value = "封面图片")
+	private String coverUrl;
+	/**封面token*/
+	@Excel(name = "封面token", width = 15)
+    @ApiModelProperty(value = "封面token")
+	private String imageToken;
+	/**photoCaption*/
+	@Excel(name = "photoCaption", width = 15)
+    @ApiModelProperty(value = "photoCaption")
+	private String photoCaption;
+	/**数据日期,格式:YYYYMMDD*/
+	@Excel(name = "数据日期,格式:YYYYMMDD", width = 15)
+    @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+	private Integer statDate;
+	/**小时*/
+	@Excel(name = "小时", width = 15)
+    @ApiModelProperty(value = "小时")
+	private Integer hour;
+	/**花费(元)*/
+	@Excel(name = "花费(元)", width = 15)
+    @ApiModelProperty(value = "花费(元)")
+	private java.math.BigDecimal charge;
+	/**封面曝光数*/
+	@Excel(name = "封面曝光数", width = 15)
+    @ApiModelProperty(value = "封面曝光数")
+	private Long show;
+	/**封面点击数*/
+	@Excel(name = "封面点击数", width = 15)
+    @ApiModelProperty(value = "封面点击数")
+	private Long photoClick;
+	/**素材曝光数*/
+	@Excel(name = "素材曝光数", width = 15)
+    @ApiModelProperty(value = "素材曝光数")
+	private Long aclick;
+	/**行为数*/
+	@Excel(name = "行为数", width = 15)
+    @ApiModelProperty(value = "行为数")
+	private Long bclick;
+	/**封面点击率*/
+	@Excel(name = "封面点击率", width = 15)
+    @ApiModelProperty(value = "封面点击率")
+	private java.math.BigDecimal photoClickRatio;
+	/**3s播放率*/
+	@Excel(name = "3s播放率", width = 15)
+    @ApiModelProperty(value = "3s播放率")
+	private java.math.BigDecimal play3sRatio;
+	/**行为率*/
+	@Excel(name = "行为率", width = 15)
+    @ApiModelProperty(value = "行为率")
+	private java.math.BigDecimal actionRatio;
+	/**平均千次曝光花费(元)*/
+	@Excel(name = "平均千次曝光花费(元)", width = 15)
+    @ApiModelProperty(value = "平均千次曝光花费(元)")
+	private java.math.BigDecimal impression1kCost;
+	/**平均点击单价(元)*/
+	@Excel(name = "平均点击单价(元)", width = 15)
+    @ApiModelProperty(value = "平均点击单价(元)")
+	private java.math.BigDecimal photoClickCost;
+	/**平均行为单价(元)*/
+	@Excel(name = "平均行为单价(元)", width = 15)
+    @ApiModelProperty(value = "平均行为单价(元)")
+	private java.math.BigDecimal actionCost;
+	/**分享数*/
+	@Excel(name = "分享数", width = 15)
+    @ApiModelProperty(value = "分享数")
+	private Long share;
+	/**评论数*/
+	@Excel(name = "评论数", width = 15)
+    @ApiModelProperty(value = "评论数")
+	private Long comment;
+	/**点赞数*/
+	@Excel(name = "点赞数", width = 15)
+    @ApiModelProperty(value = "点赞数")
+	private Long like;
+	/**新增关注数*/
+	@Excel(name = "新增关注数", width = 15)
+    @ApiModelProperty(value = "新增关注数")
+	private Long follow;
+	/**取消关注数*/
+	@Excel(name = "取消关注数", width = 15)
+    @ApiModelProperty(value = "取消关注数")
+	private Long cancelFollow;
+	/**举报数*/
+	@Excel(name = "举报数", width = 15)
+    @ApiModelProperty(value = "举报数")
+	private Long report;
+	/**拉黑数*/
+	@Excel(name = "拉黑数", width = 15)
+    @ApiModelProperty(value = "拉黑数")
+	private Long block;
+	/**减少此类作品数*/
+	@Excel(name = "减少此类作品数", width = 15)
+    @ApiModelProperty(value = "减少此类作品数")
+	private Long negative;
+	/**提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)*/
+	@Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+    @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+	private Long submit;
+	/**应用下载数据-安卓下载开始数*/
+	@Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+    @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+	private Long downloadStarted;
+	/**应用下载数据-安卓下载完成数*/
+	@Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+    @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+	private Long downloadCompleted;
+	/**应用下载数据-激活数*/
+	@Excel(name = "应用下载数据-激活数", width = 15)
+    @ApiModelProperty(value = "应用下载数据-激活数")
+	private Long activation;
+	/**应用下载数据-首日付费次数*/
+	@Excel(name = "应用下载数据-首日付费次数", width = 15)
+    @ApiModelProperty(value = "应用下载数据-首日付费次数")
+	private Long eventPayFirstDay;
+	/**应用下载数据-首日付费金额*/
+	@Excel(name = "应用下载数据-首日付费金额", width = 15)
+    @ApiModelProperty(value = "应用下载数据-首日付费金额")
+	private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+	/**应用下载数据-首日ROI*/
+	@Excel(name = "应用下载数据-首日ROI", width = 15)
+    @ApiModelProperty(value = "应用下载数据-首日ROI")
+	private java.math.BigDecimal eventPayFirstDayRoi;
+	/**应用下载数据-付费次数*/
+	@Excel(name = "应用下载数据-付费次数", width = 15)
+    @ApiModelProperty(value = "应用下载数据-付费次数")
+	private Long eventPay;
+	/**应用下载数据-付费金额*/
+	@Excel(name = "应用下载数据-付费金额", width = 15)
+    @ApiModelProperty(value = "应用下载数据-付费金额")
+	private java.math.BigDecimal eventPayPurchaseAmount;
+	/**应用下载数据-ROI*/
+	@Excel(name = "应用下载数据-ROI", width = 15)
+    @ApiModelProperty(value = "应用下载数据-ROI")
+	private java.math.BigDecimal eventPayRoi;
+	/**应用下载数据-注册数*/
+	@Excel(name = "应用下载数据-注册数", width = 15)
+    @ApiModelProperty(value = "应用下载数据-注册数")
+	private Long eventRegister;
+	/**应用下载数据-注册成本*/
+	@Excel(name = "应用下载数据-注册成本", width = 15)
+    @ApiModelProperty(value = "应用下载数据-注册成本")
+	private java.math.BigDecimal eventRegisterCost;
+	/**应用下载数据-注册率*/
+	@Excel(name = "应用下载数据-注册率", width = 15)
+    @ApiModelProperty(value = "应用下载数据-注册率")
+	private java.math.BigDecimal eventRegisterRatio;
+	/**应用下载数据-完件数*/
+	@Excel(name = "应用下载数据-完件数", width = 15)
+    @ApiModelProperty(value = "应用下载数据-完件数")
+	private Long eventJinJianApp;
+	/**应用下载数据-完件成本*/
+	@Excel(name = "应用下载数据-完件成本", width = 15)
+    @ApiModelProperty(value = "应用下载数据-完件成本")
+	private java.math.BigDecimal eventJinJianAppCost;
+	/**应用下载数据-授信数*/
+	@Excel(name = "应用下载数据-授信数", width = 15)
+    @ApiModelProperty(value = "应用下载数据-授信数")
+	private Long eventCreditGrantApp;
+	/**应用下载数据-授信成本*/
+	@Excel(name = "应用下载数据-授信成本", width = 15)
+    @ApiModelProperty(value = "应用下载数据-授信成本")
+	private java.math.BigDecimal eventCreditGrantAppCost;
+	/**应用下载数据-授信率*/
+	@Excel(name = "应用下载数据-授信率", width = 15)
+    @ApiModelProperty(value = "应用下载数据-授信率")
+	private java.math.BigDecimal eventCreditGrantAppRatio;
+	/**应用下载数据-付款成功数*/
+	@Excel(name = "应用下载数据-付款成功数", width = 15)
+    @ApiModelProperty(value = "应用下载数据-付款成功数")
+	private Long eventOrderPaid;
+	/**应用下载数据-付款成功金额*/
+	@Excel(name = "应用下载数据-付款成功金额", width = 15)
+    @ApiModelProperty(value = "应用下载数据-付款成功金额")
+	private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+	/**应用下载数据-单次付款成本*/
+	@Excel(name = "应用下载数据-单次付款成本", width = 15)
+    @ApiModelProperty(value = "应用下载数据-单次付款成本")
+	private java.math.BigDecimal eventOrderPaidCost;
+	/**应用下载数据-次留数(仅支持分日查询)*/
+	@Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+    @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+	private Long eventNextDayStay;
+	/**应用下载数据-次留成本(仅支持分日查询)*/
+	@Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+    @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+	private java.math.BigDecimal eventNextDayStayCost;
+	/**应用下载数据-次留率(仅支持分日查询)*/
+	@Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+    @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+	private java.math.BigDecimal eventNextDayStayRatio;
+	/**落地页数据-表单提交数*/
+	@Excel(name = "落地页数据-表单提交数", width = 15)
+    @ApiModelProperty(value = "落地页数据-表单提交数")
+	private Long formCount;
+	/**落地页数据-表单提交单价*/
+	@Excel(name = "落地页数据-表单提交单价", width = 15)
+    @ApiModelProperty(value = "落地页数据-表单提交单价")
+	private java.math.BigDecimal formCost;
+	/**落地页数据-表单提交点击率*/
+	@Excel(name = "落地页数据-表单提交点击率", width = 15)
+    @ApiModelProperty(value = "落地页数据-表单提交点击率")
+	private java.math.BigDecimal formActionRatio;
+	/**落地页数据-落地页完件数*/
+	@Excel(name = "落地页数据-落地页完件数", width = 15)
+    @ApiModelProperty(value = "落地页数据-落地页完件数")
+	private Long eventJinJianLandingPage;
+	/**落地页数据-落地页完件成本*/
+	@Excel(name = "落地页数据-落地页完件成本", width = 15)
+    @ApiModelProperty(value = "落地页数据-落地页完件成本")
+	private java.math.BigDecimal eventJinJianLandingPageCost;
+	/**落地页数据-落地页授信数*/
+	@Excel(name = "落地页数据-落地页授信数", width = 15)
+    @ApiModelProperty(value = "落地页数据-落地页授信数")
+	private Long eventCreditGrantLandingPage;
+	/**落地页数据-落地页授信成本*/
+	@Excel(name = "落地页数据-落地页授信成本", width = 15)
+    @ApiModelProperty(value = "落地页数据-落地页授信成本")
+	private java.math.BigDecimal eventCreditGrantLandingPageCost;
+	/**落地页数据-落地页授信率*/
+	@Excel(name = "落地页数据-落地页授信率", width = 15)
+    @ApiModelProperty(value = "落地页数据-落地页授信率")
+	private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+	/**落地页数据-有效线索数*/
+	@Excel(name = "落地页数据-有效线索数", width = 15)
+    @ApiModelProperty(value = "落地页数据-有效线索数")
+	private Long eventValidClues;
+	/**落地页数据-有效线索成本*/
+	@Excel(name = "落地页数据-有效线索成本", width = 15)
+    @ApiModelProperty(value = "落地页数据-有效线索成本")
+	private java.math.BigDecimal eventValidCluesCost;
+	/**微信复制数*/
+	@Excel(name = "微信复制数", width = 15)
+    @ApiModelProperty(value = "微信复制数")
+	private Long eventAddWechat;
+	/**微信复制成本*/
+	@Excel(name = "微信复制成本", width = 15)
+    @ApiModelProperty(value = "微信复制成本")
+	private java.math.BigDecimal eventAddWechatCost;
+	/**微信复制率*/
+	@Excel(name = "微信复制率", width = 15)
+    @ApiModelProperty(value = "微信复制率")
+	private java.math.BigDecimal eventAddWechatRatio;
+	/**智能电话-确认接通数*/
+	@Excel(name = "智能电话-确认接通数", width = 15)
+    @ApiModelProperty(value = "智能电话-确认接通数")
+	private Long eventGetThrough;
+	/**智能电话-确认接通成本*/
+	@Excel(name = "智能电话-确认接通成本", width = 15)
+    @ApiModelProperty(value = "智能电话-确认接通成本")
+	private java.math.BigDecimal eventGetThroughCost;
+	/**智能电话-确认接通率*/
+	@Excel(name = "智能电话-确认接通率", width = 15)
+    @ApiModelProperty(value = "智能电话-确认接通率")
+	private java.math.BigDecimal eventGetThroughRatio;
+	/**唤醒应用数*/
+	@Excel(name = "唤醒应用数", width = 15)
+    @ApiModelProperty(value = "唤醒应用数")
+	private Long eventAppInvoked;
+	/**唤醒应用成本*/
+	@Excel(name = "唤醒应用成本", width = 15)
+    @ApiModelProperty(value = "唤醒应用成本")
+	private java.math.BigDecimal eventAppInvokedCost;
+	/**唤醒应用率*/
+	@Excel(name = "唤醒应用率", width = 15)
+    @ApiModelProperty(value = "唤醒应用率")
+	private java.math.BigDecimal eventAppInvokedRatio;
+	/**落地页授信率*/
+	@Excel(name = "落地页授信率", width = 15)
+    @ApiModelProperty(value = "落地页授信率")
+	private java.math.BigDecimal eventCreditGrantLandingRatio;
+	/**5s播放率*/
+	@Excel(name = "5s播放率", width = 15)
+    @ApiModelProperty(value = "5s播放率")
+	private java.math.BigDecimal play5sRatio;
+	/**完播率*/
+	@Excel(name = "完播率", width = 15)
+    @ApiModelProperty(value = "完播率")
+	private java.math.BigDecimal playEndRatio;
+	/**新增付费人数*/
+	@Excel(name = "新增付费人数", width = 15)
+    @ApiModelProperty(value = "新增付费人数")
+	private java.math.BigDecimal eventNewUserPay;
+	/**新增付费人数成本*/
+	@Excel(name = "新增付费人数成本", width = 15)
+    @ApiModelProperty(value = "新增付费人数成本")
+	private java.math.BigDecimal eventNewUserPayCost;
+	/**新增付费人数率*/
+	@Excel(name = "新增付费人数率", width = 15)
+    @ApiModelProperty(value = "新增付费人数率")
+	private java.math.BigDecimal eventNewUserPayRatio;
+	/**平均千次素材曝光花费(元)*/
+	@Excel(name = "平均千次素材曝光花费(元)", width = 15)
+    @ApiModelProperty(value = "平均千次素材曝光花费(元)")
+	private java.math.BigDecimal click1kCost;
+	/**商品成交数*/
+	@Excel(name = "商品成交数", width = 15)
+    @ApiModelProperty(value = "商品成交数")
+	private Long adProductCnt;
+	/**商品访问数*/
+	@Excel(name = "商品访问数", width = 15)
+    @ApiModelProperty(value = "商品访问数")
+	private Long eventGoodsView;
+	/**涨粉量*/
+	@Excel(name = "涨粉量", width = 15)
+    @ApiModelProperty(value = "涨粉量")
+	private Long merchantRecoFans;
+	/**小店推广roi*/
+	@Excel(name = "小店推广roi", width = 15)
+    @ApiModelProperty(value = "小店推广roi")
+	private java.math.BigDecimal eventOrderAmountRoi;
+	/**商品访问成本*/
+	@Excel(name = "商品访问成本", width = 15)
+    @ApiModelProperty(value = "商品访问成本")
+	private java.math.BigDecimal eventGoodsViewCost;
+	/**涨粉成本*/
+	@Excel(name = "涨粉成本", width = 15)
+    @ApiModelProperty(value = "涨粉成本")
+	private java.math.BigDecimal merchantRecoFansCost;
+	/**按钮点击数*/
+	@Excel(name = "按钮点击数", width = 15)
+    @ApiModelProperty(value = "按钮点击数")
+	private Long eventButtonClick;
+	/**按钮点击成本*/
+	@Excel(name = "按钮点击成本", width = 15)
+    @ApiModelProperty(value = "按钮点击成本")
+	private java.math.BigDecimal eventButtonClickCost;
+	/**按钮点击率*/
+	@Excel(name = "按钮点击率", width = 15)
+    @ApiModelProperty(value = "按钮点击率")
+	private java.math.BigDecimal eventButtonClickRatio;
+	/**订单支付率*/
+	@Excel(name = "订单支付率", width = 15)
+    @ApiModelProperty(value = "订单支付率")
+	private java.math.BigDecimal eventOrderPaidRoi;
+	/**新增完件人数*/
+	@Excel(name = "新增完件人数", width = 15)
+    @ApiModelProperty(value = "新增完件人数")
+	private Long eventNewUserJinjianApp;
+	/**新增完件成本*/
+	@Excel(name = "新增完件成本", width = 15)
+    @ApiModelProperty(value = "新增完件成本")
+	private java.math.BigDecimal eventNewUserJinjianAppCost;
+	/**新增完件人数率*/
+	@Excel(name = "新增完件人数率", width = 15)
+    @ApiModelProperty(value = "新增完件人数率")
+	private java.math.BigDecimal eventNewUserJinjianAppRoi;
+	/**新增授信人数*/
+	@Excel(name = "新增授信人数", width = 15)
+    @ApiModelProperty(value = "新增授信人数")
+	private Long eventNewUserCreditGrantApp;
+	/**新增授信人数成本*/
+	@Excel(name = "新增授信人数成本", width = 15)
+    @ApiModelProperty(value = "新增授信人数成本")
+	private java.math.BigDecimal eventNewUserCreditGrantAppCost;
+	/**新增授信人数率*/
+	@Excel(name = "新增授信人数率", width = 15)
+    @ApiModelProperty(value = "新增授信人数率")
+	private java.math.BigDecimal eventNewUserCreditGrantAppRoi;
+	/**eventNewUserJinjianPage*/
+	@Excel(name = "eventNewUserJinjianPage", width = 15)
+    @ApiModelProperty(value = "eventNewUserJinjianPage")
+	private Long eventNewUserJinjianPage;
+	/**eventNewUserJinjianPageCost*/
+	@Excel(name = "eventNewUserJinjianPageCost", width = 15)
+    @ApiModelProperty(value = "eventNewUserJinjianPageCost")
+	private java.math.BigDecimal eventNewUserJinjianPageCost;
+	/**eventNewUserJinjianPageRoi*/
+	@Excel(name = "eventNewUserJinjianPageRoi", width = 15)
+    @ApiModelProperty(value = "eventNewUserJinjianPageRoi")
+	private java.math.BigDecimal eventNewUserJinjianPageRoi;
+	/**eventNewUserCreditGrantPage*/
+	@Excel(name = "eventNewUserCreditGrantPage", width = 15)
+    @ApiModelProperty(value = "eventNewUserCreditGrantPage")
+	private Long eventNewUserCreditGrantPage;
+	/**eventNewUserCreditGrantPageCost*/
+	@Excel(name = "eventNewUserCreditGrantPageCost", width = 15)
+    @ApiModelProperty(value = "eventNewUserCreditGrantPageCost")
+	private java.math.BigDecimal eventNewUserCreditGrantPageCost;
+	/**eventNewUserCreditGrantPageRoi*/
+	@Excel(name = "eventNewUserCreditGrantPageRoi", width = 15)
+    @ApiModelProperty(value = "eventNewUserCreditGrantPageRoi")
+	private java.math.BigDecimal eventNewUserCreditGrantPageRoi;
+	/**预约表单数*/
+	@Excel(name = "预约表单数", width = 15)
+    @ApiModelProperty(value = "预约表单数")
+	private Long eventAppointForm;
+	/**预约表单点击成本*/
+	@Excel(name = "预约表单点击成本", width = 15)
+    @ApiModelProperty(value = "预约表单点击成本")
+	private java.math.BigDecimal eventAppointFormCost;
+	/**预约表单点击率*/
+	@Excel(name = "预约表单点击率", width = 15)
+    @ApiModelProperty(value = "预约表单点击率")
+	private java.math.BigDecimal eventAppointFormRatio;
+	/**预约跳转点击数*/
+	@Excel(name = "预约跳转点击数", width = 15)
+    @ApiModelProperty(value = "预约跳转点击数")
+	private Long eventAppointJumpClick;
+	/**预约跳转点击成本*/
+	@Excel(name = "预约跳转点击成本", width = 15)
+    @ApiModelProperty(value = "预约跳转点击成本")
+	private java.math.BigDecimal eventAppointJumpClickCost;
+	/**预约跳转点击率*/
+	@Excel(name = "预约跳转点击率", width = 15)
+    @ApiModelProperty(value = "预约跳转点击率")
+	private java.math.BigDecimal eventAppointJumpClickRatio;
+	/**联盟广告收入*/
+	@Excel(name = "联盟广告收入", width = 15)
+    @ApiModelProperty(value = "联盟广告收入")
+	private Long unionEventPayPurchaseAmount7d;
+	/**联盟变现ROI*/
+	@Excel(name = "联盟变现ROI", width = 15)
+    @ApiModelProperty(value = "联盟变现ROI")
+	private java.math.BigDecimal unionEventPayPurchaseAmount7dRoi;
+	/**placementType*/
+	@Excel(name = "placementType", width = 15)
+    @ApiModelProperty(value = "placementType")
+	private String placementType;
+	/**adScene*/
+	@Excel(name = "adScene", width = 15)
+    @ApiModelProperty(value = "adScene")
+	private String adScene;
+	/**eventOrderSuccessed*/
+	@Excel(name = "eventOrderSuccessed", width = 15)
+    @ApiModelProperty(value = "eventOrderSuccessed")
+	private Long eventOrderSuccessed;
+	/**adPhotoPlayed10sRatio*/
+	@Excel(name = "adPhotoPlayed10sRatio", width = 15)
+    @ApiModelProperty(value = "adPhotoPlayed10sRatio")
+	private java.math.BigDecimal adPhotoPlayed10sRatio;
+	/**keyActionCost*/
+	@Excel(name = "keyActionCost", width = 15)
+    @ApiModelProperty(value = "keyActionCost")
+	private java.math.BigDecimal keyActionCost;
+	/**添加购物车成本*/
+	@Excel(name = "添加购物车成本", width = 15)
+    @ApiModelProperty(value = "添加购物车成本")
+	private java.math.BigDecimal eventAddShoppingCartCost;
+	/**广告观看次数转化率*/
+	@Excel(name = "广告观看次数转化率", width = 15)
+    @ApiModelProperty(value = "广告观看次数转化率")
+	private java.math.BigDecimal eventAdWatchTimesRatio;
+	/**eventOutboundCallCost*/
+	@Excel(name = "eventOutboundCallCost", width = 15)
+    @ApiModelProperty(value = "eventOutboundCallCost")
+	private java.math.BigDecimal eventOutboundCallCost;
+	/**eventOutboundCall*/
+	@Excel(name = "eventOutboundCall", width = 15)
+    @ApiModelProperty(value = "eventOutboundCall")
+	private Long eventOutboundCall;
+	/**actionNewRatio*/
+	@Excel(name = "actionNewRatio", width = 15)
+    @ApiModelProperty(value = "actionNewRatio")
+	private java.math.BigDecimal actionNewRatio;
+	/**广告观看*/
+	@Excel(name = "广告观看", width = 15)
+    @ApiModelProperty(value = "广告观看")
+	private Long eventWatchAppAd;
+	/**落地页多转化成本*/
+	@Excel(name = "落地页多转化成本", width = 15)
+    @ApiModelProperty(value = "落地页多转化成本")
+	private java.math.BigDecimal eventMultiConversionCost;
+	/**eventPhoneCardActivate*/
+	@Excel(name = "eventPhoneCardActivate", width = 15)
+    @ApiModelProperty(value = "eventPhoneCardActivate")
+	private Long eventPhoneCardActivate;
+	/**adPhotoPlayed75percentRatio*/
+	@Excel(name = "adPhotoPlayed75percentRatio", width = 15)
+    @ApiModelProperty(value = "adPhotoPlayed75percentRatio")
+	private java.math.BigDecimal adPhotoPlayed75percentRatio;
+	/**keyActionRatio*/
+	@Excel(name = "keyActionRatio", width = 15)
+    @ApiModelProperty(value = "keyActionRatio")
+	private java.math.BigDecimal keyActionRatio;
+	/**广告观看次数成本*/
+	@Excel(name = "广告观看次数成本", width = 15)
+    @ApiModelProperty(value = "广告观看次数成本")
+	private java.math.BigDecimal eventAdWatchTimesCost;
+	/**添加购物车数*/
+	@Excel(name = "添加购物车数", width = 15)
+    @ApiModelProperty(value = "添加购物车数")
+	private Long eventAddShoppingCart;
+	/**keyAction*/
+	@Excel(name = "keyAction", width = 15)
+    @ApiModelProperty(value = "keyAction")
+	private Long keyAction;
+	/**落地页多转化次数*/
+	@Excel(name = "落地页多转化次数", width = 15)
+    @ApiModelProperty(value = "落地页多转化次数")
+	private Long eventMultiConversion;
+	/**eventWechatConnected*/
+	@Excel(name = "eventWechatConnected", width = 15)
+    @ApiModelProperty(value = "eventWechatConnected")
+	private Long eventWechatConnected;
+	/**附加组件表单提交*/
+	@Excel(name = "附加组件表单提交", width = 15)
+    @ApiModelProperty(value = "附加组件表单提交")
+	private Long eventDspGiftForm;
+	/**eventIntentionConfirmed*/
+	@Excel(name = "eventIntentionConfirmed", width = 15)
+    @ApiModelProperty(value = "eventIntentionConfirmed")
+	private Long eventIntentionConfirmed;
+	/**eventPhoneGetThrough*/
+	@Excel(name = "eventPhoneGetThrough", width = 15)
+    @ApiModelProperty(value = "eventPhoneGetThrough")
+	private Long eventPhoneGetThrough;
+	/**落地页多转化率*/
+	@Excel(name = "落地页多转化率", width = 15)
+    @ApiModelProperty(value = "落地页多转化率")
+	private java.math.BigDecimal eventMultiConversionRatio;
+	/**eventMeasurementHouse*/
+	@Excel(name = "eventMeasurementHouse", width = 15)
+    @ApiModelProperty(value = "eventMeasurementHouse")
+	private java.math.BigDecimal eventMeasurementHouse;
+	/**adPhotoPlayed2sRatio*/
+	@Excel(name = "adPhotoPlayed2sRatio", width = 15)
+    @ApiModelProperty(value = "adPhotoPlayed2sRatio")
+	private java.math.BigDecimal adPhotoPlayed2sRatio;
+	/**eventOutboundCallRatio*/
+	@Excel(name = "eventOutboundCallRatio", width = 15)
+    @ApiModelProperty(value = "eventOutboundCallRatio")
+	private java.math.BigDecimal eventOutboundCallRatio;
+	/** 广告观看次数*/
+	@Excel(name = " 广告观看次数", width = 15)
+    @ApiModelProperty(value = " 广告观看次数")
+	private Long eventAdWatchTimes;
+}

+ 581 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouProgramCreativeReportDaily.java

@@ -0,0 +1,581 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 程序化创意-日报
+ *
+ * @author jeecg-boot
+ * @date 2021-09-09
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_program_creative_report_daily")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "kuaishou_program_creative_report_daily对象", description = "程序化创意-日报")
+public class KuaishouProgramCreativeReportDaily {
+
+  /** 广告主id */
+  @Excel(name = "广告主id", width = 15)
+  @ApiModelProperty(value = "广告主id")
+  private Long advertiserId;
+  /** 数据日期,格式:YYYYMMDD */
+  @Excel(name = "数据日期,格式:YYYYMMDD", width = 15)
+  @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+  private Integer statDate;
+  /** 广告计划ID */
+  @Excel(name = "广告计划ID", width = 15)
+  @ApiModelProperty(value = "广告计划ID")
+  private Long campaignId;
+  /** 广告计划名称 */
+  @Excel(name = "广告计划名称", width = 15)
+  @ApiModelProperty(value = "广告计划名称")
+  private String campaignName;
+  /** 广告组ID */
+  @Excel(name = "广告组ID", width = 15)
+  @ApiModelProperty(value = "广告组ID")
+  private Long unitId;
+  /** 广告组名称 */
+  @Excel(name = "广告组名称", width = 15)
+  @ApiModelProperty(value = "广告组名称")
+  private String unitName;
+  /** 广告创意ID */
+  @Excel(name = "广告创意ID", width = 15)
+  @ApiModelProperty(value = "广告创意ID")
+  private Long creativeId;
+  /** 视频id */
+  @Excel(name = "视频id", width = 15)
+  @ApiModelProperty(value = "视频id")
+  private String photoId;
+  /** 视频url */
+  @Excel(name = "视频url", width = 15)
+  @ApiModelProperty(value = "视频url")
+  private String photoUrl;
+  /** 封面url */
+  @Excel(name = "封面url", width = 15)
+  @ApiModelProperty(value = "封面url")
+  private String coverUrl;
+  /** 封面token */
+  @Excel(name = "封面token", width = 15)
+  @ApiModelProperty(value = "封面token")
+  private String imageToken;
+  /** 作品广告语 */
+  @Excel(name = "作品广告语", width = 15)
+  @ApiModelProperty(value = "作品广告语")
+  private String description;
+  /** 花费(元) */
+  @Excel(name = "花费(元)", width = 15)
+  @ApiModelProperty(value = "花费(元)")
+  private java.math.BigDecimal charge;
+  /** 封面曝光数 */
+  @Excel(name = "封面曝光数", width = 15)
+  @ApiModelProperty(value = "封面曝光数")
+  private Long show;
+  /** 封面点击数 */
+  @Excel(name = "封面点击数", width = 15)
+  @ApiModelProperty(value = "封面点击数")
+  private Long photoClick;
+  /** 素材曝光数 */
+  @Excel(name = "素材曝光数", width = 15)
+  @ApiModelProperty(value = "素材曝光数")
+  private Long aclick;
+  /** 行为数 */
+  @Excel(name = "行为数", width = 15)
+  @ApiModelProperty(value = "行为数")
+  private Long bclick;
+  /** 封面点击率 */
+  @Excel(name = "封面点击率", width = 15)
+  @ApiModelProperty(value = "封面点击率")
+  private java.math.BigDecimal photoClickRatio;
+  /** 3s播放率 */
+  @Excel(name = "3s播放率", width = 15)
+  @ApiModelProperty(value = "3s播放率")
+  private java.math.BigDecimal play3sRatio;
+  /** 行为率 */
+  @Excel(name = "行为率", width = 15)
+  @ApiModelProperty(value = "行为率")
+  private java.math.BigDecimal actionRatio;
+  /** 平均千次曝光花费(元) */
+  @Excel(name = "平均千次曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次曝光花费(元)")
+  private java.math.BigDecimal impression1kCost;
+  /** 平均点击单价(元) */
+  @Excel(name = "平均点击单价(元)", width = 15)
+  @ApiModelProperty(value = "平均点击单价(元)")
+  private java.math.BigDecimal photoClickCost;
+  /** 平均行为单价(元) */
+  @Excel(name = "平均行为单价(元)", width = 15)
+  @ApiModelProperty(value = "平均行为单价(元)")
+  private java.math.BigDecimal actionCost;
+  /** 分享数 */
+  @Excel(name = "分享数", width = 15)
+  @ApiModelProperty(value = "分享数")
+  private Long share;
+  /** 评论数 */
+  @Excel(name = "评论数", width = 15)
+  @ApiModelProperty(value = "评论数")
+  private Long comment;
+  /** 点赞数 */
+  @Excel(name = "点赞数", width = 15)
+  @ApiModelProperty(value = "点赞数")
+  private Long like;
+  /** 新增关注数 */
+  @Excel(name = "新增关注数", width = 15)
+  @ApiModelProperty(value = "新增关注数")
+  private Long follow;
+  /** 取消关注数 */
+  @Excel(name = "取消关注数", width = 15)
+  @ApiModelProperty(value = "取消关注数")
+  private Long cancelFollow;
+  /** 举报数 */
+  @Excel(name = "举报数", width = 15)
+  @ApiModelProperty(value = "举报数")
+  private Long report;
+  /** 拉黑数 */
+  @Excel(name = "拉黑数", width = 15)
+  @ApiModelProperty(value = "拉黑数")
+  private Long block;
+  /** 减少此类作品数 */
+  @Excel(name = "减少此类作品数", width = 15)
+  @ApiModelProperty(value = "减少此类作品数")
+  private Long negative;
+  /** 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段) */
+  @Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+  @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+  private Long submit;
+  /** 应用下载数据-安卓下载开始数 */
+  @Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+  private Long downloadStarted;
+  /** 应用下载数据-安卓下载完成数 */
+  @Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+  private Long downloadCompleted;
+  /** 应用下载数据-激活数 */
+  @Excel(name = "应用下载数据-激活数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-激活数")
+  private Long activation;
+  /** 应用下载数据-首日付费次数 */
+  @Excel(name = "应用下载数据-首日付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费次数")
+  private Long eventPayFirstDay;
+  /** 应用下载数据-首日付费金额 */
+  @Excel(name = "应用下载数据-首日付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+  /** 应用下载数据-首日ROI */
+  @Excel(name = "应用下载数据-首日ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日ROI")
+  private java.math.BigDecimal eventPayFirstDayRoi;
+  /** 应用下载数据-付费次数 */
+  @Excel(name = "应用下载数据-付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费次数")
+  private Long eventPay;
+  /** 应用下载数据-付费金额 */
+  @Excel(name = "应用下载数据-付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmount;
+  /** 应用下载数据-ROI */
+  @Excel(name = "应用下载数据-ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-ROI")
+  private java.math.BigDecimal eventPayRoi;
+  /** 应用下载数据-注册数 */
+  @Excel(name = "应用下载数据-注册数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册数")
+  private Long eventRegister;
+  /** 应用下载数据-注册成本 */
+  @Excel(name = "应用下载数据-注册成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册成本")
+  private java.math.BigDecimal eventRegisterCost;
+  /** 应用下载数据-注册率 */
+  @Excel(name = "应用下载数据-注册率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册率")
+  private java.math.BigDecimal eventRegisterRatio;
+  /** 应用下载数据-完件数 */
+  @Excel(name = "应用下载数据-完件数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件数")
+  private Long eventJinJianApp;
+  /** 应用下载数据-完件成本 */
+  @Excel(name = "应用下载数据-完件成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件成本")
+  private java.math.BigDecimal eventJinJianAppCost;
+  /** 应用下载数据-授信数 */
+  @Excel(name = "应用下载数据-授信数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信数")
+  private Long eventCreditGrantApp;
+  /** 应用下载数据-授信成本 */
+  @Excel(name = "应用下载数据-授信成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信成本")
+  private java.math.BigDecimal eventCreditGrantAppCost;
+  /** 应用下载数据-授信率 */
+  @Excel(name = "应用下载数据-授信率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信率")
+  private java.math.BigDecimal eventCreditGrantAppRatio;
+  /** 应用下载数据-付款成功数 */
+  @Excel(name = "应用下载数据-付款成功数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功数")
+  private Long eventOrderPaid;
+  /** 应用下载数据-付款成功金额 */
+  @Excel(name = "应用下载数据-付款成功金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功金额")
+  private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+  /** 应用下载数据-单次付款成本 */
+  @Excel(name = "应用下载数据-单次付款成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-单次付款成本")
+  private java.math.BigDecimal eventOrderPaidCost;
+  /** 应用下载数据-次留数(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+  private Long eventNextDayStay;
+  /** 应用下载数据-次留成本(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayCost;
+  /** 应用下载数据-次留率(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayRatio;
+  /** 落地页数据-表单提交数 */
+  @Excel(name = "落地页数据-表单提交数", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交数")
+  private Long formCount;
+  /** 落地页数据-表单提交单价 */
+  @Excel(name = "落地页数据-表单提交单价", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交单价")
+  private java.math.BigDecimal formCost;
+  /** 落地页数据-表单提交点击率 */
+  @Excel(name = "落地页数据-表单提交点击率", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交点击率")
+  private java.math.BigDecimal formActionRatio;
+  /** 落地页数据-落地页完件数 */
+  @Excel(name = "落地页数据-落地页完件数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件数")
+  private Long eventJinJianLandingPage;
+  /** 落地页数据-落地页完件成本 */
+  @Excel(name = "落地页数据-落地页完件成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件成本")
+  private java.math.BigDecimal eventJinJianLandingPageCost;
+  /** 落地页数据-落地页授信数 */
+  @Excel(name = "落地页数据-落地页授信数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信数")
+  private Long eventCreditGrantLandingPage;
+  /** 落地页数据-落地页授信成本 */
+  @Excel(name = "落地页数据-落地页授信成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信成本")
+  private java.math.BigDecimal eventCreditGrantLandingPageCost;
+  /** 落地页数据-落地页授信率 */
+  @Excel(name = "落地页数据-落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+  /** 落地页数据-有效线索数 */
+  @Excel(name = "落地页数据-有效线索数", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索数")
+  private Long eventValidClues;
+  /** 落地页数据-有效线索成本 */
+  @Excel(name = "落地页数据-有效线索成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索成本")
+  private java.math.BigDecimal eventValidCluesCost;
+  /** 微信复制数 */
+  @Excel(name = "微信复制数", width = 15)
+  @ApiModelProperty(value = "微信复制数")
+  private Long eventAddWechat;
+  /** 微信复制成本 */
+  @Excel(name = "微信复制成本", width = 15)
+  @ApiModelProperty(value = "微信复制成本")
+  private java.math.BigDecimal eventAddWechatCost;
+  /** 微信复制率 */
+  @Excel(name = "微信复制率", width = 15)
+  @ApiModelProperty(value = "微信复制率")
+  private java.math.BigDecimal eventAddWechatRatio;
+  /** 智能电话-确认接通数 */
+  @Excel(name = "智能电话-确认接通数", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通数")
+  private Long eventGetThrough;
+  /** 智能电话-确认接通成本 */
+  @Excel(name = "智能电话-确认接通成本", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通成本")
+  private java.math.BigDecimal eventGetThroughCost;
+  /** 智能电话-确认接通率 */
+  @Excel(name = "智能电话-确认接通率", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通率")
+  private java.math.BigDecimal eventGetThroughRatio;
+  /** 唤醒应用数 */
+  @Excel(name = "唤醒应用数", width = 15)
+  @ApiModelProperty(value = "唤醒应用数")
+  private Long eventAppInvoked;
+  /** 唤醒应用成本 */
+  @Excel(name = "唤醒应用成本", width = 15)
+  @ApiModelProperty(value = "唤醒应用成本")
+  private java.math.BigDecimal eventAppInvokedCost;
+  /** 唤醒应用率 */
+  @Excel(name = "唤醒应用率", width = 15)
+  @ApiModelProperty(value = "唤醒应用率")
+  private java.math.BigDecimal eventAppInvokedRatio;
+  /** 落地页授信率 */
+  @Excel(name = "落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingRatio;
+  /** 5s播放率 */
+  @Excel(name = "5s播放率", width = 15)
+  @ApiModelProperty(value = "5s播放率")
+  private java.math.BigDecimal play5sRatio;
+  /** 完播率 */
+  @Excel(name = "完播率", width = 15)
+  @ApiModelProperty(value = "完播率")
+  private java.math.BigDecimal playEndRatio;
+  /** 新增付费人数 */
+  @Excel(name = "新增付费人数", width = 15)
+  @ApiModelProperty(value = "新增付费人数")
+  private java.math.BigDecimal eventNewUserPay;
+  /** 新增付费人数成本 */
+  @Excel(name = "新增付费人数成本", width = 15)
+  @ApiModelProperty(value = "新增付费人数成本")
+  private java.math.BigDecimal eventNewUserPayCost;
+  /** 新增付费人数率 */
+  @Excel(name = "新增付费人数率", width = 15)
+  @ApiModelProperty(value = "新增付费人数率")
+  private java.math.BigDecimal eventNewUserPayRatio;
+  /** 平均千次素材曝光花费(元) */
+  @Excel(name = "平均千次素材曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次素材曝光花费(元)")
+  private java.math.BigDecimal click1kCost;
+  /** 商品成交数 */
+  @Excel(name = "商品成交数", width = 15)
+  @ApiModelProperty(value = "商品成交数")
+  private Long adProductCnt;
+  /** 商品访问数 */
+  @Excel(name = "商品访问数", width = 15)
+  @ApiModelProperty(value = "商品访问数")
+  private Long eventGoodsView;
+  /** 涨粉量 */
+  @Excel(name = "涨粉量", width = 15)
+  @ApiModelProperty(value = "涨粉量")
+  private Long merchantRecoFans;
+  /** 小店推广roi */
+  @Excel(name = "小店推广roi", width = 15)
+  @ApiModelProperty(value = "小店推广roi")
+  private java.math.BigDecimal eventOrderAmountRoi;
+  /** 商品访问成本 */
+  @Excel(name = "商品访问成本", width = 15)
+  @ApiModelProperty(value = "商品访问成本")
+  private java.math.BigDecimal eventGoodsViewCost;
+  /** 涨粉成本 */
+  @Excel(name = "涨粉成本", width = 15)
+  @ApiModelProperty(value = "涨粉成本")
+  private java.math.BigDecimal merchantRecoFansCost;
+  /** 按钮点击数 */
+  @Excel(name = "按钮点击数", width = 15)
+  @ApiModelProperty(value = "按钮点击数")
+  private Long eventButtonClick;
+  /** 按钮点击成本 */
+  @Excel(name = "按钮点击成本", width = 15)
+  @ApiModelProperty(value = "按钮点击成本")
+  private java.math.BigDecimal eventButtonClickCost;
+  /** 按钮点击率 */
+  @Excel(name = "按钮点击率", width = 15)
+  @ApiModelProperty(value = "按钮点击率")
+  private java.math.BigDecimal eventButtonClickRatio;
+  /** 订单支付率 */
+  @Excel(name = "订单支付率", width = 15)
+  @ApiModelProperty(value = "订单支付率")
+  private java.math.BigDecimal eventOrderPaidRoi;
+  /** 新增完件人数 */
+  @Excel(name = "新增完件人数", width = 15)
+  @ApiModelProperty(value = "新增完件人数")
+  private Long eventNewUserJinjianApp;
+  /** 新增完件成本 */
+  @Excel(name = "新增完件成本", width = 15)
+  @ApiModelProperty(value = "新增完件成本")
+  private java.math.BigDecimal eventNewUserJinjianAppCost;
+  /** 新增完件人数率 */
+  @Excel(name = "新增完件人数率", width = 15)
+  @ApiModelProperty(value = "新增完件人数率")
+  private java.math.BigDecimal eventNewUserJinjianAppRoi;
+  /** 新增授信人数 */
+  @Excel(name = "新增授信人数", width = 15)
+  @ApiModelProperty(value = "新增授信人数")
+  private Long eventNewUserCreditGrantApp;
+  /** 新增授信人数成本 */
+  @Excel(name = "新增授信人数成本", width = 15)
+  @ApiModelProperty(value = "新增授信人数成本")
+  private java.math.BigDecimal eventNewUserCreditGrantAppCost;
+  /** 新增授信人数率 */
+  @Excel(name = "新增授信人数率", width = 15)
+  @ApiModelProperty(value = "新增授信人数率")
+  private java.math.BigDecimal eventNewUserCreditGrantAppRoi;
+  /** eventNewUserJinjianPage */
+  @Excel(name = "eventNewUserJinjianPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPage")
+  private Long eventNewUserJinjianPage;
+  /** eventNewUserJinjianPageCost */
+  @Excel(name = "eventNewUserJinjianPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageCost")
+  private java.math.BigDecimal eventNewUserJinjianPageCost;
+  /** eventNewUserJinjianPageRoi */
+  @Excel(name = "eventNewUserJinjianPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageRoi")
+  private java.math.BigDecimal eventNewUserJinjianPageRoi;
+  /** eventNewUserCreditGrantPage */
+  @Excel(name = "eventNewUserCreditGrantPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPage")
+  private Long eventNewUserCreditGrantPage;
+  /** eventNewUserCreditGrantPageCost */
+  @Excel(name = "eventNewUserCreditGrantPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageCost")
+  private java.math.BigDecimal eventNewUserCreditGrantPageCost;
+  /** eventNewUserCreditGrantPageRoi */
+  @Excel(name = "eventNewUserCreditGrantPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageRoi")
+  private java.math.BigDecimal eventNewUserCreditGrantPageRoi;
+  /** 预约表单数 */
+  @Excel(name = "预约表单数", width = 15)
+  @ApiModelProperty(value = "预约表单数")
+  private Long eventAppointForm;
+  /** 预约表单点击成本 */
+  @Excel(name = "预约表单点击成本", width = 15)
+  @ApiModelProperty(value = "预约表单点击成本")
+  private java.math.BigDecimal eventAppointFormCost;
+  /** 预约表单点击率 */
+  @Excel(name = "预约表单点击率", width = 15)
+  @ApiModelProperty(value = "预约表单点击率")
+  private java.math.BigDecimal eventAppointFormRatio;
+  /** 预约跳转点击数 */
+  @Excel(name = "预约跳转点击数", width = 15)
+  @ApiModelProperty(value = "预约跳转点击数")
+  private Long eventAppointJumpClick;
+  /** 预约跳转点击成本 */
+  @Excel(name = "预约跳转点击成本", width = 15)
+  @ApiModelProperty(value = "预约跳转点击成本")
+  private java.math.BigDecimal eventAppointJumpClickCost;
+  /** 预约跳转点击率 */
+  @Excel(name = "预约跳转点击率", width = 15)
+  @ApiModelProperty(value = "预约跳转点击率")
+  private java.math.BigDecimal eventAppointJumpClickRatio;
+  /** 联盟广告收入 */
+  @Excel(name = "联盟广告收入", width = 15)
+  @ApiModelProperty(value = "联盟广告收入")
+  private Long unionEventPayPurchaseAmount7d;
+  /** 联盟变现ROI */
+  @Excel(name = "联盟变现ROI", width = 15)
+  @ApiModelProperty(value = "联盟变现ROI")
+  private java.math.BigDecimal unionEventPayPurchaseAmount7dRoi;
+  /** placementType */
+  @Excel(name = "placementType", width = 15)
+  @ApiModelProperty(value = "placementType")
+  private String placementType;
+  /** adscene */
+  @Excel(name = "adscene", width = 15)
+  @ApiModelProperty(value = "adscene")
+  private String adscene;
+  /** eventOrderSuccessed */
+  @Excel(name = "eventOrderSuccessed", width = 15)
+  @ApiModelProperty(value = "eventOrderSuccessed")
+  private Long eventOrderSuccessed;
+  /** adPhotoPlayed10sRatio */
+  @Excel(name = "adPhotoPlayed10sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed10sRatio")
+  private java.math.BigDecimal adPhotoPlayed10sRatio;
+  /** keyActionCost */
+  @Excel(name = "keyActionCost", width = 15)
+  @ApiModelProperty(value = "keyActionCost")
+  private java.math.BigDecimal keyActionCost;
+  /** 添加购物车成本 */
+  @Excel(name = "添加购物车成本", width = 15)
+  @ApiModelProperty(value = "添加购物车成本")
+  private java.math.BigDecimal eventAddShoppingCartCost;
+  /** 广告观看次数转化率 */
+  @Excel(name = "广告观看次数转化率", width = 15)
+  @ApiModelProperty(value = "广告观看次数转化率")
+  private java.math.BigDecimal eventAdWatchTimesRatio;
+  /** eventOutboundCallCost */
+  @Excel(name = "eventOutboundCallCost", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallCost")
+  private java.math.BigDecimal eventOutboundCallCost;
+  /** eventOutboundCall */
+  @Excel(name = "eventOutboundCall", width = 15)
+  @ApiModelProperty(value = "eventOutboundCall")
+  private Long eventOutboundCall;
+  /** actionNewRatio */
+  @Excel(name = "actionNewRatio", width = 15)
+  @ApiModelProperty(value = "actionNewRatio")
+  private java.math.BigDecimal actionNewRatio;
+  /** 广告观看 */
+  @Excel(name = "广告观看", width = 15)
+  @ApiModelProperty(value = "广告观看")
+  private Long eventWatchAppAd;
+  /** 落地页多转化成本 */
+  @Excel(name = "落地页多转化成本", width = 15)
+  @ApiModelProperty(value = "落地页多转化成本")
+  private java.math.BigDecimal eventMultiConversionCost;
+  /** eventPhoneCardActivate */
+  @Excel(name = "eventPhoneCardActivate", width = 15)
+  @ApiModelProperty(value = "eventPhoneCardActivate")
+  private Long eventPhoneCardActivate;
+  /** adPhotoPlayed75percentRatio */
+  @Excel(name = "adPhotoPlayed75percentRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed75percentRatio")
+  private java.math.BigDecimal adPhotoPlayed75percentRatio;
+  /** keyActionRatio */
+  @Excel(name = "keyActionRatio", width = 15)
+  @ApiModelProperty(value = "keyActionRatio")
+  private java.math.BigDecimal keyActionRatio;
+  /** 广告观看次数成本 */
+  @Excel(name = "广告观看次数成本", width = 15)
+  @ApiModelProperty(value = "广告观看次数成本")
+  private java.math.BigDecimal eventAdWatchTimesCost;
+  /** 添加购物车数 */
+  @Excel(name = "添加购物车数", width = 15)
+  @ApiModelProperty(value = "添加购物车数")
+  private Long eventAddShoppingCart;
+  /** keyAction */
+  @Excel(name = "keyAction", width = 15)
+  @ApiModelProperty(value = "keyAction")
+  private Long keyAction;
+  /** 落地页多转化次数 */
+  @Excel(name = "落地页多转化次数", width = 15)
+  @ApiModelProperty(value = "落地页多转化次数")
+  private Long eventMultiConversion;
+  /** eventWechatConnected */
+  @Excel(name = "eventWechatConnected", width = 15)
+  @ApiModelProperty(value = "eventWechatConnected")
+  private Long eventWechatConnected;
+  /** 附加组件表单提交 */
+  @Excel(name = "附加组件表单提交", width = 15)
+  @ApiModelProperty(value = "附加组件表单提交")
+  private Long eventDspGiftForm;
+  /** eventIntentionConfirmed */
+  @Excel(name = "eventIntentionConfirmed", width = 15)
+  @ApiModelProperty(value = "eventIntentionConfirmed")
+  private Long eventIntentionConfirmed;
+  /** eventPhoneGetThrough */
+  @Excel(name = "eventPhoneGetThrough", width = 15)
+  @ApiModelProperty(value = "eventPhoneGetThrough")
+  private Long eventPhoneGetThrough;
+  /** 落地页多转化率 */
+  @Excel(name = "落地页多转化率", width = 15)
+  @ApiModelProperty(value = "落地页多转化率")
+  private java.math.BigDecimal eventMultiConversionRatio;
+  /** eventMeasurementHouse */
+  @Excel(name = "eventMeasurementHouse", width = 15)
+  @ApiModelProperty(value = "eventMeasurementHouse")
+  private java.math.BigDecimal eventMeasurementHouse;
+  /** adPhotoPlayed2sRatio */
+  @Excel(name = "adPhotoPlayed2sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed2sRatio")
+  private java.math.BigDecimal adPhotoPlayed2sRatio;
+  /** eventOutboundCallRatio */
+  @Excel(name = "eventOutboundCallRatio", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallRatio")
+  private java.math.BigDecimal eventOutboundCallRatio;
+  /** 广告观看次数 */
+  @Excel(name = " 广告观看次数", width = 15)
+  @ApiModelProperty(value = " 广告观看次数")
+  private Long eventAdWatchTimes;
+}

+ 557 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouUnitReportDaily.java

@@ -0,0 +1,557 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 组-日报
+ *
+ * @author jeecg-boot
+ * @date 2021-09-09
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_unit_report_daily")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "kuaishou_unit_report_daily对象", description = "组-日报")
+public class KuaishouUnitReportDaily {
+
+  /** 广告主id */
+  @Excel(name = "广告主id", width = 15)
+  @ApiModelProperty(value = "广告主id")
+  private Long advertiserId;
+  /** 数据日期,格式:YYYYMMDD */
+  @Excel(name = "数据日期,格式:YYYYMMDD", width = 15)
+  @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+  private Integer statDate;
+  /** 广告计划ID */
+  @Excel(name = "广告计划ID", width = 15)
+  @ApiModelProperty(value = "广告计划ID")
+  private Long campaignId;
+  /** 广告计划名称 */
+  @Excel(name = "广告计划名称", width = 15)
+  @ApiModelProperty(value = "广告计划名称")
+  private String campaignName;
+  /** 广告组ID */
+  @Excel(name = "广告组ID", width = 15)
+  @ApiModelProperty(value = "广告组ID")
+  private Long unitId;
+  /** 广告组名称 */
+  @Excel(name = "广告组名称", width = 15)
+  @ApiModelProperty(value = "广告组名称")
+  private String unitName;
+  /** 花费(元) */
+  @Excel(name = "花费(元)", width = 15)
+  @ApiModelProperty(value = "花费(元)")
+  private java.math.BigDecimal charge;
+  /** 封面曝光数 */
+  @Excel(name = "封面曝光数", width = 15)
+  @ApiModelProperty(value = "封面曝光数")
+  private Long show;
+  /** 封面点击数 */
+  @Excel(name = "封面点击数", width = 15)
+  @ApiModelProperty(value = "封面点击数")
+  private Long photoClick;
+  /** 素材曝光数 */
+  @Excel(name = "素材曝光数", width = 15)
+  @ApiModelProperty(value = "素材曝光数")
+  private Long aclick;
+  /** 行为数 */
+  @Excel(name = "行为数", width = 15)
+  @ApiModelProperty(value = "行为数")
+  private Long bclick;
+  /** 封面点击率 */
+  @Excel(name = "封面点击率", width = 15)
+  @ApiModelProperty(value = "封面点击率")
+  private java.math.BigDecimal photoClickRatio;
+  /** 3s播放率 */
+  @Excel(name = "3s播放率", width = 15)
+  @ApiModelProperty(value = "3s播放率")
+  private java.math.BigDecimal play3sRatio;
+  /** 行为率 */
+  @Excel(name = "行为率", width = 15)
+  @ApiModelProperty(value = "行为率")
+  private java.math.BigDecimal actionRatio;
+  /** 平均千次曝光花费(元) */
+  @Excel(name = "平均千次曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次曝光花费(元)")
+  private java.math.BigDecimal impression1kCost;
+  /** 平均点击单价(元) */
+  @Excel(name = "平均点击单价(元)", width = 15)
+  @ApiModelProperty(value = "平均点击单价(元)")
+  private java.math.BigDecimal photoClickCost;
+  /** 平均行为单价(元) */
+  @Excel(name = "平均行为单价(元)", width = 15)
+  @ApiModelProperty(value = "平均行为单价(元)")
+  private java.math.BigDecimal actionCost;
+  /** 分享数 */
+  @Excel(name = "分享数", width = 15)
+  @ApiModelProperty(value = "分享数")
+  private Long share;
+  /** 评论数 */
+  @Excel(name = "评论数", width = 15)
+  @ApiModelProperty(value = "评论数")
+  private Long comment;
+  /** 点赞数 */
+  @Excel(name = "点赞数", width = 15)
+  @ApiModelProperty(value = "点赞数")
+  private Long like;
+  /** 新增关注数 */
+  @Excel(name = "新增关注数", width = 15)
+  @ApiModelProperty(value = "新增关注数")
+  private Long follow;
+  /** 取消关注数 */
+  @Excel(name = "取消关注数", width = 15)
+  @ApiModelProperty(value = "取消关注数")
+  private Long cancelFollow;
+  /** 举报数 */
+  @Excel(name = "举报数", width = 15)
+  @ApiModelProperty(value = "举报数")
+  private Long report;
+  /** 拉黑数 */
+  @Excel(name = "拉黑数", width = 15)
+  @ApiModelProperty(value = "拉黑数")
+  private Long block;
+  /** 减少此类作品数 */
+  @Excel(name = "减少此类作品数", width = 15)
+  @ApiModelProperty(value = "减少此类作品数")
+  private Long negative;
+  /** 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段) */
+  @Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+  @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+  private Long submit;
+  /** 应用下载数据-安卓下载开始数 */
+  @Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+  private Long downloadStarted;
+  /** 应用下载数据-安卓下载完成数 */
+  @Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+  private Long downloadCompleted;
+  /** 应用下载数据-激活数 */
+  @Excel(name = "应用下载数据-激活数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-激活数")
+  private Long activation;
+  /** 应用下载数据-首日付费次数 */
+  @Excel(name = "应用下载数据-首日付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费次数")
+  private Long eventPayFirstDay;
+  /** 应用下载数据-首日付费金额 */
+  @Excel(name = "应用下载数据-首日付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+  /** 应用下载数据-首日ROI */
+  @Excel(name = "应用下载数据-首日ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日ROI")
+  private java.math.BigDecimal eventPayFirstDayRoi;
+  /** 应用下载数据-付费次数 */
+  @Excel(name = "应用下载数据-付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费次数")
+  private Long eventPay;
+  /** 应用下载数据-付费金额 */
+  @Excel(name = "应用下载数据-付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmount;
+  /** 应用下载数据-ROI */
+  @Excel(name = "应用下载数据-ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-ROI")
+  private java.math.BigDecimal eventPayRoi;
+  /** 应用下载数据-注册数 */
+  @Excel(name = "应用下载数据-注册数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册数")
+  private Long eventRegister;
+  /** 应用下载数据-注册成本 */
+  @Excel(name = "应用下载数据-注册成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册成本")
+  private java.math.BigDecimal eventRegisterCost;
+  /** 应用下载数据-注册率 */
+  @Excel(name = "应用下载数据-注册率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册率")
+  private java.math.BigDecimal eventRegisterRatio;
+  /** 应用下载数据-完件数 */
+  @Excel(name = "应用下载数据-完件数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件数")
+  private Long eventJinJianApp;
+  /** 应用下载数据-完件成本 */
+  @Excel(name = "应用下载数据-完件成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件成本")
+  private java.math.BigDecimal eventJinJianAppCost;
+  /** 应用下载数据-授信数 */
+  @Excel(name = "应用下载数据-授信数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信数")
+  private Long eventCreditGrantApp;
+  /** 应用下载数据-授信成本 */
+  @Excel(name = "应用下载数据-授信成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信成本")
+  private java.math.BigDecimal eventCreditGrantAppCost;
+  /** 应用下载数据-授信率 */
+  @Excel(name = "应用下载数据-授信率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信率")
+  private java.math.BigDecimal eventCreditGrantAppRatio;
+  /** 应用下载数据-付款成功数 */
+  @Excel(name = "应用下载数据-付款成功数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功数")
+  private Long eventOrderPaid;
+  /** 应用下载数据-付款成功金额 */
+  @Excel(name = "应用下载数据-付款成功金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功金额")
+  private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+  /** 应用下载数据-单次付款成本 */
+  @Excel(name = "应用下载数据-单次付款成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-单次付款成本")
+  private java.math.BigDecimal eventOrderPaidCost;
+  /** 应用下载数据-次留数(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+  private Long eventNextDayStay;
+  /** 应用下载数据-次留成本(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayCost;
+  /** 应用下载数据-次留率(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayRatio;
+  /** 落地页数据-表单提交数 */
+  @Excel(name = "落地页数据-表单提交数", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交数")
+  private Long formCount;
+  /** 落地页数据-表单提交单价 */
+  @Excel(name = "落地页数据-表单提交单价", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交单价")
+  private java.math.BigDecimal formCost;
+  /** 落地页数据-表单提交点击率 */
+  @Excel(name = "落地页数据-表单提交点击率", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交点击率")
+  private java.math.BigDecimal formActionRatio;
+  /** 落地页数据-落地页完件数 */
+  @Excel(name = "落地页数据-落地页完件数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件数")
+  private Long eventJinJianLandingPage;
+  /** 落地页数据-落地页完件成本 */
+  @Excel(name = "落地页数据-落地页完件成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件成本")
+  private java.math.BigDecimal eventJinJianLandingPageCost;
+  /** 落地页数据-落地页授信数 */
+  @Excel(name = "落地页数据-落地页授信数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信数")
+  private Long eventCreditGrantLandingPage;
+  /** 落地页数据-落地页授信成本 */
+  @Excel(name = "落地页数据-落地页授信成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信成本")
+  private java.math.BigDecimal eventCreditGrantLandingPageCost;
+  /** 落地页数据-落地页授信率 */
+  @Excel(name = "落地页数据-落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+  /** 落地页数据-有效线索数 */
+  @Excel(name = "落地页数据-有效线索数", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索数")
+  private Long eventValidClues;
+  /** 落地页数据-有效线索成本 */
+  @Excel(name = "落地页数据-有效线索成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索成本")
+  private java.math.BigDecimal eventValidCluesCost;
+  /** 微信复制数 */
+  @Excel(name = "微信复制数", width = 15)
+  @ApiModelProperty(value = "微信复制数")
+  private Long eventAddWechat;
+  /** 微信复制成本 */
+  @Excel(name = "微信复制成本", width = 15)
+  @ApiModelProperty(value = "微信复制成本")
+  private java.math.BigDecimal eventAddWechatCost;
+  /** 微信复制率 */
+  @Excel(name = "微信复制率", width = 15)
+  @ApiModelProperty(value = "微信复制率")
+  private java.math.BigDecimal eventAddWechatRatio;
+  /** 智能电话-确认接通数 */
+  @Excel(name = "智能电话-确认接通数", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通数")
+  private Long eventGetThrough;
+  /** 智能电话-确认接通成本 */
+  @Excel(name = "智能电话-确认接通成本", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通成本")
+  private java.math.BigDecimal eventGetThroughCost;
+  /** 智能电话-确认接通率 */
+  @Excel(name = "智能电话-确认接通率", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通率")
+  private java.math.BigDecimal eventGetThroughRatio;
+  /** 唤醒应用数 */
+  @Excel(name = "唤醒应用数", width = 15)
+  @ApiModelProperty(value = "唤醒应用数")
+  private Long eventAppInvoked;
+  /** 唤醒应用成本 */
+  @Excel(name = "唤醒应用成本", width = 15)
+  @ApiModelProperty(value = "唤醒应用成本")
+  private java.math.BigDecimal eventAppInvokedCost;
+  /** 唤醒应用率 */
+  @Excel(name = "唤醒应用率", width = 15)
+  @ApiModelProperty(value = "唤醒应用率")
+  private java.math.BigDecimal eventAppInvokedRatio;
+  /** 落地页授信率 */
+  @Excel(name = "落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingRatio;
+  /** 5s播放率 */
+  @Excel(name = "5s播放率", width = 15)
+  @ApiModelProperty(value = "5s播放率")
+  private java.math.BigDecimal play5sRatio;
+  /** 完播率 */
+  @Excel(name = "完播率", width = 15)
+  @ApiModelProperty(value = "完播率")
+  private java.math.BigDecimal playEndRatio;
+  /** 新增付费人数 */
+  @Excel(name = "新增付费人数", width = 15)
+  @ApiModelProperty(value = "新增付费人数")
+  private java.math.BigDecimal eventNewUserPay;
+  /** 新增付费人数成本 */
+  @Excel(name = "新增付费人数成本", width = 15)
+  @ApiModelProperty(value = "新增付费人数成本")
+  private java.math.BigDecimal eventNewUserPayCost;
+  /** 新增付费人数率 */
+  @Excel(name = "新增付费人数率", width = 15)
+  @ApiModelProperty(value = "新增付费人数率")
+  private java.math.BigDecimal eventNewUserPayRatio;
+  /** 平均千次素材曝光花费(元) */
+  @Excel(name = "平均千次素材曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次素材曝光花费(元)")
+  private java.math.BigDecimal click1kCost;
+  /** 商品成交数 */
+  @Excel(name = "商品成交数", width = 15)
+  @ApiModelProperty(value = "商品成交数")
+  private Long adProductCnt;
+  /** 商品访问数 */
+  @Excel(name = "商品访问数", width = 15)
+  @ApiModelProperty(value = "商品访问数")
+  private Long eventGoodsView;
+  /** 涨粉量 */
+  @Excel(name = "涨粉量", width = 15)
+  @ApiModelProperty(value = "涨粉量")
+  private Long merchantRecoFans;
+  /** 小店推广roi */
+  @Excel(name = "小店推广roi", width = 15)
+  @ApiModelProperty(value = "小店推广roi")
+  private java.math.BigDecimal eventOrderAmountRoi;
+  /** 商品访问成本 */
+  @Excel(name = "商品访问成本", width = 15)
+  @ApiModelProperty(value = "商品访问成本")
+  private java.math.BigDecimal eventGoodsViewCost;
+  /** 涨粉成本 */
+  @Excel(name = "涨粉成本", width = 15)
+  @ApiModelProperty(value = "涨粉成本")
+  private java.math.BigDecimal merchantRecoFansCost;
+  /** 按钮点击数 */
+  @Excel(name = "按钮点击数", width = 15)
+  @ApiModelProperty(value = "按钮点击数")
+  private Long eventButtonClick;
+  /** 按钮点击成本 */
+  @Excel(name = "按钮点击成本", width = 15)
+  @ApiModelProperty(value = "按钮点击成本")
+  private java.math.BigDecimal eventButtonClickCost;
+  /** 按钮点击率 */
+  @Excel(name = "按钮点击率", width = 15)
+  @ApiModelProperty(value = "按钮点击率")
+  private java.math.BigDecimal eventButtonClickRatio;
+  /** 订单支付率 */
+  @Excel(name = "订单支付率", width = 15)
+  @ApiModelProperty(value = "订单支付率")
+  private java.math.BigDecimal eventOrderPaidRoi;
+  /** 新增完件人数 */
+  @Excel(name = "新增完件人数", width = 15)
+  @ApiModelProperty(value = "新增完件人数")
+  private Long eventNewUserJinjianApp;
+  /** 新增完件成本 */
+  @Excel(name = "新增完件成本", width = 15)
+  @ApiModelProperty(value = "新增完件成本")
+  private java.math.BigDecimal eventNewUserJinjianAppCost;
+  /** 新增完件人数率 */
+  @Excel(name = "新增完件人数率", width = 15)
+  @ApiModelProperty(value = "新增完件人数率")
+  private java.math.BigDecimal eventNewUserJinjianAppRoi;
+  /** 新增授信人数 */
+  @Excel(name = "新增授信人数", width = 15)
+  @ApiModelProperty(value = "新增授信人数")
+  private Long eventNewUserCreditGrantApp;
+  /** 新增授信人数成本 */
+  @Excel(name = "新增授信人数成本", width = 15)
+  @ApiModelProperty(value = "新增授信人数成本")
+  private java.math.BigDecimal eventNewUserCreditGrantAppCost;
+  /** 新增授信人数率 */
+  @Excel(name = "新增授信人数率", width = 15)
+  @ApiModelProperty(value = "新增授信人数率")
+  private java.math.BigDecimal eventNewUserCreditGrantAppRoi;
+  /** eventNewUserJinjianPage */
+  @Excel(name = "eventNewUserJinjianPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPage")
+  private Long eventNewUserJinjianPage;
+  /** eventNewUserJinjianPageCost */
+  @Excel(name = "eventNewUserJinjianPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageCost")
+  private java.math.BigDecimal eventNewUserJinjianPageCost;
+  /** eventNewUserJinjianPageRoi */
+  @Excel(name = "eventNewUserJinjianPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageRoi")
+  private java.math.BigDecimal eventNewUserJinjianPageRoi;
+  /** eventNewUserCreditGrantPage */
+  @Excel(name = "eventNewUserCreditGrantPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPage")
+  private Long eventNewUserCreditGrantPage;
+  /** eventNewUserCreditGrantPageCost */
+  @Excel(name = "eventNewUserCreditGrantPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageCost")
+  private java.math.BigDecimal eventNewUserCreditGrantPageCost;
+  /** eventNewUserCreditGrantPageRoi */
+  @Excel(name = "eventNewUserCreditGrantPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageRoi")
+  private java.math.BigDecimal eventNewUserCreditGrantPageRoi;
+  /** 预约表单数 */
+  @Excel(name = "预约表单数", width = 15)
+  @ApiModelProperty(value = "预约表单数")
+  private Long eventAppointForm;
+  /** 预约表单点击成本 */
+  @Excel(name = "预约表单点击成本", width = 15)
+  @ApiModelProperty(value = "预约表单点击成本")
+  private java.math.BigDecimal eventAppointFormCost;
+  /** 预约表单点击率 */
+  @Excel(name = "预约表单点击率", width = 15)
+  @ApiModelProperty(value = "预约表单点击率")
+  private java.math.BigDecimal eventAppointFormRatio;
+  /** 预约跳转点击数 */
+  @Excel(name = "预约跳转点击数", width = 15)
+  @ApiModelProperty(value = "预约跳转点击数")
+  private Long eventAppointJumpClick;
+  /** 预约跳转点击成本 */
+  @Excel(name = "预约跳转点击成本", width = 15)
+  @ApiModelProperty(value = "预约跳转点击成本")
+  private java.math.BigDecimal eventAppointJumpClickCost;
+  /** 预约跳转点击率 */
+  @Excel(name = "预约跳转点击率", width = 15)
+  @ApiModelProperty(value = "预约跳转点击率")
+  private java.math.BigDecimal eventAppointJumpClickRatio;
+  /** 联盟广告收入 */
+  @Excel(name = "联盟广告收入", width = 15)
+  @ApiModelProperty(value = "联盟广告收入")
+  private Long unionEventPayPurchaseAmount7d;
+  /** 联盟变现ROI */
+  @Excel(name = "联盟变现ROI", width = 15)
+  @ApiModelProperty(value = "联盟变现ROI")
+  private java.math.BigDecimal unionEventPayPurchaseAmount7dRoi;
+  /** placementType */
+  @Excel(name = "placementType", width = 15)
+  @ApiModelProperty(value = "placementType")
+  private String placementType;
+  /** adScene */
+  @Excel(name = "adScene", width = 15)
+  @ApiModelProperty(value = "adScene")
+  private String adScene;
+  /** eventOrderSuccessed */
+  @Excel(name = "eventOrderSuccessed", width = 15)
+  @ApiModelProperty(value = "eventOrderSuccessed")
+  private Long eventOrderSuccessed;
+  /** adPhotoPlayed10sRatio */
+  @Excel(name = "adPhotoPlayed10sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed10sRatio")
+  private java.math.BigDecimal adPhotoPlayed10sRatio;
+  /** keyActionCost */
+  @Excel(name = "keyActionCost", width = 15)
+  @ApiModelProperty(value = "keyActionCost")
+  private java.math.BigDecimal keyActionCost;
+  /** 添加购物车成本 */
+  @Excel(name = "添加购物车成本", width = 15)
+  @ApiModelProperty(value = "添加购物车成本")
+  private java.math.BigDecimal eventAddShoppingCartCost;
+  /** 广告观看次数转化率 */
+  @Excel(name = "广告观看次数转化率", width = 15)
+  @ApiModelProperty(value = "广告观看次数转化率")
+  private java.math.BigDecimal eventAdWatchTimesRatio;
+  /** eventOutboundCallCost */
+  @Excel(name = "eventOutboundCallCost", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallCost")
+  private java.math.BigDecimal eventOutboundCallCost;
+  /** eventOutboundCall */
+  @Excel(name = "eventOutboundCall", width = 15)
+  @ApiModelProperty(value = "eventOutboundCall")
+  private Long eventOutboundCall;
+  /** actionNewRatio */
+  @Excel(name = "actionNewRatio", width = 15)
+  @ApiModelProperty(value = "actionNewRatio")
+  private java.math.BigDecimal actionNewRatio;
+  /** 广告观看 */
+  @Excel(name = "广告观看", width = 15)
+  @ApiModelProperty(value = "广告观看")
+  private Long eventWatchAppAd;
+  /** 落地页多转化成本 */
+  @Excel(name = "落地页多转化成本", width = 15)
+  @ApiModelProperty(value = "落地页多转化成本")
+  private java.math.BigDecimal eventMultiConversionCost;
+  /** eventPhoneCardActivate */
+  @Excel(name = "eventPhoneCardActivate", width = 15)
+  @ApiModelProperty(value = "eventPhoneCardActivate")
+  private Long eventPhoneCardActivate;
+  /** adPhotoPlayed75percentRatio */
+  @Excel(name = "adPhotoPlayed75percentRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed75percentRatio")
+  private java.math.BigDecimal adPhotoPlayed75percentRatio;
+  /** keyActionRatio */
+  @Excel(name = "keyActionRatio", width = 15)
+  @ApiModelProperty(value = "keyActionRatio")
+  private java.math.BigDecimal keyActionRatio;
+  /** 广告观看次数成本 */
+  @Excel(name = "广告观看次数成本", width = 15)
+  @ApiModelProperty(value = "广告观看次数成本")
+  private java.math.BigDecimal eventAdWatchTimesCost;
+  /** 添加购物车数 */
+  @Excel(name = "添加购物车数", width = 15)
+  @ApiModelProperty(value = "添加购物车数")
+  private Long eventAddShoppingCart;
+  /** keyAction */
+  @Excel(name = "keyAction", width = 15)
+  @ApiModelProperty(value = "keyAction")
+  private Long keyAction;
+  /** 落地页多转化次数 */
+  @Excel(name = "落地页多转化次数", width = 15)
+  @ApiModelProperty(value = "落地页多转化次数")
+  private Long eventMultiConversion;
+  /** eventWechatConnected */
+  @Excel(name = "eventWechatConnected", width = 15)
+  @ApiModelProperty(value = "eventWechatConnected")
+  private Long eventWechatConnected;
+  /** 附加组件表单提交 */
+  @Excel(name = "附加组件表单提交", width = 15)
+  @ApiModelProperty(value = "附加组件表单提交")
+  private Long eventDspGiftForm;
+  /** eventIntentionConfirmed */
+  @Excel(name = "eventIntentionConfirmed", width = 15)
+  @ApiModelProperty(value = "eventIntentionConfirmed")
+  private Long eventIntentionConfirmed;
+  /** eventPhoneGetThrough */
+  @Excel(name = "eventPhoneGetThrough", width = 15)
+  @ApiModelProperty(value = "eventPhoneGetThrough")
+  private Long eventPhoneGetThrough;
+  /** 落地页多转化率 */
+  @Excel(name = "落地页多转化率", width = 15)
+  @ApiModelProperty(value = "落地页多转化率")
+  private java.math.BigDecimal eventMultiConversionRatio;
+  /** eventMeasurementHouse */
+  @Excel(name = "eventMeasurementHouse", width = 15)
+  @ApiModelProperty(value = "eventMeasurementHouse")
+  private java.math.BigDecimal eventMeasurementHouse;
+  /** adPhotoPlayed2sRatio */
+  @Excel(name = "adPhotoPlayed2sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed2sRatio")
+  private java.math.BigDecimal adPhotoPlayed2sRatio;
+  /** eventOutboundCallRatio */
+  @Excel(name = "eventOutboundCallRatio", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallRatio")
+  private java.math.BigDecimal eventOutboundCallRatio;
+  /** 广告观看次数 */
+  @Excel(name = " 广告观看次数", width = 15)
+  @ApiModelProperty(value = " 广告观看次数")
+  private Long eventAdWatchTimes;
+}

+ 562 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/KuaishouUnitReportHourly.java

@@ -0,0 +1,562 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 组-时报
+ *
+ * @author jeecg-boot
+ * @date 2021-09-09
+ * @version V1.0
+ */
+@Data
+@TableName("kuaishou_unit_report_hourly")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "kuaishou_unit_report_hourly对象", description = "组-时报")
+public class KuaishouUnitReportHourly {
+
+  /** 广告主id */
+  @Excel(name = "广告主id", width = 15)
+  @ApiModelProperty(value = "广告主id")
+  private Long advertiserId;
+  /** 数据日期,格式:YYYYMMDD */
+  @Excel(name = "数据日期,格式:YYYYMMDD", width = 15)
+  @ApiModelProperty(value = "数据日期,格式:YYYYMMDD")
+  private Integer statDate;
+  /** 广告计划ID */
+  @Excel(name = "广告计划ID", width = 15)
+  @ApiModelProperty(value = "广告计划ID")
+  private Long campaignId;
+  /** 广告计划名称 */
+  @Excel(name = "广告计划名称", width = 15)
+  @ApiModelProperty(value = "广告计划名称")
+  private String campaignName;
+  /** 广告组ID */
+  @Excel(name = "广告组ID", width = 15)
+  @ApiModelProperty(value = "广告组ID")
+  private Long unitId;
+  /** 广告组名称 */
+  @Excel(name = "广告组名称", width = 15)
+  @ApiModelProperty(value = "广告组名称")
+  private String unitName;
+  /** 小时 */
+  @Excel(name = "小时", width = 15)
+  @ApiModelProperty(value = "小时")
+  private Integer hour;
+  /** 花费(元) */
+  @Excel(name = "花费(元)", width = 15)
+  @ApiModelProperty(value = "花费(元)")
+  private java.math.BigDecimal charge;
+  /** 封面曝光数 */
+  @Excel(name = "封面曝光数", width = 15)
+  @ApiModelProperty(value = "封面曝光数")
+  private Long show;
+  /** 封面点击数 */
+  @Excel(name = "封面点击数", width = 15)
+  @ApiModelProperty(value = "封面点击数")
+  private Long photoClick;
+  /** 素材曝光数 */
+  @Excel(name = "素材曝光数", width = 15)
+  @ApiModelProperty(value = "素材曝光数")
+  private Long aclick;
+  /** 行为数 */
+  @Excel(name = "行为数", width = 15)
+  @ApiModelProperty(value = "行为数")
+  private Long bclick;
+  /** 封面点击率 */
+  @Excel(name = "封面点击率", width = 15)
+  @ApiModelProperty(value = "封面点击率")
+  private java.math.BigDecimal photoClickRatio;
+  /** 3s播放率 */
+  @Excel(name = "3s播放率", width = 15)
+  @ApiModelProperty(value = "3s播放率")
+  private java.math.BigDecimal play3sRatio;
+  /** 行为率 */
+  @Excel(name = "行为率", width = 15)
+  @ApiModelProperty(value = "行为率")
+  private java.math.BigDecimal actionRatio;
+  /** 平均千次曝光花费(元) */
+  @Excel(name = "平均千次曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次曝光花费(元)")
+  private java.math.BigDecimal impression1kCost;
+  /** 平均点击单价(元) */
+  @Excel(name = "平均点击单价(元)", width = 15)
+  @ApiModelProperty(value = "平均点击单价(元)")
+  private java.math.BigDecimal photoClickCost;
+  /** 平均行为单价(元) */
+  @Excel(name = "平均行为单价(元)", width = 15)
+  @ApiModelProperty(value = "平均行为单价(元)")
+  private java.math.BigDecimal actionCost;
+  /** 分享数 */
+  @Excel(name = "分享数", width = 15)
+  @ApiModelProperty(value = "分享数")
+  private Long share;
+  /** 评论数 */
+  @Excel(name = "评论数", width = 15)
+  @ApiModelProperty(value = "评论数")
+  private Long comment;
+  /** 点赞数 */
+  @Excel(name = "点赞数", width = 15)
+  @ApiModelProperty(value = "点赞数")
+  private Long like;
+  /** 新增关注数 */
+  @Excel(name = "新增关注数", width = 15)
+  @ApiModelProperty(value = "新增关注数")
+  private Long follow;
+  /** 取消关注数 */
+  @Excel(name = "取消关注数", width = 15)
+  @ApiModelProperty(value = "取消关注数")
+  private Long cancelFollow;
+  /** 举报数 */
+  @Excel(name = "举报数", width = 15)
+  @ApiModelProperty(value = "举报数")
+  private Long report;
+  /** 拉黑数 */
+  @Excel(name = "拉黑数", width = 15)
+  @ApiModelProperty(value = "拉黑数")
+  private Long block;
+  /** 减少此类作品数 */
+  @Excel(name = "减少此类作品数", width = 15)
+  @ApiModelProperty(value = "减少此类作品数")
+  private Long negative;
+  /** 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段) */
+  @Excel(name = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)", width = 15)
+  @ApiModelProperty(value = "提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)")
+  private Long submit;
+  /** 应用下载数据-安卓下载开始数 */
+  @Excel(name = "应用下载数据-安卓下载开始数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载开始数")
+  private Long downloadStarted;
+  /** 应用下载数据-安卓下载完成数 */
+  @Excel(name = "应用下载数据-安卓下载完成数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-安卓下载完成数")
+  private Long downloadCompleted;
+  /** 应用下载数据-激活数 */
+  @Excel(name = "应用下载数据-激活数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-激活数")
+  private Long activation;
+  /** 应用下载数据-首日付费次数 */
+  @Excel(name = "应用下载数据-首日付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费次数")
+  private Long eventPayFirstDay;
+  /** 应用下载数据-首日付费金额 */
+  @Excel(name = "应用下载数据-首日付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmountFirstDay;
+  /** 应用下载数据-首日ROI */
+  @Excel(name = "应用下载数据-首日ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-首日ROI")
+  private java.math.BigDecimal eventPayFirstDayRoi;
+  /** 应用下载数据-付费次数 */
+  @Excel(name = "应用下载数据-付费次数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费次数")
+  private Long eventPay;
+  /** 应用下载数据-付费金额 */
+  @Excel(name = "应用下载数据-付费金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付费金额")
+  private java.math.BigDecimal eventPayPurchaseAmount;
+  /** 应用下载数据-ROI */
+  @Excel(name = "应用下载数据-ROI", width = 15)
+  @ApiModelProperty(value = "应用下载数据-ROI")
+  private java.math.BigDecimal eventPayRoi;
+  /** 应用下载数据-注册数 */
+  @Excel(name = "应用下载数据-注册数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册数")
+  private Long eventRegister;
+  /** 应用下载数据-注册成本 */
+  @Excel(name = "应用下载数据-注册成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册成本")
+  private java.math.BigDecimal eventRegisterCost;
+  /** 应用下载数据-注册率 */
+  @Excel(name = "应用下载数据-注册率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-注册率")
+  private java.math.BigDecimal eventRegisterRatio;
+  /** 应用下载数据-完件数 */
+  @Excel(name = "应用下载数据-完件数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件数")
+  private Long eventJinJianApp;
+  /** 应用下载数据-完件成本 */
+  @Excel(name = "应用下载数据-完件成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-完件成本")
+  private java.math.BigDecimal eventJinJianAppCost;
+  /** 应用下载数据-授信数 */
+  @Excel(name = "应用下载数据-授信数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信数")
+  private Long eventCreditGrantApp;
+  /** 应用下载数据-授信成本 */
+  @Excel(name = "应用下载数据-授信成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信成本")
+  private java.math.BigDecimal eventCreditGrantAppCost;
+  /** 应用下载数据-授信率 */
+  @Excel(name = "应用下载数据-授信率", width = 15)
+  @ApiModelProperty(value = "应用下载数据-授信率")
+  private java.math.BigDecimal eventCreditGrantAppRatio;
+  /** 应用下载数据-付款成功数 */
+  @Excel(name = "应用下载数据-付款成功数", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功数")
+  private Long eventOrderPaid;
+  /** 应用下载数据-付款成功金额 */
+  @Excel(name = "应用下载数据-付款成功金额", width = 15)
+  @ApiModelProperty(value = "应用下载数据-付款成功金额")
+  private java.math.BigDecimal eventOrderPaidPurchaseAmount;
+  /** 应用下载数据-单次付款成本 */
+  @Excel(name = "应用下载数据-单次付款成本", width = 15)
+  @ApiModelProperty(value = "应用下载数据-单次付款成本")
+  private java.math.BigDecimal eventOrderPaidCost;
+  /** 应用下载数据-次留数(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留数(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留数(仅支持分日查询)")
+  private Long eventNextDayStay;
+  /** 应用下载数据-次留成本(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留成本(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留成本(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayCost;
+  /** 应用下载数据-次留率(仅支持分日查询) */
+  @Excel(name = "应用下载数据-次留率(仅支持分日查询)", width = 15)
+  @ApiModelProperty(value = "应用下载数据-次留率(仅支持分日查询)")
+  private java.math.BigDecimal eventNextDayStayRatio;
+  /** 落地页数据-表单提交数 */
+  @Excel(name = "落地页数据-表单提交数", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交数")
+  private Long formCount;
+  /** 落地页数据-表单提交单价 */
+  @Excel(name = "落地页数据-表单提交单价", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交单价")
+  private java.math.BigDecimal formCost;
+  /** 落地页数据-表单提交点击率 */
+  @Excel(name = "落地页数据-表单提交点击率", width = 15)
+  @ApiModelProperty(value = "落地页数据-表单提交点击率")
+  private java.math.BigDecimal formActionRatio;
+  /** 落地页数据-落地页完件数 */
+  @Excel(name = "落地页数据-落地页完件数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件数")
+  private Long eventJinJianLandingPage;
+  /** 落地页数据-落地页完件成本 */
+  @Excel(name = "落地页数据-落地页完件成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页完件成本")
+  private java.math.BigDecimal eventJinJianLandingPageCost;
+  /** 落地页数据-落地页授信数 */
+  @Excel(name = "落地页数据-落地页授信数", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信数")
+  private Long eventCreditGrantLandingPage;
+  /** 落地页数据-落地页授信成本 */
+  @Excel(name = "落地页数据-落地页授信成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信成本")
+  private java.math.BigDecimal eventCreditGrantLandingPageCost;
+  /** 落地页数据-落地页授信率 */
+  @Excel(name = "落地页数据-落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页数据-落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingPageRatio;
+  /** 落地页数据-有效线索数 */
+  @Excel(name = "落地页数据-有效线索数", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索数")
+  private Long eventValidClues;
+  /** 落地页数据-有效线索成本 */
+  @Excel(name = "落地页数据-有效线索成本", width = 15)
+  @ApiModelProperty(value = "落地页数据-有效线索成本")
+  private java.math.BigDecimal eventValidCluesCost;
+  /** 微信复制数 */
+  @Excel(name = "微信复制数", width = 15)
+  @ApiModelProperty(value = "微信复制数")
+  private Long eventAddWechat;
+  /** 微信复制成本 */
+  @Excel(name = "微信复制成本", width = 15)
+  @ApiModelProperty(value = "微信复制成本")
+  private java.math.BigDecimal eventAddWechatCost;
+  /** 微信复制率 */
+  @Excel(name = "微信复制率", width = 15)
+  @ApiModelProperty(value = "微信复制率")
+  private java.math.BigDecimal eventAddWechatRatio;
+  /** 智能电话-确认接通数 */
+  @Excel(name = "智能电话-确认接通数", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通数")
+  private Long eventGetThrough;
+  /** 智能电话-确认接通成本 */
+  @Excel(name = "智能电话-确认接通成本", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通成本")
+  private java.math.BigDecimal eventGetThroughCost;
+  /** 智能电话-确认接通率 */
+  @Excel(name = "智能电话-确认接通率", width = 15)
+  @ApiModelProperty(value = "智能电话-确认接通率")
+  private java.math.BigDecimal eventGetThroughRatio;
+  /** 唤醒应用数 */
+  @Excel(name = "唤醒应用数", width = 15)
+  @ApiModelProperty(value = "唤醒应用数")
+  private Long eventAppInvoked;
+  /** 唤醒应用成本 */
+  @Excel(name = "唤醒应用成本", width = 15)
+  @ApiModelProperty(value = "唤醒应用成本")
+  private java.math.BigDecimal eventAppInvokedCost;
+  /** 唤醒应用率 */
+  @Excel(name = "唤醒应用率", width = 15)
+  @ApiModelProperty(value = "唤醒应用率")
+  private java.math.BigDecimal eventAppInvokedRatio;
+  /** 落地页授信率 */
+  @Excel(name = "落地页授信率", width = 15)
+  @ApiModelProperty(value = "落地页授信率")
+  private java.math.BigDecimal eventCreditGrantLandingRatio;
+  /** 5s播放率 */
+  @Excel(name = "5s播放率", width = 15)
+  @ApiModelProperty(value = "5s播放率")
+  private java.math.BigDecimal play5sRatio;
+  /** 完播率 */
+  @Excel(name = "完播率", width = 15)
+  @ApiModelProperty(value = "完播率")
+  private java.math.BigDecimal playEndRatio;
+  /** 新增付费人数 */
+  @Excel(name = "新增付费人数", width = 15)
+  @ApiModelProperty(value = "新增付费人数")
+  private java.math.BigDecimal eventNewUserPay;
+  /** 新增付费人数成本 */
+  @Excel(name = "新增付费人数成本", width = 15)
+  @ApiModelProperty(value = "新增付费人数成本")
+  private java.math.BigDecimal eventNewUserPayCost;
+  /** 新增付费人数率 */
+  @Excel(name = "新增付费人数率", width = 15)
+  @ApiModelProperty(value = "新增付费人数率")
+  private java.math.BigDecimal eventNewUserPayRatio;
+  /** 平均千次素材曝光花费(元) */
+  @Excel(name = "平均千次素材曝光花费(元)", width = 15)
+  @ApiModelProperty(value = "平均千次素材曝光花费(元)")
+  private java.math.BigDecimal click1kCost;
+  /** 商品成交数 */
+  @Excel(name = "商品成交数", width = 15)
+  @ApiModelProperty(value = "商品成交数")
+  private Long adProductCnt;
+  /** 商品访问数 */
+  @Excel(name = "商品访问数", width = 15)
+  @ApiModelProperty(value = "商品访问数")
+  private Long eventGoodsView;
+  /** 涨粉量 */
+  @Excel(name = "涨粉量", width = 15)
+  @ApiModelProperty(value = "涨粉量")
+  private Long merchantRecoFans;
+  /** 小店推广roi */
+  @Excel(name = "小店推广roi", width = 15)
+  @ApiModelProperty(value = "小店推广roi")
+  private java.math.BigDecimal eventOrderAmountRoi;
+  /** 商品访问成本 */
+  @Excel(name = "商品访问成本", width = 15)
+  @ApiModelProperty(value = "商品访问成本")
+  private java.math.BigDecimal eventGoodsViewCost;
+  /** 涨粉成本 */
+  @Excel(name = "涨粉成本", width = 15)
+  @ApiModelProperty(value = "涨粉成本")
+  private java.math.BigDecimal merchantRecoFansCost;
+  /** 按钮点击数 */
+  @Excel(name = "按钮点击数", width = 15)
+  @ApiModelProperty(value = "按钮点击数")
+  private Long eventButtonClick;
+  /** 按钮点击成本 */
+  @Excel(name = "按钮点击成本", width = 15)
+  @ApiModelProperty(value = "按钮点击成本")
+  private java.math.BigDecimal eventButtonClickCost;
+  /** 按钮点击率 */
+  @Excel(name = "按钮点击率", width = 15)
+  @ApiModelProperty(value = "按钮点击率")
+  private java.math.BigDecimal eventButtonClickRatio;
+  /** 订单支付率 */
+  @Excel(name = "订单支付率", width = 15)
+  @ApiModelProperty(value = "订单支付率")
+  private java.math.BigDecimal eventOrderPaidRoi;
+  /** 新增完件人数 */
+  @Excel(name = "新增完件人数", width = 15)
+  @ApiModelProperty(value = "新增完件人数")
+  private Long eventNewUserJinjianApp;
+  /** 新增完件成本 */
+  @Excel(name = "新增完件成本", width = 15)
+  @ApiModelProperty(value = "新增完件成本")
+  private java.math.BigDecimal eventNewUserJinjianAppCost;
+  /** 新增完件人数率 */
+  @Excel(name = "新增完件人数率", width = 15)
+  @ApiModelProperty(value = "新增完件人数率")
+  private java.math.BigDecimal eventNewUserJinjianAppRoi;
+  /** 新增授信人数 */
+  @Excel(name = "新增授信人数", width = 15)
+  @ApiModelProperty(value = "新增授信人数")
+  private Long eventNewUserCreditGrantApp;
+  /** 新增授信人数成本 */
+  @Excel(name = "新增授信人数成本", width = 15)
+  @ApiModelProperty(value = "新增授信人数成本")
+  private java.math.BigDecimal eventNewUserCreditGrantAppCost;
+  /** 新增授信人数率 */
+  @Excel(name = "新增授信人数率", width = 15)
+  @ApiModelProperty(value = "新增授信人数率")
+  private java.math.BigDecimal eventNewUserCreditGrantAppRoi;
+  /** eventNewUserJinjianPage */
+  @Excel(name = "eventNewUserJinjianPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPage")
+  private Long eventNewUserJinjianPage;
+  /** eventNewUserJinjianPageCost */
+  @Excel(name = "eventNewUserJinjianPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageCost")
+  private java.math.BigDecimal eventNewUserJinjianPageCost;
+  /** eventNewUserJinjianPageRoi */
+  @Excel(name = "eventNewUserJinjianPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserJinjianPageRoi")
+  private java.math.BigDecimal eventNewUserJinjianPageRoi;
+  /** eventNewUserCreditGrantPage */
+  @Excel(name = "eventNewUserCreditGrantPage", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPage")
+  private Long eventNewUserCreditGrantPage;
+  /** eventNewUserCreditGrantPageCost */
+  @Excel(name = "eventNewUserCreditGrantPageCost", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageCost")
+  private java.math.BigDecimal eventNewUserCreditGrantPageCost;
+  /** eventNewUserCreditGrantPageRoi */
+  @Excel(name = "eventNewUserCreditGrantPageRoi", width = 15)
+  @ApiModelProperty(value = "eventNewUserCreditGrantPageRoi")
+  private java.math.BigDecimal eventNewUserCreditGrantPageRoi;
+  /** 预约表单数 */
+  @Excel(name = "预约表单数", width = 15)
+  @ApiModelProperty(value = "预约表单数")
+  private Long eventAppointForm;
+  /** 预约表单点击成本 */
+  @Excel(name = "预约表单点击成本", width = 15)
+  @ApiModelProperty(value = "预约表单点击成本")
+  private java.math.BigDecimal eventAppointFormCost;
+  /** 预约表单点击率 */
+  @Excel(name = "预约表单点击率", width = 15)
+  @ApiModelProperty(value = "预约表单点击率")
+  private java.math.BigDecimal eventAppointFormRatio;
+  /** 预约跳转点击数 */
+  @Excel(name = "预约跳转点击数", width = 15)
+  @ApiModelProperty(value = "预约跳转点击数")
+  private Long eventAppointJumpClick;
+  /** 预约跳转点击成本 */
+  @Excel(name = "预约跳转点击成本", width = 15)
+  @ApiModelProperty(value = "预约跳转点击成本")
+  private java.math.BigDecimal eventAppointJumpClickCost;
+  /** 预约跳转点击率 */
+  @Excel(name = "预约跳转点击率", width = 15)
+  @ApiModelProperty(value = "预约跳转点击率")
+  private java.math.BigDecimal eventAppointJumpClickRatio;
+  /** 联盟广告收入 */
+  @Excel(name = "联盟广告收入", width = 15)
+  @ApiModelProperty(value = "联盟广告收入")
+  private Long unionEventPayPurchaseAmount7d;
+  /** 联盟变现ROI */
+  @Excel(name = "联盟变现ROI", width = 15)
+  @ApiModelProperty(value = "联盟变现ROI")
+  private java.math.BigDecimal unionEventPayPurchaseAmount7dRoi;
+  /** placementType */
+  @Excel(name = "placementType", width = 15)
+  @ApiModelProperty(value = "placementType")
+  private String placementType;
+  /** adScene */
+  @Excel(name = "adScene", width = 15)
+  @ApiModelProperty(value = "adScene")
+  private String adScene;
+  /** eventOrderSuccessed */
+  @Excel(name = "eventOrderSuccessed", width = 15)
+  @ApiModelProperty(value = "eventOrderSuccessed")
+  private Long eventOrderSuccessed;
+  /** adPhotoPlayed10sRatio */
+  @Excel(name = "adPhotoPlayed10sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed10sRatio")
+  private java.math.BigDecimal adPhotoPlayed10sRatio;
+  /** keyActionCost */
+  @Excel(name = "keyActionCost", width = 15)
+  @ApiModelProperty(value = "keyActionCost")
+  private java.math.BigDecimal keyActionCost;
+  /** 添加购物车成本 */
+  @Excel(name = "添加购物车成本", width = 15)
+  @ApiModelProperty(value = "添加购物车成本")
+  private java.math.BigDecimal eventAddShoppingCartCost;
+  /** 广告观看次数转化率 */
+  @Excel(name = "广告观看次数转化率", width = 15)
+  @ApiModelProperty(value = "广告观看次数转化率")
+  private java.math.BigDecimal eventAdWatchTimesRatio;
+  /** eventOutboundCallCost */
+  @Excel(name = "eventOutboundCallCost", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallCost")
+  private java.math.BigDecimal eventOutboundCallCost;
+  /** eventOutboundCall */
+  @Excel(name = "eventOutboundCall", width = 15)
+  @ApiModelProperty(value = "eventOutboundCall")
+  private Long eventOutboundCall;
+  /** actionNewRatio */
+  @Excel(name = "actionNewRatio", width = 15)
+  @ApiModelProperty(value = "actionNewRatio")
+  private java.math.BigDecimal actionNewRatio;
+  /** 广告观看 */
+  @Excel(name = "广告观看", width = 15)
+  @ApiModelProperty(value = "广告观看")
+  private Long eventWatchAppAd;
+  /** 落地页多转化成本 */
+  @Excel(name = "落地页多转化成本", width = 15)
+  @ApiModelProperty(value = "落地页多转化成本")
+  private java.math.BigDecimal eventMultiConversionCost;
+  /** eventPhoneCardActivate */
+  @Excel(name = "eventPhoneCardActivate", width = 15)
+  @ApiModelProperty(value = "eventPhoneCardActivate")
+  private Long eventPhoneCardActivate;
+  /** adPhotoPlayed75percentRatio */
+  @Excel(name = "adPhotoPlayed75percentRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed75percentRatio")
+  private java.math.BigDecimal adPhotoPlayed75percentRatio;
+  /** keyActionRatio */
+  @Excel(name = "keyActionRatio", width = 15)
+  @ApiModelProperty(value = "keyActionRatio")
+  private java.math.BigDecimal keyActionRatio;
+  /** 广告观看次数成本 */
+  @Excel(name = "广告观看次数成本", width = 15)
+  @ApiModelProperty(value = "广告观看次数成本")
+  private java.math.BigDecimal eventAdWatchTimesCost;
+  /** 添加购物车数 */
+  @Excel(name = "添加购物车数", width = 15)
+  @ApiModelProperty(value = "添加购物车数")
+  private Long eventAddShoppingCart;
+  /** keyAction */
+  @Excel(name = "keyAction", width = 15)
+  @ApiModelProperty(value = "keyAction")
+  private Long keyAction;
+  /** 落地页多转化次数 */
+  @Excel(name = "落地页多转化次数", width = 15)
+  @ApiModelProperty(value = "落地页多转化次数")
+  private Long eventMultiConversion;
+  /** eventWechatConnected */
+  @Excel(name = "eventWechatConnected", width = 15)
+  @ApiModelProperty(value = "eventWechatConnected")
+  private Long eventWechatConnected;
+  /** 附加组件表单提交 */
+  @Excel(name = "附加组件表单提交", width = 15)
+  @ApiModelProperty(value = "附加组件表单提交")
+  private Long eventDspGiftForm;
+  /** eventIntentionConfirmed */
+  @Excel(name = "eventIntentionConfirmed", width = 15)
+  @ApiModelProperty(value = "eventIntentionConfirmed")
+  private Long eventIntentionConfirmed;
+  /** eventPhoneGetThrough */
+  @Excel(name = "eventPhoneGetThrough", width = 15)
+  @ApiModelProperty(value = "eventPhoneGetThrough")
+  private Long eventPhoneGetThrough;
+  /** 落地页多转化率 */
+  @Excel(name = "落地页多转化率", width = 15)
+  @ApiModelProperty(value = "落地页多转化率")
+  private java.math.BigDecimal eventMultiConversionRatio;
+  /** eventMeasurementHouse */
+  @Excel(name = "eventMeasurementHouse", width = 15)
+  @ApiModelProperty(value = "eventMeasurementHouse")
+  private java.math.BigDecimal eventMeasurementHouse;
+  /** adPhotoPlayed2sRatio */
+  @Excel(name = "adPhotoPlayed2sRatio", width = 15)
+  @ApiModelProperty(value = "adPhotoPlayed2sRatio")
+  private java.math.BigDecimal adPhotoPlayed2sRatio;
+  /** eventOutboundCallRatio */
+  @Excel(name = "eventOutboundCallRatio", width = 15)
+  @ApiModelProperty(value = "eventOutboundCallRatio")
+  private java.math.BigDecimal eventOutboundCallRatio;
+  /** 广告观看次数 */
+  @Excel(name = " 广告观看次数", width = 15)
+  @ApiModelProperty(value = " 广告观看次数")
+  private Long eventAdWatchTimes;
+}

+ 75 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/entity/OauthToken.java

@@ -0,0 +1,75 @@
+package cn.com.ctop.job.kuaishou.data.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * token信息
+ *
+ * @author jeecg-boot
+ * @date 2021-09-07
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_oauth_token")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "ctop_oauth_token对象", description = "token信息")
+public class OauthToken {
+
+  /** 主键ID */
+  @TableId(type = IdType.UUID)
+  @ApiModelProperty(value = "主键ID")
+  private String id;
+  /** 媒体ID(外部广告平台类型,快手/头条/抖音等) */
+  @ApiModelProperty(value = "媒体ID(外部广告平台类型,快手/头条/抖音等)")
+  private String mediaId;
+  /** 广告主ID(自己平台用户内部id) */
+  @ApiModelProperty(value = "广告主ID(自己平台用户内部id)")
+  private String advertiserId;
+  /** 广告账户ID(相当于头条返回的access_token数据中的advertiser_id) */
+  @ApiModelProperty(value = "广告账户ID(相当于头条返回的access_token数据中的advertiser_id)")
+  private Integer accountId;
+  /** 访问令牌 */
+  @ApiModelProperty(value = "访问令牌")
+  private String accessToken;
+  /** 访问令牌有效期 */
+  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+  @ApiModelProperty(value = "访问令牌有效期")
+  private Date accessTokenExpiresIn;
+  /** 刷新令牌 */
+  @ApiModelProperty(value = "刷新令牌")
+  private String refreshToken;
+  /** 刷新令牌有效期 */
+  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+  @ApiModelProperty(value = "刷新令牌有效期")
+  private Date refreshTokenExpiresIn;
+  /** 代理商类型 0:三方代理商 1:本代理商 */
+  @ApiModelProperty(value = "代理商类型 0:三方代理商 1:本代理商")
+  private Integer agentType;
+  /** appid */
+  @ApiModelProperty(value = "appid")
+  private Integer appId;
+  /** 创建时间 */
+  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+  @ApiModelProperty(value = "创建时间")
+  private Date createTime;
+  /** 修改时间 */
+  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+  @ApiModelProperty(value = "修改时间")
+  private Date updateTime;
+}

+ 17 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouAccountReportDailyMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouAccountReportDaily;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 快手-账户日报
+ *
+ * @author jeecg-boot 2021-09-07
+ * @version V1.0
+ */
+public interface KuaishouAccountReportDailyMapper extends BaseMapper<KuaishouAccountReportDaily> {
+  void replaceBatch(@Param("addList") List<KuaishouAccountReportDaily> addList);
+}

+ 17 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouAccountReportHourlyMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouAccountReportHourly;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 快手-账户时报
+ *
+ * @author jeecg-boot 2021-09-08
+ * @version V1.0
+ */
+public interface KuaishouAccountReportHourlyMapper extends BaseMapper<KuaishouAccountReportHourly> {
+    void replaceBatch(@Param("addList") List<KuaishouAccountReportHourly> addList);
+}

+ 17 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouCampaignReportDailyMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCampaignReportDaily;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 快手-计划日报
+ *
+ * @author jeecg-boot 2021-09-08
+ * @version V1.0
+ */
+public interface KuaishouCampaignReportDailyMapper extends BaseMapper<KuaishouCampaignReportDaily> {
+    void replaceBatch(@Param("addList") List<KuaishouCampaignReportDaily> addList);
+}

+ 17 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouCampaignReportHourlyMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCampaignReportHourly;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 快手-计划时报
+ *
+ * @author jeecg-boot 2021-09-08
+ * @version V1.0
+ */
+public interface KuaishouCampaignReportHourlyMapper extends BaseMapper<KuaishouCampaignReportHourly> {
+    void replaceBatch(@Param("addList") List<KuaishouCampaignReportHourly> addList);
+}

+ 18 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouCreativeReportDailyMapper.java

@@ -0,0 +1,18 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCreativeReportDaily;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 创意-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface KuaishouCreativeReportDailyMapper
+    extends BaseMapper<KuaishouCreativeReportDaily> {
+    void replaceBatch(@Param("addList") List<KuaishouCreativeReportDaily> addList);
+}

+ 18 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouMaterialVideoReportDailyMapper.java

@@ -0,0 +1,18 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouMaterialVideoReportDaily;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 素材-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface KuaishouMaterialVideoReportDailyMapper
+    extends BaseMapper<KuaishouMaterialVideoReportDaily> {
+    void replaceBatch(@Param("addList") List<KuaishouMaterialVideoReportDaily> addList);
+}

+ 18 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouMaterialVideoReportHourlyMapper.java

@@ -0,0 +1,18 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouMaterialVideoReportHourly;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 素材-时报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface KuaishouMaterialVideoReportHourlyMapper
+    extends BaseMapper<KuaishouMaterialVideoReportHourly> {
+    void replaceBatch(@Param("addList") List<KuaishouMaterialVideoReportHourly> addList);
+}

+ 18 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouProgramCreativeReportDailyMapper.java

@@ -0,0 +1,18 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouProgramCreativeReportDaily;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 程序化创意-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface KuaishouProgramCreativeReportDailyMapper
+    extends BaseMapper<KuaishouProgramCreativeReportDaily> {
+    void replaceBatch(@Param("addList") List<KuaishouProgramCreativeReportDaily> addList);
+}

+ 17 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouUnitReportDailyMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouUnitReportDaily;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 组-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface KuaishouUnitReportDailyMapper extends BaseMapper<KuaishouUnitReportDaily> {
+    void replaceBatch(@Param("addList") List<KuaishouUnitReportDaily> addList);
+}

+ 17 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaishouUnitReportHourlyMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouUnitReportHourly;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 组-时报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface KuaishouUnitReportHourlyMapper extends BaseMapper<KuaishouUnitReportHourly> {
+    void replaceBatch(@Param("addList") List<KuaishouUnitReportHourly> addList);
+}

+ 15 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/OauthTokenMapper.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.job.kuaishou.data.mapper;
+
+import cn.com.ctop.job.kuaishou.data.entity.OauthToken;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * token信息
+ *
+ * @author jeecg-boot 2021-09-07
+ * @version V1.0
+ */
+public interface OauthTokenMapper extends BaseMapper<OauthToken> {
+  String getByAccountId(@Param("accountId") Long accountId);
+}

+ 274 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouAccountReportDailyMapper.xml

@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouAccountReportDailyMapper">
+
+    <insert id="replaceBatch">
+        replace into kuaishou_account_report_daily(
+        `advertiser_id`,
+        `stat_date`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `ad_scene`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.adScene},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 276 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouAccountReportHourlyMapper.xml

@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouAccountReportHourlyMapper">
+
+    <insert id="replaceBatch">
+        replace into kuaishou_account_report_hourly(
+        `advertiser_id`,
+        `stat_date`,
+        `hour`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `ad_scene`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.hour},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.adScene},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 275 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouCampaignReportDailyMapper.xml

@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouCampaignReportDailyMapper">
+    <insert id="replaceBatch">
+        replace into kuaishou_campaign_report_daily(
+        `advertiser_id`,
+        `stat_date`,
+        `campaign_id`,
+        `campaign_name`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `ad_scene`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.campaignId},
+            #{add.campaignName},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.adScene},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 277 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouCampaignReportHourlyMapper.xml

@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouCampaignReportHourlyMapper">
+    <insert id="replaceBatch">
+        replace into kuaishou_campaign_report_hourly(
+        `advertiser_id`,
+        `stat_date`,
+        `hour`,
+        `campaign_id`,
+        `campaign_name`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `ad_scene`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.hour},
+            #{add.campaignId},
+            #{add.campaignName},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.adScene},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 281 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouCreativeReportDailyMapper.xml

@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouCreativeReportDailyMapper">
+    <insert id="replaceBatch">
+        replace into kuaishou_creative_report_daily(
+        `advertiser_id`,
+        `stat_date`,
+        `campaign_id`,
+        `campaign_name`,
+        `unit_id`,
+        `unit_name`,
+        `creative_id`,
+        `creative_name`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.campaignId},
+            #{add.campaignName},
+            #{add.unitId},
+            #{add.unitName},
+            #{add.creativeId},
+            #{add.creativeName},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 281 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouMaterialVideoReportDailyMapper.xml

@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouMaterialVideoReportDailyMapper">
+    <insert id="replaceBatch">
+        replace into kuaishou_material_video_report_daily(
+        `advertiser_id`,
+        `stat_date`,
+        `ad_scene`,
+        `photo_id`,
+        `photo_url`,
+        `cover_url`,
+        `image_token`,
+        `photo_caption`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.adScene},
+            #{add.photoId},
+            #{add.photoUrl},
+            #{add.coverUrl},
+            #{add.imageToken},
+            #{add.photoCaption},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 283 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouMaterialVideoReportHourlyMapper.xml

@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouMaterialVideoReportHourlyMapper">
+    <insert id="replaceBatch">
+        replace into kuaishou_material_video_report_hourly(
+        `advertiser_id`,
+        `stat_date`,
+        `hour`,
+        `ad_scene`,
+        `photo_id`,
+        `photo_url`,
+        `cover_url`,
+        `image_token`,
+        `photo_caption`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.hour},
+            #{add.adScene},
+            #{add.photoId},
+            #{add.photoUrl},
+            #{add.coverUrl},
+            #{add.imageToken},
+            #{add.photoCaption},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 289 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouProgramCreativeReportDailyMapper.xml

@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouProgramCreativeReportDailyMapper">
+    <insert id="replaceBatch">
+        replace into kuaishou_program_creative_report_daily(
+        `advertiser_id`,
+        `stat_date`,
+        `campaign_id`,
+        `campaign_name`,
+        `unit_id`,
+        `unit_name`,
+        `creative_id`,
+        `photo_id`,
+        `photo_url`,
+        `cover_url`,
+        `image_token`,
+        `description`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.campaignId},
+            #{add.campaignName},
+            #{add.unitId},
+            #{add.unitName},
+            #{add.creativeId},
+            #{add.photoId},
+            #{add.photoUrl},
+            #{add.coverUrl},
+            #{add.imageToken},
+            #{add.description},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 279 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouUnitReportDailyMapper.xml

@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouUnitReportDailyMapper">
+    <insert id="replaceBatch">
+        replace into kuaishou_unit_report_daily(
+        `advertiser_id`,
+        `stat_date`,
+        `campaign_id`,
+        `campaign_name`,
+        `unit_id`,
+        `unit_name`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `ad_scene`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.campaignId},
+            #{add.campaignName},
+            #{add.unitId},
+            #{add.unitName},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.adScene},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 281 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/KuaishouUnitReportHourlyMapper.xml

@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.KuaishouUnitReportHourlyMapper">
+    <insert id="replaceBatch">
+        replace into kuaishou_unit_report_hourly(
+        `advertiser_id`,
+        `stat_date`,
+        `hour`,
+        `campaign_id`,
+        `campaign_name`,
+        `unit_id`,
+        `unit_name`,
+        `charge`,
+        `show`,
+        `photo_click`,
+        `aclick`,
+        `bclick`,
+        `photo_click_ratio`,
+        `play_3s_ratio`,
+        `action_ratio`,
+        `impression_1k_cost`,
+        `photo_click_cost`,
+        `action_cost`,
+        `share`,
+        `comment`,
+        `like`,
+        `follow`,
+        `cancel_follow`,
+        `report`,
+        `block`,
+        `negative`,
+        `submit`,
+        `download_started`,
+        `download_completed`,
+        `activation`,
+        `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_order_paid_cost`,
+        `event_next_day_stay`,
+        `event_next_day_stay_cost`,
+        `event_next_day_stay_ratio`,
+        `form_count`,
+        `form_cost`,
+        `form_action_ratio`,
+        `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_page_ratio`,
+        `event_valid_clues`,
+        `event_valid_clues_cost`,
+        `event_add_wechat`,
+        `event_add_wechat_cost`,
+        `event_add_wechat_ratio`,
+        `event_get_through`,
+        `event_get_through_cost`,
+        `event_get_through_ratio`,
+        `event_app_invoked`,
+        `event_app_invoked_cost`,
+        `event_app_invoked_ratio`,
+        `event_credit_grant_landing_ratio`,
+        `play_5s_ratio`,
+        `play_end_ratio`,
+        `event_new_user_pay`,
+        `event_new_user_pay_cost`,
+        `event_new_user_pay_ratio`,
+        `click_1k_cost`,
+        `ad_product_cnt`,
+        `event_goods_view`,
+        `merchant_reco_fans`,
+        `event_order_amount_roi`,
+        `event_goods_view_cost`,
+        `merchant_reco_fans_cost`,
+        `event_button_click`,
+        `event_button_click_cost`,
+        `event_button_click_ratio`,
+        `event_order_paid_roi`,
+        `event_new_user_jinjian_app`,
+        `event_new_user_jinjian_app_cost`,
+        `event_new_user_jinjian_app_roi`,
+        `event_new_user_credit_grant_app`,
+        `event_new_user_credit_grant_app_cost`,
+        `event_new_user_credit_grant_app_roi`,
+        `event_new_user_jinjian_page`,
+        `event_new_user_jinjian_page_cost`,
+        `event_new_user_jinjian_page_roi`,
+        `event_new_user_credit_grant_page`,
+        `event_new_user_credit_grant_page_cost`,
+        `event_new_user_credit_grant_page_roi`,
+        `event_appoint_form`,
+        `event_appoint_form_cost`,
+        `event_appoint_form_ratio`,
+        `event_appoint_jump_click`,
+        `event_appoint_jump_click_cost`,
+        `event_appoint_jump_click_ratio`,
+        `union_event_pay_purchase_amount_7d`,
+        `union_event_pay_purchase_amount_7d_roi`,
+        `placement_type`,
+        `ad_scene`,
+        `event_order_successed`,
+        `ad_photo_played_10s_ratio`,
+        `key_action_cost`,
+        `event_add_shopping_cart_cost`,
+        `event_ad_watch_times_ratio`,
+        `event_outbound_call_cost`,
+        `event_outbound_call`,
+        `action_new_ratio`,
+        `event_watch_app_ad`,
+        `event_multi_conversion_cost`,
+        `event_phone_card_activate`,
+        `ad_photo_played_75percent_ratio`,
+        `key_action_ratio`,
+        `event_ad_watch_times_cost`,
+        `event_add_shopping_cart`,
+        `key_action`,
+        `event_multi_conversion`,
+        `event_wechat_connected`,
+        `event_dsp_gift_form`,
+        `event_intention_confirmed`,
+        `event_phone_get_through`,
+        `event_multi_conversion_ratio`,
+        `event_measurement_house`,
+        `ad_photo_played_2s_ratio`,
+        `event_outbound_call_ratio`,
+        `event_ad_watch_times`
+        )
+        values
+        <foreach collection="addList" item="add" separator=",">
+            (
+            #{add.advertiserId},
+            #{add.statDate},
+            #{add.hour},
+            #{add.campaignId},
+            #{add.campaignName},
+            #{add.unitId},
+            #{add.unitName},
+            #{add.charge},
+            #{add.show},
+            #{add.photoClick},
+            #{add.aclick},
+            #{add.bclick},
+            #{add.photoClickRatio},
+            #{add.play3sRatio},
+            #{add.actionRatio},
+            #{add.impression1kCost},
+            #{add.photoClickCost},
+            #{add.actionCost},
+            #{add.share},
+            #{add.comment},
+            #{add.like},
+            #{add.follow},
+            #{add.cancelFollow},
+            #{add.report},
+            #{add.block},
+            #{add.negative},
+            #{add.submit},
+            #{add.downloadStarted},
+            #{add.downloadCompleted},
+            #{add.activation},
+            #{add.eventPayFirstDay},
+            #{add.eventPayPurchaseAmountFirstDay},
+            #{add.eventPayFirstDayRoi},
+            #{add.eventPay},
+            #{add.eventPayPurchaseAmount},
+            #{add.eventPayRoi},
+            #{add.eventRegister},
+            #{add.eventRegisterCost},
+            #{add.eventRegisterRatio},
+            #{add.eventJinJianApp},
+            #{add.eventJinJianAppCost},
+            #{add.eventCreditGrantApp},
+            #{add.eventCreditGrantAppCost},
+            #{add.eventCreditGrantAppRatio},
+            #{add.eventOrderPaid},
+            #{add.eventOrderPaidPurchaseAmount},
+            #{add.eventOrderPaidCost},
+            #{add.eventNextDayStay},
+            #{add.eventNextDayStayCost},
+            #{add.eventNextDayStayRatio},
+            #{add.formCount},
+            #{add.formCost},
+            #{add.formActionRatio},
+            #{add.eventJinJianLandingPage},
+            #{add.eventJinJianLandingPageCost},
+            #{add.eventCreditGrantLandingPage},
+            #{add.eventCreditGrantLandingPageCost},
+            #{add.eventCreditGrantLandingPageRatio},
+            #{add.eventValidClues},
+            #{add.eventValidCluesCost},
+            #{add.eventAddWechat},
+            #{add.eventAddWechatCost},
+            #{add.eventAddWechatRatio},
+            #{add.eventGetThrough},
+            #{add.eventGetThroughCost},
+            #{add.eventGetThroughRatio},
+            #{add.eventAppInvoked},
+            #{add.eventAppInvokedCost},
+            #{add.eventAppInvokedRatio},
+            #{add.eventCreditGrantLandingRatio},
+            #{add.play5sRatio},
+            #{add.playEndRatio},
+            #{add.eventNewUserPay},
+            #{add.eventNewUserPayCost},
+            #{add.eventNewUserPayRatio},
+            #{add.click1kCost},
+            #{add.adProductCnt},
+            #{add.eventGoodsView},
+            #{add.merchantRecoFans},
+            #{add.eventOrderAmountRoi},
+            #{add.eventGoodsViewCost},
+            #{add.merchantRecoFansCost},
+            #{add.eventButtonClick},
+            #{add.eventButtonClickCost},
+            #{add.eventButtonClickRatio},
+            #{add.eventOrderPaidRoi},
+            #{add.eventNewUserJinjianApp},
+            #{add.eventNewUserJinjianAppCost},
+            #{add.eventNewUserJinjianAppRoi},
+            #{add.eventNewUserCreditGrantApp},
+            #{add.eventNewUserCreditGrantAppCost},
+            #{add.eventNewUserCreditGrantAppRoi},
+            #{add.eventNewUserJinjianPage},
+            #{add.eventNewUserJinjianPageCost},
+            #{add.eventNewUserJinjianPageRoi},
+            #{add.eventNewUserCreditGrantPage},
+            #{add.eventNewUserCreditGrantPageCost},
+            #{add.eventNewUserCreditGrantPageRoi},
+            #{add.eventAppointForm},
+            #{add.eventAppointFormCost},
+            #{add.eventAppointFormRatio},
+            #{add.eventAppointJumpClick},
+            #{add.eventAppointJumpClickCost},
+            #{add.eventAppointJumpClickRatio},
+            #{add.unionEventPayPurchaseAmount7d},
+            #{add.unionEventPayPurchaseAmount7dRoi},
+            #{add.placementType},
+            #{add.adScene},
+            #{add.eventOrderSuccessed},
+            #{add.adPhotoPlayed10sRatio},
+            #{add.keyActionCost},
+            #{add.eventAddShoppingCartCost},
+            #{add.eventAdWatchTimesRatio},
+            #{add.eventOutboundCallCost},
+            #{add.eventOutboundCall},
+            #{add.actionNewRatio},
+            #{add.eventWatchAppAd},
+            #{add.eventMultiConversionCost},
+            #{add.eventPhoneCardActivate},
+            #{add.adPhotoPlayed75percentRatio},
+            #{add.keyActionRatio},
+            #{add.eventAdWatchTimesCost},
+            #{add.eventAddShoppingCart},
+            #{add.keyAction},
+            #{add.eventMultiConversion},
+            #{add.eventWechatConnected},
+            #{add.eventDspGiftForm},
+            #{add.eventIntentionConfirmed},
+            #{add.eventPhoneGetThrough},
+            #{add.eventMultiConversionRatio},
+            #{add.eventMeasurementHouse},
+            #{add.adPhotoPlayed2sRatio},
+            #{add.eventOutboundCallRatio},
+            #{add.eventAdWatchTimes}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 8 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/xml/OauthTokenMapper.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.job.kuaishou.data.mapper.OauthTokenMapper">
+
+    <select id="getByAccountId" resultType="java.lang.String">
+       SELECT access_token  from  `business_operation`.ctop_oauth_token WHERE account_id = #{accountId}
+    </select>
+</mapper>

+ 14 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouAccountReportDailyService.java

@@ -0,0 +1,14 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouAccountReportDaily;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 快手-账户日报
+ *
+ * @author jeecg-boot 2021-09-07
+ * @version V1.0
+ */
+public interface IKuaishouAccountReportDailyService extends IService<KuaishouAccountReportDaily> {
+  void getAdvertiserReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+}

+ 16 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouAccountReportHourlyService.java

@@ -0,0 +1,16 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouAccountReportHourly;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 快手-账户时报
+ *
+ * @author jeecg-boot 2021-09-08
+ * @version V1.0
+ */
+public interface IKuaishouAccountReportHourlyService extends IService<KuaishouAccountReportHourly> {
+
+    void getAdvertiserReportHour(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+
+}

+ 15 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouCampaignReportDailyService.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCampaignReportDaily;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 快手-计划日报
+ *
+ * @author jeecg-boot 2021-09-08
+ * @version V1.0
+ */
+public interface IKuaishouCampaignReportDailyService extends IService<KuaishouCampaignReportDaily> {
+    void getCampaignReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+
+}

+ 15 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouCampaignReportHourlyService.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCampaignReportHourly;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 快手-计划时报
+ *
+ * @author jeecg-boot 2021-09-08
+ * @version V1.0
+ */
+public interface IKuaishouCampaignReportHourlyService extends IService<KuaishouCampaignReportHourly> {
+
+    void getCampaignReportHour(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+}

+ 16 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouCreativeReportDailyService.java

@@ -0,0 +1,16 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCreativeReportDaily;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 创意-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface IKuaishouCreativeReportDailyService
+    extends IService<KuaishouCreativeReportDaily> {
+
+    void getCreativeReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+}

+ 16 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouMaterialVideoReportDailyService.java

@@ -0,0 +1,16 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouMaterialVideoReportDaily;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 素材-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface IKuaishouMaterialVideoReportDailyService
+    extends IService<KuaishouMaterialVideoReportDaily> {
+
+    void getVideoReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+}

+ 16 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouMaterialVideoReportHourlyService.java

@@ -0,0 +1,16 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouMaterialVideoReportHourly;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 素材-时报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface IKuaishouMaterialVideoReportHourlyService
+    extends IService<KuaishouMaterialVideoReportHourly> {
+
+    void getVideoReportHour(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+}

+ 16 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouProgramCreativeReportDailyService.java

@@ -0,0 +1,16 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouProgramCreativeReportDaily;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 程序化创意-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface IKuaishouProgramCreativeReportDailyService
+    extends IService<KuaishouProgramCreativeReportDaily> {
+
+    void getProgramCreativeReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+}

+ 15 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouUnitReportDailyService.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouUnitReportDaily;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 组-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface IKuaishouUnitReportDailyService extends IService<KuaishouUnitReportDaily> {
+    void getUnitReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+
+}

+ 15 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IKuaishouUnitReportHourlyService.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouUnitReportHourly;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 组-时报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+public interface IKuaishouUnitReportHourlyService extends IService<KuaishouUnitReportHourly> {
+    void getUnitReportHour(Long advertiserId, String accessToken, String startDate, String endDate, int page);
+
+}

+ 15 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/IOauthTokenService.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.job.kuaishou.data.service;
+
+import cn.com.ctop.job.kuaishou.data.entity.OauthToken;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * token信息
+ *
+ * @author jeecg-boot 2021-09-07
+ * @version V1.0
+ */
+public interface IOauthTokenService extends IService<OauthToken> {
+
+  String getByAccountId(Long accountId);
+}

+ 202 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouAccountReportDailyServiceImpl.java

@@ -0,0 +1,202 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouAccountReportDaily;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouAccountReportDailyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouAccountReportDailyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 快手-账户日报
+ *
+ * @author jeecg-boot 2021-09-07
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouAccountReportDailyServiceImpl
+    extends ServiceImpl<KuaishouAccountReportDailyMapper, KuaishouAccountReportDaily>
+    implements IKuaishouAccountReportDailyService {
+
+  @Autowired private KuaishouAccountReportDailyMapper accountReportDailyMapper;
+
+  @Value("${api.kuaishou.postUrl}")
+  private String postUrl;
+
+  @Override
+  public void getAdvertiserReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+    String url = postUrl + KuaishouConstant.ACCOUNT_REPORT;
+    Map<String, String> headers = new HashMap<>();
+    headers.put("Access-Token", accessToken);
+    Map<String, Object> param = new HashMap<>();
+    param.put("start_date", startDate);
+    param.put("end_date", endDate);
+    param.put("advertiser_id", advertiserId);
+    param.put("temporal_granularity", "DAILY");
+    param.put("page_size", 2000);
+    param.put("page", page);
+    String result = HttpUtils.httpPostRequest(url, param, headers);
+    JSONObject resultJson = JSONObject.parseObject(result);
+    Integer code = resultJson.getInteger("code");
+    String message = resultJson.getString("message");
+    if (null == code || code != 0) {
+      log.error("获取快手广告主日报表异常:{},accountId:{}", message, advertiserId);
+      return;
+    }
+    JSONArray details = resultJson.getJSONObject("data").getJSONArray("details");
+    if (null == details || details.size() <= 0) {
+      log.error("快手日报返回详情为空,accountId:{}", advertiserId);
+      return;
+    }
+    List<KuaishouAccountReportDaily> addList = new ArrayList<>();
+    for (int i = 0; i < details.size(); i++) {
+      JSONObject returnJson = details.getJSONObject(i);
+      KuaishouAccountReportDaily reportDaily = new KuaishouAccountReportDaily();
+      reportDaily.setAdvertiserId(advertiserId);
+      reportDaily.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+      reportDaily.setCharge(returnJson.getBigDecimal("charge"));
+      reportDaily.setShow(returnJson.getLong("show"));
+      reportDaily.setPhotoClick(returnJson.getLong("photo_click"));
+      reportDaily.setAclick(returnJson.getLong("aclick"));
+      reportDaily.setBclick(returnJson.getLong("bclick"));
+      reportDaily.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+      reportDaily.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+      reportDaily.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+      reportDaily.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+      reportDaily.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+      reportDaily.setActionCost(returnJson.getBigDecimal("action_cost"));
+      reportDaily.setShare(returnJson.getLong("share"));
+      reportDaily.setComment(returnJson.getLong("comment"));
+      reportDaily.setLike(returnJson.getLong("like"));
+      reportDaily.setFollow(returnJson.getLong("follow"));
+      reportDaily.setCancelFollow(returnJson.getLong("cancel_follow"));
+      reportDaily.setReport(returnJson.getLong("report"));
+      reportDaily.setBlock(returnJson.getLong("block"));
+      reportDaily.setNegative(returnJson.getLong("negative"));
+      reportDaily.setSubmit(returnJson.getLong("submit"));
+      reportDaily.setDownloadStarted(returnJson.getLong("download_started"));
+      reportDaily.setDownloadCompleted(returnJson.getLong("download_completed"));
+      reportDaily.setActivation(returnJson.getLong("activation"));
+      reportDaily.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+      reportDaily.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+      reportDaily.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+      reportDaily.setEventPay(returnJson.getLong("event_pay"));
+      reportDaily.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+      reportDaily.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+      reportDaily.setEventRegister(returnJson.getLong("event_register"));
+      reportDaily.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+      reportDaily.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+      reportDaily.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+      reportDaily.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+      reportDaily.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+      reportDaily.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+      reportDaily.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+      reportDaily.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+      reportDaily.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+      reportDaily.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+      reportDaily.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+      reportDaily.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+      reportDaily.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+      reportDaily.setFormCount(returnJson.getLong("form_count"));
+      reportDaily.setFormCost(returnJson.getBigDecimal("form_cost"));
+      reportDaily.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+      reportDaily.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+      reportDaily.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+      reportDaily.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+      reportDaily.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+      reportDaily.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+      reportDaily.setEventValidClues(returnJson.getLong("event_valid_clues"));
+      reportDaily.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+      reportDaily.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+      reportDaily.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+      reportDaily.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+      reportDaily.setEventGetThrough(returnJson.getLong("event_get_through"));
+      reportDaily.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+      reportDaily.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+      reportDaily.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+      reportDaily.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+      reportDaily.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+      reportDaily.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+      reportDaily.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+      reportDaily.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+      reportDaily.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+      reportDaily.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+      reportDaily.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+      reportDaily.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+      reportDaily.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+      reportDaily.setEventGoodsView(returnJson.getLong("event_goods_view"));
+      reportDaily.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+      reportDaily.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+      reportDaily.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+      reportDaily.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+      reportDaily.setEventButtonClick(returnJson.getLong("event_button_click"));
+      reportDaily.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+      reportDaily.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+      reportDaily.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+      reportDaily.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+      reportDaily.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+      reportDaily.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+      reportDaily.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+      reportDaily.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+      reportDaily.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+      reportDaily.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+      reportDaily.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+      reportDaily.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+      reportDaily.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+      reportDaily.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+      reportDaily.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+      reportDaily.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+      reportDaily.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+      reportDaily.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+      reportDaily.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+      reportDaily.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+      reportDaily.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+      reportDaily.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+      reportDaily.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+      reportDaily.setPlacementType(returnJson.getString("placement_type"));
+      reportDaily.setAdScene(returnJson.getString("ad_scene"));
+      reportDaily.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+      reportDaily.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+      reportDaily.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+      reportDaily.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+      reportDaily.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+      reportDaily.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+      reportDaily.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+      reportDaily.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+      reportDaily.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+      reportDaily.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+      reportDaily.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+      reportDaily.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+      reportDaily.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+      reportDaily.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+      reportDaily.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+      reportDaily.setKeyAction(returnJson.getLong("key_action"));
+      reportDaily.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+      reportDaily.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+      reportDaily.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+      reportDaily.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+      reportDaily.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+      reportDaily.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+      reportDaily.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+      reportDaily.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+      reportDaily.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+      reportDaily.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+      addList.add(reportDaily);
+    }
+    accountReportDailyMapper.replaceBatch(addList);
+    log.info("账户日报数据获取完成:accountId:{}",advertiserId);
+  }
+}

+ 202 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouAccountReportHourlyServiceImpl.java

@@ -0,0 +1,202 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouAccountReportHourly;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouAccountReportHourlyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouAccountReportHourlyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 快手-账户时报
+ *
+ * @author jeecg-boot 2021-09-08
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouAccountReportHourlyServiceImpl extends ServiceImpl<KuaishouAccountReportHourlyMapper, KuaishouAccountReportHourly> implements IKuaishouAccountReportHourlyService {
+
+  @Value("${api.kuaishou.postUrl}")
+  private String postUrl;
+  @Autowired
+  private KuaishouAccountReportHourlyMapper accountReportHourlyMapper;
+  
+
+  @Override
+  public void getAdvertiserReportHour(Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+    String url = postUrl + KuaishouConstant.ACCOUNT_REPORT;
+    Map<String, String> headers = new HashMap<>();
+    headers.put("Access-Token", accessToken);
+    Map<String, Object> param = new HashMap<>();
+    param.put("start_date", startDate);
+    param.put("end_date", endDate);
+    param.put("advertiser_id", advertiserId);
+    param.put("temporal_granularity", "HOURLY");
+    param.put("page_size", 2000);
+    param.put("page", page);
+    String result = HttpUtils.httpPostRequest(url, param, headers);
+    JSONObject resultJson = JSONObject.parseObject(result);
+    Integer code = resultJson.getInteger("code");
+    String message = resultJson.getString("message");
+    if (null == code || code != 0) {
+      log.error("获取快手广告主时报表异常:{},accountId:{}", message, advertiserId);
+      return;
+    }
+    JSONArray details = resultJson.getJSONObject("data").getJSONArray("details");
+    if (null == details || details.size() <= 0) {
+      log.error("快手时报返回详情为空,accountId:{}", advertiserId);
+      return;
+    }
+    List<KuaishouAccountReportHourly> addList = new ArrayList<>();
+    for (int i = 0; i < details.size(); i++) {
+      JSONObject returnJson = details.getJSONObject(i);
+      KuaishouAccountReportHourly reportHourly = new KuaishouAccountReportHourly();
+      reportHourly.setAdvertiserId(advertiserId);
+      reportHourly.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+      reportHourly.setHour(returnJson.getInteger("stat_hour"));
+      reportHourly.setCharge(returnJson.getBigDecimal("charge"));
+      reportHourly.setShow(returnJson.getLong("show"));
+      reportHourly.setPhotoClick(returnJson.getLong("photo_click"));
+      reportHourly.setAclick(returnJson.getLong("aclick"));
+      reportHourly.setBclick(returnJson.getLong("bclick"));
+      reportHourly.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+      reportHourly.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+      reportHourly.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+      reportHourly.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+      reportHourly.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+      reportHourly.setActionCost(returnJson.getBigDecimal("action_cost"));
+      reportHourly.setShare(returnJson.getLong("share"));
+      reportHourly.setComment(returnJson.getLong("comment"));
+      reportHourly.setLike(returnJson.getLong("like"));
+      reportHourly.setFollow(returnJson.getLong("follow"));
+      reportHourly.setCancelFollow(returnJson.getLong("cancel_follow"));
+      reportHourly.setReport(returnJson.getLong("report"));
+      reportHourly.setBlock(returnJson.getLong("block"));
+      reportHourly.setNegative(returnJson.getLong("negative"));
+      reportHourly.setSubmit(returnJson.getLong("submit"));
+      reportHourly.setDownloadStarted(returnJson.getLong("download_started"));
+      reportHourly.setDownloadCompleted(returnJson.getLong("download_completed"));
+      reportHourly.setActivation(returnJson.getLong("activation"));
+      reportHourly.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+      reportHourly.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+      reportHourly.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+      reportHourly.setEventPay(returnJson.getLong("event_pay"));
+      reportHourly.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+      reportHourly.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+      reportHourly.setEventRegister(returnJson.getLong("event_register"));
+      reportHourly.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+      reportHourly.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+      reportHourly.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+      reportHourly.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+      reportHourly.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+      reportHourly.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+      reportHourly.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+      reportHourly.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+      reportHourly.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+      reportHourly.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+      reportHourly.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+      reportHourly.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+      reportHourly.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+      reportHourly.setFormCount(returnJson.getLong("form_count"));
+      reportHourly.setFormCost(returnJson.getBigDecimal("form_cost"));
+      reportHourly.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+      reportHourly.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+      reportHourly.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+      reportHourly.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+      reportHourly.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+      reportHourly.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+      reportHourly.setEventValidClues(returnJson.getLong("event_valid_clues"));
+      reportHourly.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+      reportHourly.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+      reportHourly.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+      reportHourly.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+      reportHourly.setEventGetThrough(returnJson.getLong("event_get_through"));
+      reportHourly.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+      reportHourly.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+      reportHourly.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+      reportHourly.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+      reportHourly.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+      reportHourly.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+      reportHourly.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+      reportHourly.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+      reportHourly.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+      reportHourly.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+      reportHourly.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+      reportHourly.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+      reportHourly.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+      reportHourly.setEventGoodsView(returnJson.getLong("event_goods_view"));
+      reportHourly.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+      reportHourly.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+      reportHourly.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+      reportHourly.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+      reportHourly.setEventButtonClick(returnJson.getLong("event_button_click"));
+      reportHourly.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+      reportHourly.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+      reportHourly.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+      reportHourly.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+      reportHourly.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+      reportHourly.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+      reportHourly.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+      reportHourly.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+      reportHourly.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+      reportHourly.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+      reportHourly.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+      reportHourly.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+      reportHourly.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+      reportHourly.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+      reportHourly.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+      reportHourly.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+      reportHourly.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+      reportHourly.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+      reportHourly.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+      reportHourly.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+      reportHourly.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+      reportHourly.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+      reportHourly.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+      reportHourly.setPlacementType(returnJson.getString("placement_type"));
+      reportHourly.setAdScene(returnJson.getString("ad_scene"));
+      reportHourly.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+      reportHourly.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+      reportHourly.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+      reportHourly.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+      reportHourly.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+      reportHourly.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+      reportHourly.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+      reportHourly.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+      reportHourly.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+      reportHourly.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+      reportHourly.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+      reportHourly.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+      reportHourly.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+      reportHourly.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+      reportHourly.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+      reportHourly.setKeyAction(returnJson.getLong("key_action"));
+      reportHourly.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+      reportHourly.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+      reportHourly.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+      reportHourly.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+      reportHourly.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+      reportHourly.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+      reportHourly.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+      reportHourly.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+      reportHourly.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+      reportHourly.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+      addList.add(reportHourly);
+    }
+      accountReportHourlyMapper.replaceBatch(addList);
+    log.info("账户时报数据获取完成:accountId:{}", advertiserId);
+  }
+}

+ 215 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouCampaignReportDailyServiceImpl.java

@@ -0,0 +1,215 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCampaignReportDaily;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouCampaignReportDailyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouCampaignReportDailyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 快手-计划日报
+ *
+ * @author jeecg-boot 2021-09-08
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouCampaignReportDailyServiceImpl
+    extends ServiceImpl<KuaishouCampaignReportDailyMapper, KuaishouCampaignReportDaily>
+    implements IKuaishouCampaignReportDailyService {
+
+  @Autowired private KuaishouCampaignReportDailyMapper campaignReportDailyMapper;
+
+  @Value("${api.kuaishou.postUrl}")
+  private String postUrl;
+
+  @Override
+  public void getCampaignReportDaily(
+      Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+    String url = postUrl + KuaishouConstant.CAMPAIGN_REPORT;
+    Map<String, String> headers = new HashMap<>();
+    headers.put("Access-Token", accessToken);
+    Map<String, Object> param = new HashMap<>();
+    param.put("start_date", startDate);
+    param.put("end_date", endDate);
+    param.put("advertiser_id", advertiserId);
+    param.put("temporal_granularity", "DAILY");
+    Integer page_size = 2000;
+    param.put("page_size", page_size);
+    param.put("page", page);
+    String result = HttpUtils.httpPostRequest(url, param, headers);
+    JSONObject resultJson = JSONObject.parseObject(result);
+    Integer code = resultJson.getInteger("code");
+    String message = resultJson.getString("message");
+    if (null == code || code != 0) {
+      log.error("获取快手广告计划日报表异常:{},accountId:{}", message, advertiserId);
+      return;
+    }
+    JSONArray details = resultJson.getJSONObject("data").getJSONArray("details");
+    if (null == details || details.size() <= 0) {
+      log.error("快手计划日报返回详情为空,accountId:{}", advertiserId);
+      return;
+    }
+    Boolean toGet = true;
+    if(details.size() < page_size){
+      toGet = false;
+    }
+    List<KuaishouCampaignReportDaily> addList = new ArrayList<>();
+    for (int i = 0; i < details.size(); i++) {
+      JSONObject returnJson = details.getJSONObject(i);
+      KuaishouCampaignReportDaily reportDaily = new KuaishouCampaignReportDaily();
+      reportDaily.setAdvertiserId(advertiserId);
+      reportDaily.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+      reportDaily.setCampaignId(returnJson.getLong("campaign_id"));
+      reportDaily.setCampaignName(returnJson.getString("campaign_name"));
+      reportDaily.setCharge(returnJson.getBigDecimal("charge"));
+      reportDaily.setShow(returnJson.getLong("show"));
+      reportDaily.setPhotoClick(returnJson.getLong("photo_click"));
+      reportDaily.setAclick(returnJson.getLong("aclick"));
+      reportDaily.setBclick(returnJson.getLong("bclick"));
+      reportDaily.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+      reportDaily.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+      reportDaily.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+      reportDaily.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+      reportDaily.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+      reportDaily.setActionCost(returnJson.getBigDecimal("action_cost"));
+      reportDaily.setShare(returnJson.getLong("share"));
+      reportDaily.setComment(returnJson.getLong("comment"));
+      reportDaily.setLike(returnJson.getLong("like"));
+      reportDaily.setFollow(returnJson.getLong("follow"));
+      reportDaily.setCancelFollow(returnJson.getLong("cancel_follow"));
+      reportDaily.setReport(returnJson.getLong("report"));
+      reportDaily.setBlock(returnJson.getLong("block"));
+      reportDaily.setNegative(returnJson.getLong("negative"));
+      reportDaily.setSubmit(returnJson.getLong("submit"));
+      reportDaily.setDownloadStarted(returnJson.getLong("download_started"));
+      reportDaily.setDownloadCompleted(returnJson.getLong("download_completed"));
+      reportDaily.setActivation(returnJson.getLong("activation"));
+      reportDaily.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+      reportDaily.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+      reportDaily.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+      reportDaily.setEventPay(returnJson.getLong("event_pay"));
+      reportDaily.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+      reportDaily.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+      reportDaily.setEventRegister(returnJson.getLong("event_register"));
+      reportDaily.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+      reportDaily.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+      reportDaily.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+      reportDaily.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+      reportDaily.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+      reportDaily.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+      reportDaily.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+      reportDaily.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+      reportDaily.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+      reportDaily.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+      reportDaily.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+      reportDaily.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+      reportDaily.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+      reportDaily.setFormCount(returnJson.getLong("form_count"));
+      reportDaily.setFormCost(returnJson.getBigDecimal("form_cost"));
+      reportDaily.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+      reportDaily.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+      reportDaily.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+      reportDaily.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+      reportDaily.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+      reportDaily.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+      reportDaily.setEventValidClues(returnJson.getLong("event_valid_clues"));
+      reportDaily.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+      reportDaily.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+      reportDaily.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+      reportDaily.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+      reportDaily.setEventGetThrough(returnJson.getLong("event_get_through"));
+      reportDaily.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+      reportDaily.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+      reportDaily.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+      reportDaily.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+      reportDaily.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+      reportDaily.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+      reportDaily.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+      reportDaily.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+      reportDaily.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+      reportDaily.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+      reportDaily.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+      reportDaily.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+      reportDaily.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+      reportDaily.setEventGoodsView(returnJson.getLong("event_goods_view"));
+      reportDaily.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+      reportDaily.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+      reportDaily.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+      reportDaily.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+      reportDaily.setEventButtonClick(returnJson.getLong("event_button_click"));
+      reportDaily.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+      reportDaily.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+      reportDaily.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+      reportDaily.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+      reportDaily.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+      reportDaily.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+      reportDaily.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+      reportDaily.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+      reportDaily.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+      reportDaily.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+      reportDaily.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+      reportDaily.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+      reportDaily.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+      reportDaily.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+      reportDaily.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+      reportDaily.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+      reportDaily.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+      reportDaily.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+      reportDaily.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+      reportDaily.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+      reportDaily.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+      reportDaily.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+      reportDaily.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+      reportDaily.setPlacementType(returnJson.getString("placement_type"));
+      reportDaily.setAdScene(returnJson.getString("ad_scene"));
+      reportDaily.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+      reportDaily.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+      reportDaily.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+      reportDaily.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+      reportDaily.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+      reportDaily.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+      reportDaily.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+      reportDaily.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+      reportDaily.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+      reportDaily.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+      reportDaily.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+      reportDaily.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+      reportDaily.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+      reportDaily.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+      reportDaily.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+      reportDaily.setKeyAction(returnJson.getLong("key_action"));
+      reportDaily.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+      reportDaily.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+      reportDaily.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+      reportDaily.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+      reportDaily.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+      reportDaily.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+      reportDaily.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+      reportDaily.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+      reportDaily.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+      reportDaily.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+      addList.add(reportDaily);
+    }
+      campaignReportDailyMapper.replaceBatch(addList);
+    if(toGet){
+      getCampaignReportDaily(advertiserId,  accessToken,  startDate,  endDate,  page + 1);
+    }else {
+      log.info("计划日报数据获取完成:accountId:{}", advertiserId);
+    }
+
+  }
+}

+ 212 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouCampaignReportHourlyServiceImpl.java

@@ -0,0 +1,212 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCampaignReportHourly;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouCampaignReportHourlyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouCampaignReportHourlyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 快手-计划时报
+ *
+ * @author jeecg-boot 2021-09-08
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouCampaignReportHourlyServiceImpl extends ServiceImpl<KuaishouCampaignReportHourlyMapper, KuaishouCampaignReportHourly> implements IKuaishouCampaignReportHourlyService {
+
+  @Value("${api.kuaishou.postUrl}")
+  private String postUrl;
+
+  @Autowired private KuaishouCampaignReportHourlyMapper campaignReportHourlyMapper;
+
+  @Override
+  public void getCampaignReportHour(Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+    String url = postUrl + KuaishouConstant.CAMPAIGN_REPORT;
+    Map<String, String> headers = new HashMap<>();
+    headers.put("Access-Token", accessToken);
+    Map<String, Object> param = new HashMap<>();
+    param.put("start_date", startDate);
+    param.put("end_date", endDate);
+    param.put("advertiser_id", advertiserId);
+    param.put("temporal_granularity", "HOURLY");
+    Integer page_size = 2000;
+    param.put("page_size", page_size);
+    param.put("page", page);
+    String result = HttpUtils.httpPostRequest(url, param, headers);
+    JSONObject resultJson = JSONObject.parseObject(result);
+    Integer code = resultJson.getInteger("code");
+    String message = resultJson.getString("message");
+    if (null == code || code != 0) {
+      log.error("获取快手广告计划时报表异常:{},accountId:{}", message, advertiserId);
+      return;
+    }
+    JSONArray details = resultJson.getJSONObject("data").getJSONArray("details");
+    if (null == details || details.size() <= 0) {
+      log.error("快手计划时报返回详情为空,accountId:{}", advertiserId);
+      return;
+    }
+    Boolean toGet = true;
+    if(details.size() < page_size){
+        toGet = false;
+    }
+    List<KuaishouCampaignReportHourly> addList = new ArrayList<>();
+    for (int i = 0; i < details.size(); i++) {
+      JSONObject returnJson = details.getJSONObject(i);
+      KuaishouCampaignReportHourly reportHour = new KuaishouCampaignReportHourly();
+      reportHour.setAdvertiserId(advertiserId);
+      reportHour.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+      reportHour.setHour(returnJson.getInteger("stat_hour"));
+      reportHour.setCampaignId(returnJson.getLong("campaign_id"));
+      reportHour.setCampaignName(returnJson.getString("campaign_name"));
+      reportHour.setCharge(returnJson.getBigDecimal("charge"));
+      reportHour.setShow(returnJson.getLong("show"));
+      reportHour.setPhotoClick(returnJson.getLong("photo_click"));
+      reportHour.setAclick(returnJson.getLong("aclick"));
+      reportHour.setBclick(returnJson.getLong("bclick"));
+      reportHour.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+      reportHour.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+      reportHour.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+      reportHour.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+      reportHour.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+      reportHour.setActionCost(returnJson.getBigDecimal("action_cost"));
+      reportHour.setShare(returnJson.getLong("share"));
+      reportHour.setComment(returnJson.getLong("comment"));
+      reportHour.setLike(returnJson.getLong("like"));
+      reportHour.setFollow(returnJson.getLong("follow"));
+      reportHour.setCancelFollow(returnJson.getLong("cancel_follow"));
+      reportHour.setReport(returnJson.getLong("report"));
+      reportHour.setBlock(returnJson.getLong("block"));
+      reportHour.setNegative(returnJson.getLong("negative"));
+      reportHour.setSubmit(returnJson.getLong("submit"));
+      reportHour.setDownloadStarted(returnJson.getLong("download_started"));
+      reportHour.setDownloadCompleted(returnJson.getLong("download_completed"));
+      reportHour.setActivation(returnJson.getLong("activation"));
+      reportHour.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+      reportHour.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+      reportHour.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+      reportHour.setEventPay(returnJson.getLong("event_pay"));
+      reportHour.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+      reportHour.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+      reportHour.setEventRegister(returnJson.getLong("event_register"));
+      reportHour.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+      reportHour.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+      reportHour.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+      reportHour.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+      reportHour.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+      reportHour.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+      reportHour.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+      reportHour.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+      reportHour.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+      reportHour.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+      reportHour.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+      reportHour.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+      reportHour.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+      reportHour.setFormCount(returnJson.getLong("form_count"));
+      reportHour.setFormCost(returnJson.getBigDecimal("form_cost"));
+      reportHour.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+      reportHour.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+      reportHour.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+      reportHour.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+      reportHour.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+      reportHour.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+      reportHour.setEventValidClues(returnJson.getLong("event_valid_clues"));
+      reportHour.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+      reportHour.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+      reportHour.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+      reportHour.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+      reportHour.setEventGetThrough(returnJson.getLong("event_get_through"));
+      reportHour.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+      reportHour.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+      reportHour.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+      reportHour.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+      reportHour.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+      reportHour.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+      reportHour.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+      reportHour.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+      reportHour.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+      reportHour.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+      reportHour.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+      reportHour.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+      reportHour.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+      reportHour.setEventGoodsView(returnJson.getLong("event_goods_view"));
+      reportHour.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+      reportHour.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+      reportHour.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+      reportHour.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+      reportHour.setEventButtonClick(returnJson.getLong("event_button_click"));
+      reportHour.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+      reportHour.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+      reportHour.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+      reportHour.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+      reportHour.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+      reportHour.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+      reportHour.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+      reportHour.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+      reportHour.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+      reportHour.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+      reportHour.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+      reportHour.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+      reportHour.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+      reportHour.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+      reportHour.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+      reportHour.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+      reportHour.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+      reportHour.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+      reportHour.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+      reportHour.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+      reportHour.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+      reportHour.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+      reportHour.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+      reportHour.setPlacementType(returnJson.getString("placement_type"));
+      reportHour.setAdScene(returnJson.getString("ad_scene"));
+      reportHour.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+      reportHour.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+      reportHour.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+      reportHour.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+      reportHour.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+      reportHour.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+      reportHour.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+      reportHour.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+      reportHour.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+      reportHour.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+      reportHour.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+      reportHour.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+      reportHour.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+      reportHour.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+      reportHour.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+      reportHour.setKeyAction(returnJson.getLong("key_action"));
+      reportHour.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+      reportHour.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+      reportHour.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+      reportHour.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+      reportHour.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+      reportHour.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+      reportHour.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+      reportHour.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+      reportHour.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+      reportHour.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+      addList.add(reportHour);
+    }
+    campaignReportHourlyMapper.replaceBatch(addList);
+    if(toGet){
+        getCampaignReportHour(advertiserId,  accessToken,  startDate,  endDate,  page + 1);
+    }else {
+        log.info("计划时报数据获取完成:accountId:{}", advertiserId);
+    }
+  }
+}

+ 216 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouCreativeReportDailyServiceImpl.java

@@ -0,0 +1,216 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCreativeReportDaily;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouUnitReportDaily;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouCreativeReportDailyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouCreativeReportDailyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 创意-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouCreativeReportDailyServiceImpl
+    extends ServiceImpl<KuaishouCreativeReportDailyMapper, KuaishouCreativeReportDaily>
+    implements IKuaishouCreativeReportDailyService {
+
+    @Value("${api.kuaishou.postUrl}")
+    private String postUrl;
+    @Autowired KuaishouCreativeReportDailyMapper creativeReportDailyMapper;
+
+    @Override
+    public void getCreativeReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+        String url = postUrl + KuaishouConstant.CREATIVE_REPORT;
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Access-Token", accessToken);
+        Map<String, Object> param = new HashMap<>();
+        param.put("start_date", startDate);
+        param.put("end_date", endDate);
+        param.put("advertiser_id", advertiserId);
+        param.put("temporal_granularity", "DAILY");
+        Integer page_size = 2000;
+        param.put("page_size", page_size);
+        param.put("page", page);
+        String result = HttpUtils.httpPostRequest(url, param, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        Integer code = resultJson.getInteger("code");
+        String message = resultJson.getString("message");
+        if (null == code || code != 0) {
+            log.error("获取快手广告创意日报表异常:{},accountId:{}", message, advertiserId);
+            return;
+        }
+        JSONArray details = resultJson.getJSONObject("data").getJSONArray("details");
+        if (null == details || details.size() <= 0) {
+            log.error("快手创意日报返回详情为空,accountId:{}", advertiserId);
+            return;
+        }
+        Boolean toGet = true;
+        if(details.size() < page_size){
+            toGet = false;
+        }
+        List<KuaishouCreativeReportDaily> addList = new ArrayList<>();
+        for (int i = 0; i < details.size(); i++) {
+            JSONObject returnJson = details.getJSONObject(i);
+            KuaishouCreativeReportDaily reportDaily = new KuaishouCreativeReportDaily();
+            reportDaily.setAdvertiserId(advertiserId);
+            reportDaily.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+            reportDaily.setCampaignId(returnJson.getLong("campaign_id"));
+            reportDaily.setCampaignName(returnJson.getString("campaign_name"));
+            reportDaily.setUnitId(returnJson.getLong("unit_id"));
+            reportDaily.setUnitName(returnJson.getString("unit_name"));
+            reportDaily.setCreativeId(returnJson.getLong("creative_id"));
+            reportDaily.setCreativeName(returnJson.getString("creative_name"));
+            reportDaily.setCharge(returnJson.getBigDecimal("charge"));
+            reportDaily.setShow(returnJson.getLong("show"));
+            reportDaily.setPhotoClick(returnJson.getLong("photo_click"));
+            reportDaily.setAclick(returnJson.getLong("aclick"));
+            reportDaily.setBclick(returnJson.getLong("bclick"));
+            reportDaily.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+            reportDaily.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+            reportDaily.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+            reportDaily.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+            reportDaily.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+            reportDaily.setActionCost(returnJson.getBigDecimal("action_cost"));
+            reportDaily.setShare(returnJson.getLong("share"));
+            reportDaily.setComment(returnJson.getLong("comment"));
+            reportDaily.setLike(returnJson.getLong("like"));
+            reportDaily.setFollow(returnJson.getLong("follow"));
+            reportDaily.setCancelFollow(returnJson.getLong("cancel_follow"));
+            reportDaily.setReport(returnJson.getLong("report"));
+            reportDaily.setBlock(returnJson.getLong("block"));
+            reportDaily.setNegative(returnJson.getLong("negative"));
+            reportDaily.setSubmit(returnJson.getLong("submit"));
+            reportDaily.setDownloadStarted(returnJson.getLong("download_started"));
+            reportDaily.setDownloadCompleted(returnJson.getLong("download_completed"));
+            reportDaily.setActivation(returnJson.getLong("activation"));
+            reportDaily.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+            reportDaily.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+            reportDaily.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+            reportDaily.setEventPay(returnJson.getLong("event_pay"));
+            reportDaily.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+            reportDaily.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+            reportDaily.setEventRegister(returnJson.getLong("event_register"));
+            reportDaily.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+            reportDaily.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+            reportDaily.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+            reportDaily.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+            reportDaily.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+            reportDaily.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+            reportDaily.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+            reportDaily.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+            reportDaily.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+            reportDaily.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+            reportDaily.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+            reportDaily.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+            reportDaily.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+            reportDaily.setFormCount(returnJson.getLong("form_count"));
+            reportDaily.setFormCost(returnJson.getBigDecimal("form_cost"));
+            reportDaily.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+            reportDaily.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+            reportDaily.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+            reportDaily.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+            reportDaily.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+            reportDaily.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+            reportDaily.setEventValidClues(returnJson.getLong("event_valid_clues"));
+            reportDaily.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+            reportDaily.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+            reportDaily.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+            reportDaily.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+            reportDaily.setEventGetThrough(returnJson.getLong("event_get_through"));
+            reportDaily.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+            reportDaily.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+            reportDaily.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+            reportDaily.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+            reportDaily.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+            reportDaily.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+            reportDaily.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+            reportDaily.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+            reportDaily.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+            reportDaily.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+            reportDaily.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+            reportDaily.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+            reportDaily.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+            reportDaily.setEventGoodsView(returnJson.getLong("event_goods_view"));
+            reportDaily.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+            reportDaily.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+            reportDaily.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+            reportDaily.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+            reportDaily.setEventButtonClick(returnJson.getLong("event_button_click"));
+            reportDaily.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+            reportDaily.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+            reportDaily.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+            reportDaily.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+            reportDaily.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+            reportDaily.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+            reportDaily.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+            reportDaily.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+            reportDaily.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+            reportDaily.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+            reportDaily.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+            reportDaily.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+            reportDaily.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+            reportDaily.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+            reportDaily.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+            reportDaily.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+            reportDaily.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+            reportDaily.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+            reportDaily.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+            reportDaily.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+            reportDaily.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+            reportDaily.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+            reportDaily.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+            reportDaily.setPlacementType(returnJson.getString("placement_type"));
+            reportDaily.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+            reportDaily.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+            reportDaily.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+            reportDaily.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+            reportDaily.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+            reportDaily.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+            reportDaily.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+            reportDaily.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+            reportDaily.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+            reportDaily.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+            reportDaily.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+            reportDaily.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+            reportDaily.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+            reportDaily.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+            reportDaily.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+            reportDaily.setKeyAction(returnJson.getLong("key_action"));
+            reportDaily.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+            reportDaily.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+            reportDaily.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+            reportDaily.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+            reportDaily.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+            reportDaily.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+            reportDaily.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+            reportDaily.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+            reportDaily.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+            reportDaily.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+            addList.add(reportDaily);
+        }
+        creativeReportDailyMapper.replaceBatch(addList);
+        if(toGet){
+            getCreativeReportDaily(advertiserId,  accessToken,  startDate,  endDate,  page + 1);
+        }else {
+            log.info("创意日报数据获取完成:accountId:{}", advertiserId);
+        }
+    }
+}

+ 212 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouMaterialVideoReportDailyServiceImpl.java

@@ -0,0 +1,212 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouMaterialVideoReportDaily;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouProgramCreativeReportDaily;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouMaterialVideoReportDailyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouMaterialVideoReportDailyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 素材-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouMaterialVideoReportDailyServiceImpl
+    extends ServiceImpl<KuaishouMaterialVideoReportDailyMapper, KuaishouMaterialVideoReportDaily>
+    implements IKuaishouMaterialVideoReportDailyService {
+
+    @Autowired
+    private KuaishouMaterialVideoReportDailyMapper videoReportDailyMapper;
+    @Value("${api.kuaishou.postUrl}")
+    private String postUrl;
+
+    @Override
+    public void getVideoReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+        String url = postUrl + KuaishouConstant.MATERIAL_REPORT;
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Access-Token", accessToken);
+        Map<String, Object> param = new HashMap<>();
+        param.put("start_date", startDate);
+        param.put("end_date", endDate);
+        param.put("advertiser_id", advertiserId);
+        param.put("temporal_granularity", "DAILY");
+        param.put("view_type", 5);
+        Integer page_size = 2000;
+        param.put("page_size", page_size);
+        param.put("page", page);
+        String result = HttpUtils.httpPostRequest(url, param, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        JSONArray details = resultJson.getJSONArray("details");
+        if (null == details || details.size() <= 0) {
+            log.error("快手视频日报返回详情为空,accountId:{}", advertiserId);
+            return;
+        }
+        Boolean toGet = true;
+        if(details.size() < page_size){
+            toGet = false;
+        }
+        List<KuaishouMaterialVideoReportDaily> addList = new ArrayList<>();
+        for (int i = 0; i < details.size(); i++) {
+            JSONObject returnJson = details.getJSONObject(i);
+            KuaishouMaterialVideoReportDaily reportDaily = new KuaishouMaterialVideoReportDaily();
+            reportDaily.setAdvertiserId(advertiserId);
+            reportDaily.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+            reportDaily.setPhotoId(returnJson.getString("photo_id"));
+            reportDaily.setAdScene(returnJson.getString("ad_scene"));
+            reportDaily.setPhotoUrl(returnJson.getString("photo_url"));
+            reportDaily.setCoverUrl(returnJson.getString("cover_url"));
+            reportDaily.setImageToken(returnJson.getString("image_token"));
+            reportDaily.setPhotoCaption(returnJson.getString("photo_caption"));
+            reportDaily.setCharge(returnJson.getBigDecimal("charge"));
+            reportDaily.setShow(returnJson.getLong("show"));
+            reportDaily.setPhotoClick(returnJson.getLong("photo_click"));
+            reportDaily.setAclick(returnJson.getLong("aclick"));
+            reportDaily.setBclick(returnJson.getLong("bclick"));
+            reportDaily.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+            reportDaily.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+            reportDaily.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+            reportDaily.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+            reportDaily.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+            reportDaily.setActionCost(returnJson.getBigDecimal("action_cost"));
+            reportDaily.setShare(returnJson.getLong("share"));
+            reportDaily.setComment(returnJson.getLong("comment"));
+            reportDaily.setLike(returnJson.getLong("like"));
+            reportDaily.setFollow(returnJson.getLong("follow"));
+            reportDaily.setCancelFollow(returnJson.getLong("cancel_follow"));
+            reportDaily.setReport(returnJson.getLong("report"));
+            reportDaily.setBlock(returnJson.getLong("block"));
+            reportDaily.setNegative(returnJson.getLong("negative"));
+            reportDaily.setSubmit(returnJson.getLong("submit"));
+            reportDaily.setDownloadStarted(returnJson.getLong("download_started"));
+            reportDaily.setDownloadCompleted(returnJson.getLong("download_completed"));
+            reportDaily.setActivation(returnJson.getLong("activation"));
+            reportDaily.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+            reportDaily.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+            reportDaily.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+            reportDaily.setEventPay(returnJson.getLong("event_pay"));
+            reportDaily.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+            reportDaily.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+            reportDaily.setEventRegister(returnJson.getLong("event_register"));
+            reportDaily.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+            reportDaily.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+            reportDaily.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+            reportDaily.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+            reportDaily.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+            reportDaily.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+            reportDaily.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+            reportDaily.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+            reportDaily.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+            reportDaily.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+            reportDaily.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+            reportDaily.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+            reportDaily.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+            reportDaily.setFormCount(returnJson.getLong("form_count"));
+            reportDaily.setFormCost(returnJson.getBigDecimal("form_cost"));
+            reportDaily.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+            reportDaily.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+            reportDaily.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+            reportDaily.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+            reportDaily.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+            reportDaily.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+            reportDaily.setEventValidClues(returnJson.getLong("event_valid_clues"));
+            reportDaily.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+            reportDaily.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+            reportDaily.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+            reportDaily.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+            reportDaily.setEventGetThrough(returnJson.getLong("event_get_through"));
+            reportDaily.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+            reportDaily.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+            reportDaily.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+            reportDaily.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+            reportDaily.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+            reportDaily.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+            reportDaily.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+            reportDaily.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+            reportDaily.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+            reportDaily.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+            reportDaily.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+            reportDaily.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+            reportDaily.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+            reportDaily.setEventGoodsView(returnJson.getLong("event_goods_view"));
+            reportDaily.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+            reportDaily.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+            reportDaily.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+            reportDaily.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+            reportDaily.setEventButtonClick(returnJson.getLong("event_button_click"));
+            reportDaily.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+            reportDaily.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+            reportDaily.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+            reportDaily.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+            reportDaily.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+            reportDaily.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+            reportDaily.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+            reportDaily.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+            reportDaily.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+            reportDaily.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+            reportDaily.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+            reportDaily.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+            reportDaily.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+            reportDaily.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+            reportDaily.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+            reportDaily.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+            reportDaily.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+            reportDaily.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+            reportDaily.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+            reportDaily.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+            reportDaily.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+            reportDaily.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+            reportDaily.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+            reportDaily.setPlacementType(returnJson.getString("placement_type"));
+            reportDaily.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+            reportDaily.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+            reportDaily.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+            reportDaily.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+            reportDaily.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+            reportDaily.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+            reportDaily.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+            reportDaily.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+            reportDaily.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+            reportDaily.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+            reportDaily.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+            reportDaily.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+            reportDaily.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+            reportDaily.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+            reportDaily.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+            reportDaily.setKeyAction(returnJson.getLong("key_action"));
+            reportDaily.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+            reportDaily.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+            reportDaily.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+            reportDaily.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+            reportDaily.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+            reportDaily.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+            reportDaily.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+            reportDaily.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+            reportDaily.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+            reportDaily.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+            addList.add(reportDaily);
+        }
+        videoReportDailyMapper.replaceBatch(addList);
+        if(toGet){
+            getVideoReportDaily(advertiserId,  accessToken,  startDate,  endDate,  page + 1);
+        }else {
+            log.info("视频日报数据获取完成:accountId:{}", advertiserId);
+        }
+    }
+}

+ 214 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouMaterialVideoReportHourlyServiceImpl.java

@@ -0,0 +1,214 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouMaterialVideoReportDaily;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouMaterialVideoReportHourly;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouProgramCreativeReportDaily;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouMaterialVideoReportHourlyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouMaterialVideoReportHourlyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 素材-时报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouMaterialVideoReportHourlyServiceImpl
+    extends ServiceImpl<KuaishouMaterialVideoReportHourlyMapper, KuaishouMaterialVideoReportHourly>
+    implements IKuaishouMaterialVideoReportHourlyService {
+    @Value("${api.kuaishou.postUrl}")
+    private String postUrl;
+    @Autowired
+    private KuaishouMaterialVideoReportHourlyMapper materialVideoReportHourlyMapper;
+
+    @Override
+    public void getVideoReportHour(Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+        String url = postUrl + KuaishouConstant.MATERIAL_REPORT;
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Access-Token", accessToken);
+        Map<String, Object> param = new HashMap<>();
+        param.put("start_date", startDate);
+        param.put("end_date", endDate);
+        param.put("advertiser_id", advertiserId);
+        param.put("temporal_granularity", "HOURLY");
+        param.put("view_type", 5);
+        Integer page_size = 2000;
+        param.put("page_size", page_size);
+        param.put("page", page);
+        String result = HttpUtils.httpPostRequest(url, param, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+    System.err.println(resultJson);
+        JSONArray details = resultJson.getJSONArray("details");
+        if (null == details || details.size() <= 0) {
+            log.error("快手视频时报返回详情为空,accountId:{}", advertiserId);
+            return;
+        }
+        Boolean toGet = true;
+        if(details.size() < page_size){
+            toGet = false;
+        }
+        List<KuaishouMaterialVideoReportHourly> addList = new ArrayList<>();
+        for (int i = 0; i < details.size(); i++) {
+            JSONObject returnJson = details.getJSONObject(i);
+            KuaishouMaterialVideoReportHourly reportHourly = new KuaishouMaterialVideoReportHourly();
+            reportHourly.setAdvertiserId(advertiserId);
+            reportHourly.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+            reportHourly.setHour(returnJson.getInteger("stat_hour"));
+            reportHourly.setPhotoId(returnJson.getString("photo_id"));
+            reportHourly.setAdScene(returnJson.getString("ad_scene"));
+            reportHourly.setPhotoUrl(returnJson.getString("photo_url"));
+            reportHourly.setCoverUrl(returnJson.getString("cover_url"));
+            reportHourly.setImageToken(returnJson.getString("image_token"));
+            reportHourly.setPhotoCaption(returnJson.getString("photo_caption"));
+            reportHourly.setCharge(returnJson.getBigDecimal("charge"));
+            reportHourly.setShow(returnJson.getLong("show"));
+            reportHourly.setPhotoClick(returnJson.getLong("photo_click"));
+            reportHourly.setAclick(returnJson.getLong("aclick"));
+            reportHourly.setBclick(returnJson.getLong("bclick"));
+            reportHourly.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+            reportHourly.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+            reportHourly.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+            reportHourly.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+            reportHourly.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+            reportHourly.setActionCost(returnJson.getBigDecimal("action_cost"));
+            reportHourly.setShare(returnJson.getLong("share"));
+            reportHourly.setComment(returnJson.getLong("comment"));
+            reportHourly.setLike(returnJson.getLong("like"));
+            reportHourly.setFollow(returnJson.getLong("follow"));
+            reportHourly.setCancelFollow(returnJson.getLong("cancel_follow"));
+            reportHourly.setReport(returnJson.getLong("report"));
+            reportHourly.setBlock(returnJson.getLong("block"));
+            reportHourly.setNegative(returnJson.getLong("negative"));
+            reportHourly.setSubmit(returnJson.getLong("submit"));
+            reportHourly.setDownloadStarted(returnJson.getLong("download_started"));
+            reportHourly.setDownloadCompleted(returnJson.getLong("download_completed"));
+            reportHourly.setActivation(returnJson.getLong("activation"));
+            reportHourly.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+            reportHourly.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+            reportHourly.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+            reportHourly.setEventPay(returnJson.getLong("event_pay"));
+            reportHourly.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+            reportHourly.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+            reportHourly.setEventRegister(returnJson.getLong("event_register"));
+            reportHourly.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+            reportHourly.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+            reportHourly.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+            reportHourly.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+            reportHourly.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+            reportHourly.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+            reportHourly.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+            reportHourly.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+            reportHourly.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+            reportHourly.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+            reportHourly.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+            reportHourly.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+            reportHourly.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+            reportHourly.setFormCount(returnJson.getLong("form_count"));
+            reportHourly.setFormCost(returnJson.getBigDecimal("form_cost"));
+            reportHourly.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+            reportHourly.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+            reportHourly.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+            reportHourly.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+            reportHourly.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+            reportHourly.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+            reportHourly.setEventValidClues(returnJson.getLong("event_valid_clues"));
+            reportHourly.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+            reportHourly.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+            reportHourly.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+            reportHourly.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+            reportHourly.setEventGetThrough(returnJson.getLong("event_get_through"));
+            reportHourly.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+            reportHourly.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+            reportHourly.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+            reportHourly.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+            reportHourly.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+            reportHourly.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+            reportHourly.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+            reportHourly.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+            reportHourly.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+            reportHourly.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+            reportHourly.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+            reportHourly.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+            reportHourly.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+            reportHourly.setEventGoodsView(returnJson.getLong("event_goods_view"));
+            reportHourly.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+            reportHourly.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+            reportHourly.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+            reportHourly.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+            reportHourly.setEventButtonClick(returnJson.getLong("event_button_click"));
+            reportHourly.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+            reportHourly.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+            reportHourly.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+            reportHourly.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+            reportHourly.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+            reportHourly.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+            reportHourly.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+            reportHourly.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+            reportHourly.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+            reportHourly.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+            reportHourly.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+            reportHourly.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+            reportHourly.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+            reportHourly.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+            reportHourly.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+            reportHourly.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+            reportHourly.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+            reportHourly.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+            reportHourly.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+            reportHourly.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+            reportHourly.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+            reportHourly.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+            reportHourly.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+            reportHourly.setPlacementType(returnJson.getString("placement_type"));
+            reportHourly.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+            reportHourly.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+            reportHourly.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+            reportHourly.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+            reportHourly.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+            reportHourly.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+            reportHourly.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+            reportHourly.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+            reportHourly.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+            reportHourly.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+            reportHourly.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+            reportHourly.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+            reportHourly.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+            reportHourly.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+            reportHourly.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+            reportHourly.setKeyAction(returnJson.getLong("key_action"));
+            reportHourly.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+            reportHourly.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+            reportHourly.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+            reportHourly.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+            reportHourly.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+            reportHourly.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+            reportHourly.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+            reportHourly.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+            reportHourly.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+            reportHourly.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+            addList.add(reportHourly);
+        }
+        materialVideoReportHourlyMapper.replaceBatch(addList);
+        if(toGet){
+            getVideoReportHour(advertiserId,  accessToken,  startDate,  endDate,  page + 1);
+        }else {
+            log.info("视频时报数据获取完成:accountId:{}", advertiserId);
+        }
+    }
+}

+ 221 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouProgramCreativeReportDailyServiceImpl.java

@@ -0,0 +1,221 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCreativeReportDaily;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouProgramCreativeReportDaily;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouProgramCreativeReportDailyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouProgramCreativeReportDailyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 程序化创意-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouProgramCreativeReportDailyServiceImpl
+    extends ServiceImpl<
+        KuaishouProgramCreativeReportDailyMapper, KuaishouProgramCreativeReportDaily>
+    implements IKuaishouProgramCreativeReportDailyService {
+    @Value("${api.kuaishou.postUrl}")
+    private String postUrl;
+    @Autowired
+    private KuaishouProgramCreativeReportDailyMapper programCreativeReportDailyMapper;
+
+    @Override
+    public void getProgramCreativeReportDaily(Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+        String url = postUrl + KuaishouConstant.PROGRAM_CREATIVE_REPORT;
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Access-Token", accessToken);
+        Map<String, Object> param = new HashMap<>();
+        param.put("start_date", startDate);
+        param.put("end_date", endDate);
+        param.put("advertiser_id", advertiserId);
+        param.put("temporal_granularity", "DAILY");
+        Integer page_size = 2000;
+        param.put("page_size", page_size);
+        param.put("page", page);
+        String result = HttpUtils.httpPostRequest(url, param, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        Integer code = resultJson.getInteger("code");
+        String message = resultJson.getString("message");
+        if (null == code || code != 0) {
+            log.error("获取快手广告程序化创意日报表异常:{},accountId:{}", message, advertiserId);
+            return;
+        }
+        JSONArray details = resultJson.getJSONObject("data").getJSONArray("details");
+        if (null == details || details.size() <= 0) {
+            log.error("快手程序化创意日报返回详情为空,accountId:{}", advertiserId);
+            return;
+        }
+        Boolean toGet = true;
+        if(details.size() < page_size){
+            toGet = false;
+        }
+        List<KuaishouProgramCreativeReportDaily> addList = new ArrayList<>();
+        for (int i = 0; i < details.size(); i++) {
+            JSONObject returnJson = details.getJSONObject(i);
+            KuaishouProgramCreativeReportDaily reportDaily = new KuaishouProgramCreativeReportDaily();
+            reportDaily.setAdvertiserId(advertiserId);
+            reportDaily.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+            reportDaily.setCampaignId(returnJson.getLong("campaign_id"));
+            reportDaily.setCampaignName(returnJson.getString("campaign_name"));
+            reportDaily.setUnitId(returnJson.getLong("unit_id"));
+            reportDaily.setUnitName(returnJson.getString("unit_name"));
+            reportDaily.setCreativeId(returnJson.getLong("creative_id"));
+            reportDaily.setPhotoId(returnJson.getString("photo_id"));
+            reportDaily.setPhotoUrl(returnJson.getString("photo_url"));
+            reportDaily.setCoverUrl(returnJson.getString("cover_url"));
+            reportDaily.setImageToken(returnJson.getString("image_token"));
+            reportDaily.setDescription(returnJson.getString("description"));
+            reportDaily.setCharge(returnJson.getBigDecimal("charge"));
+            reportDaily.setShow(returnJson.getLong("show"));
+            reportDaily.setPhotoClick(returnJson.getLong("photo_click"));
+            reportDaily.setAclick(returnJson.getLong("aclick"));
+            reportDaily.setBclick(returnJson.getLong("bclick"));
+            reportDaily.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+            reportDaily.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+            reportDaily.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+            reportDaily.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+            reportDaily.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+            reportDaily.setActionCost(returnJson.getBigDecimal("action_cost"));
+            reportDaily.setShare(returnJson.getLong("share"));
+            reportDaily.setComment(returnJson.getLong("comment"));
+            reportDaily.setLike(returnJson.getLong("like"));
+            reportDaily.setFollow(returnJson.getLong("follow"));
+            reportDaily.setCancelFollow(returnJson.getLong("cancel_follow"));
+            reportDaily.setReport(returnJson.getLong("report"));
+            reportDaily.setBlock(returnJson.getLong("block"));
+            reportDaily.setNegative(returnJson.getLong("negative"));
+            reportDaily.setSubmit(returnJson.getLong("submit"));
+            reportDaily.setDownloadStarted(returnJson.getLong("download_started"));
+            reportDaily.setDownloadCompleted(returnJson.getLong("download_completed"));
+            reportDaily.setActivation(returnJson.getLong("activation"));
+            reportDaily.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+            reportDaily.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+            reportDaily.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+            reportDaily.setEventPay(returnJson.getLong("event_pay"));
+            reportDaily.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+            reportDaily.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+            reportDaily.setEventRegister(returnJson.getLong("event_register"));
+            reportDaily.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+            reportDaily.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+            reportDaily.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+            reportDaily.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+            reportDaily.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+            reportDaily.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+            reportDaily.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+            reportDaily.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+            reportDaily.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+            reportDaily.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+            reportDaily.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+            reportDaily.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+            reportDaily.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+            reportDaily.setFormCount(returnJson.getLong("form_count"));
+            reportDaily.setFormCost(returnJson.getBigDecimal("form_cost"));
+            reportDaily.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+            reportDaily.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+            reportDaily.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+            reportDaily.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+            reportDaily.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+            reportDaily.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+            reportDaily.setEventValidClues(returnJson.getLong("event_valid_clues"));
+            reportDaily.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+            reportDaily.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+            reportDaily.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+            reportDaily.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+            reportDaily.setEventGetThrough(returnJson.getLong("event_get_through"));
+            reportDaily.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+            reportDaily.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+            reportDaily.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+            reportDaily.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+            reportDaily.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+            reportDaily.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+            reportDaily.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+            reportDaily.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+            reportDaily.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+            reportDaily.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+            reportDaily.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+            reportDaily.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+            reportDaily.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+            reportDaily.setEventGoodsView(returnJson.getLong("event_goods_view"));
+            reportDaily.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+            reportDaily.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+            reportDaily.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+            reportDaily.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+            reportDaily.setEventButtonClick(returnJson.getLong("event_button_click"));
+            reportDaily.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+            reportDaily.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+            reportDaily.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+            reportDaily.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+            reportDaily.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+            reportDaily.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+            reportDaily.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+            reportDaily.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+            reportDaily.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+            reportDaily.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+            reportDaily.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+            reportDaily.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+            reportDaily.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+            reportDaily.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+            reportDaily.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+            reportDaily.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+            reportDaily.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+            reportDaily.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+            reportDaily.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+            reportDaily.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+            reportDaily.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+            reportDaily.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+            reportDaily.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+            reportDaily.setPlacementType(returnJson.getString("placement_type"));
+            reportDaily.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+            reportDaily.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+            reportDaily.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+            reportDaily.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+            reportDaily.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+            reportDaily.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+            reportDaily.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+            reportDaily.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+            reportDaily.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+            reportDaily.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+            reportDaily.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+            reportDaily.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+            reportDaily.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+            reportDaily.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+            reportDaily.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+            reportDaily.setKeyAction(returnJson.getLong("key_action"));
+            reportDaily.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+            reportDaily.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+            reportDaily.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+            reportDaily.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+            reportDaily.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+            reportDaily.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+            reportDaily.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+            reportDaily.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+            reportDaily.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+            reportDaily.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+            addList.add(reportDaily);
+        }
+        programCreativeReportDailyMapper.replaceBatch(addList);
+        if(toGet){
+            getProgramCreativeReportDaily(advertiserId,  accessToken,  startDate,  endDate,  page + 1);
+        }else {
+            log.info("程序化创意日报数据获取完成:accountId:{}", advertiserId);
+        }
+    }
+}

+ 218 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouUnitReportDailyServiceImpl.java

@@ -0,0 +1,218 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouCampaignReportDaily;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouUnitReportDaily;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouUnitReportDailyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouUnitReportDailyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 组-日报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouUnitReportDailyServiceImpl
+    extends ServiceImpl<KuaishouUnitReportDailyMapper, KuaishouUnitReportDaily>
+    implements IKuaishouUnitReportDailyService {
+
+    @Value("${api.kuaishou.postUrl}")
+    private String postUrl;
+    @Autowired private  KuaishouUnitReportDailyMapper unitReportDailyMapper;
+
+  @Override
+  public void getUnitReportDaily(
+      Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+      String url = postUrl + KuaishouConstant.UNIT_REPORT;
+      Map<String, String> headers = new HashMap<>();
+      headers.put("Access-Token", accessToken);
+      Map<String, Object> param = new HashMap<>();
+      param.put("start_date", startDate);
+      param.put("end_date", endDate);
+      param.put("advertiser_id", advertiserId);
+      param.put("temporal_granularity", "DAILY");
+      Integer page_size = 2000;
+      param.put("page_size", page_size);
+      param.put("page", page);
+      String result = HttpUtils.httpPostRequest(url, param, headers);
+      JSONObject resultJson = JSONObject.parseObject(result);
+      Integer code = resultJson.getInteger("code");
+      String message = resultJson.getString("message");
+      if (null == code || code != 0) {
+          log.error("获取快手广告组日报表异常:{},accountId:{}", message, advertiserId);
+          return;
+      }
+      JSONArray details = resultJson.getJSONObject("data").getJSONArray("details");
+      if (null == details || details.size() <= 0) {
+          log.error("快手组日报返回详情为空,accountId:{}", advertiserId);
+          return;
+      }
+      Boolean toGet = true;
+      if(details.size() < page_size){
+          toGet = false;
+      }
+      List<KuaishouUnitReportDaily> addList = new ArrayList<>();
+      for (int i = 0; i < details.size(); i++) {
+          JSONObject returnJson = details.getJSONObject(i);
+          KuaishouUnitReportDaily reportDaily = new KuaishouUnitReportDaily();
+          reportDaily.setAdvertiserId(advertiserId);
+          reportDaily.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+          reportDaily.setCampaignId(returnJson.getLong("campaign_id"));
+          reportDaily.setCampaignName(returnJson.getString("campaign_name"));
+          reportDaily.setUnitId(returnJson.getLong("unit_id"));
+          reportDaily.setUnitName(returnJson.getString("unit_name"));
+          reportDaily.setCharge(returnJson.getBigDecimal("charge"));
+          reportDaily.setShow(returnJson.getLong("show"));
+          reportDaily.setPhotoClick(returnJson.getLong("photo_click"));
+          reportDaily.setAclick(returnJson.getLong("aclick"));
+          reportDaily.setBclick(returnJson.getLong("bclick"));
+          reportDaily.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+          reportDaily.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+          reportDaily.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+          reportDaily.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+          reportDaily.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+          reportDaily.setActionCost(returnJson.getBigDecimal("action_cost"));
+          reportDaily.setShare(returnJson.getLong("share"));
+          reportDaily.setComment(returnJson.getLong("comment"));
+          reportDaily.setLike(returnJson.getLong("like"));
+          reportDaily.setFollow(returnJson.getLong("follow"));
+          reportDaily.setCancelFollow(returnJson.getLong("cancel_follow"));
+          reportDaily.setReport(returnJson.getLong("report"));
+          reportDaily.setBlock(returnJson.getLong("block"));
+          reportDaily.setNegative(returnJson.getLong("negative"));
+          reportDaily.setSubmit(returnJson.getLong("submit"));
+          reportDaily.setDownloadStarted(returnJson.getLong("download_started"));
+          reportDaily.setDownloadCompleted(returnJson.getLong("download_completed"));
+          reportDaily.setActivation(returnJson.getLong("activation"));
+          reportDaily.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+          reportDaily.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+          reportDaily.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+          reportDaily.setEventPay(returnJson.getLong("event_pay"));
+          reportDaily.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+          reportDaily.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+          reportDaily.setEventRegister(returnJson.getLong("event_register"));
+          reportDaily.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+          reportDaily.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+          reportDaily.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+          reportDaily.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+          reportDaily.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+          reportDaily.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+          reportDaily.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+          reportDaily.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+          reportDaily.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+          reportDaily.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+          reportDaily.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+          reportDaily.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+          reportDaily.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+          reportDaily.setFormCount(returnJson.getLong("form_count"));
+          reportDaily.setFormCost(returnJson.getBigDecimal("form_cost"));
+          reportDaily.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+          reportDaily.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+          reportDaily.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+          reportDaily.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+          reportDaily.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+          reportDaily.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+          reportDaily.setEventValidClues(returnJson.getLong("event_valid_clues"));
+          reportDaily.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+          reportDaily.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+          reportDaily.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+          reportDaily.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+          reportDaily.setEventGetThrough(returnJson.getLong("event_get_through"));
+          reportDaily.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+          reportDaily.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+          reportDaily.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+          reportDaily.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+          reportDaily.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+          reportDaily.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+          reportDaily.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+          reportDaily.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+          reportDaily.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+          reportDaily.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+          reportDaily.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+          reportDaily.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+          reportDaily.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+          reportDaily.setEventGoodsView(returnJson.getLong("event_goods_view"));
+          reportDaily.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+          reportDaily.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+          reportDaily.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+          reportDaily.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+          reportDaily.setEventButtonClick(returnJson.getLong("event_button_click"));
+          reportDaily.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+          reportDaily.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+          reportDaily.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+          reportDaily.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+          reportDaily.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+          reportDaily.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+          reportDaily.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+          reportDaily.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+          reportDaily.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+          reportDaily.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+          reportDaily.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+          reportDaily.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+          reportDaily.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+          reportDaily.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+          reportDaily.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+          reportDaily.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+          reportDaily.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+          reportDaily.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+          reportDaily.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+          reportDaily.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+          reportDaily.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+          reportDaily.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+          reportDaily.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+          reportDaily.setPlacementType(returnJson.getString("placement_type"));
+          reportDaily.setAdScene(returnJson.getString("ad_scene"));
+          reportDaily.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+          reportDaily.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+          reportDaily.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+          reportDaily.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+          reportDaily.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+          reportDaily.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+          reportDaily.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+          reportDaily.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+          reportDaily.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+          reportDaily.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+          reportDaily.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+          reportDaily.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+          reportDaily.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+          reportDaily.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+          reportDaily.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+          reportDaily.setKeyAction(returnJson.getLong("key_action"));
+          reportDaily.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+          reportDaily.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+          reportDaily.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+          reportDaily.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+          reportDaily.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+          reportDaily.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+          reportDaily.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+          reportDaily.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+          reportDaily.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+          reportDaily.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+          addList.add(reportDaily);
+      }
+       unitReportDailyMapper.replaceBatch(addList);
+      if(toGet){
+          getUnitReportDaily(advertiserId,  accessToken,  startDate,  endDate,  page + 1);
+      }else {
+          log.info("组日报数据获取完成:accountId:{}", advertiserId);
+      }
+
+
+  }
+}

+ 217 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaishouUnitReportHourlyServiceImpl.java

@@ -0,0 +1,217 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.constant.KuaishouConstant;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouUnitReportDaily;
+import cn.com.ctop.job.kuaishou.data.entity.KuaishouUnitReportHourly;
+import cn.com.ctop.job.kuaishou.data.mapper.KuaishouUnitReportHourlyMapper;
+import cn.com.ctop.job.kuaishou.data.service.IKuaishouUnitReportHourlyService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
+import cn.com.ctop.job.kuaishou.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 组-时报
+ *
+ * @author jeecg-boot 2021-09-09
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouUnitReportHourlyServiceImpl
+    extends ServiceImpl<KuaishouUnitReportHourlyMapper, KuaishouUnitReportHourly>
+    implements IKuaishouUnitReportHourlyService {
+    @Value("${api.kuaishou.postUrl}")
+    private String postUrl;
+    @Autowired
+    private  KuaishouUnitReportHourlyMapper unitReportHourlyMapper;
+
+    @Override
+    public void getUnitReportHour(Long advertiserId, String accessToken, String startDate, String endDate, int page) {
+        String url = postUrl + KuaishouConstant.UNIT_REPORT;
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Access-Token", accessToken);
+        Map<String, Object> param = new HashMap<>();
+        param.put("start_date", startDate);
+        param.put("end_date", endDate);
+        param.put("advertiser_id", advertiserId);
+        param.put("temporal_granularity", "HOURLY");
+        Integer page_size = 2000;
+        param.put("page_size", page_size);
+        param.put("page", page);
+        String result = HttpUtils.httpPostRequest(url, param, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        Integer code = resultJson.getInteger("code");
+        String message = resultJson.getString("message");
+        if (null == code || code != 0) {
+            log.error("获取快手广告组时报表异常:{},accountId:{}", message, advertiserId);
+            return;
+        }
+        JSONArray details = resultJson.getJSONObject("data").getJSONArray("details");
+        if (null == details || details.size() <= 0) {
+            log.error("快手组时报返回详情为空,accountId:{}", advertiserId);
+            return;
+        }
+        Boolean toGet = true;
+        if(details.size() < page_size){
+            toGet = false;
+        }
+        List<KuaishouUnitReportHourly> addList = new ArrayList<>();
+        for (int i = 0; i < details.size(); i++) {
+            JSONObject returnJson = details.getJSONObject(i);
+            KuaishouUnitReportHourly reportHour = new KuaishouUnitReportHourly();
+            reportHour.setAdvertiserId(advertiserId);
+            reportHour.setStatDate(DateUtils.getDateInteger(returnJson.getString("stat_date")));
+            reportHour.setHour(returnJson.getInteger("stat_hour"));
+            reportHour.setCampaignId(returnJson.getLong("campaign_id"));
+            reportHour.setCampaignName(returnJson.getString("campaign_name"));
+            reportHour.setUnitId(returnJson.getLong("unit_id"));
+            reportHour.setUnitName(returnJson.getString("unit_name"));
+            reportHour.setCharge(returnJson.getBigDecimal("charge"));
+            reportHour.setShow(returnJson.getLong("show"));
+            reportHour.setPhotoClick(returnJson.getLong("photo_click"));
+            reportHour.setAclick(returnJson.getLong("aclick"));
+            reportHour.setBclick(returnJson.getLong("bclick"));
+            reportHour.setPhotoClickRatio(returnJson.getBigDecimal("photo_click_ratio"));
+            reportHour.setPlay3sRatio(returnJson.getBigDecimal("play_3s_ratio"));
+            reportHour.setActionRatio(returnJson.getBigDecimal("action_ratio"));
+            reportHour.setImpression1kCost(returnJson.getBigDecimal("impression_1k_cost"));
+            reportHour.setPhotoClickCost(returnJson.getBigDecimal("photo_click_cost"));
+            reportHour.setActionCost(returnJson.getBigDecimal("action_cost"));
+            reportHour.setShare(returnJson.getLong("share"));
+            reportHour.setComment(returnJson.getLong("comment"));
+            reportHour.setLike(returnJson.getLong("like"));
+            reportHour.setFollow(returnJson.getLong("follow"));
+            reportHour.setCancelFollow(returnJson.getLong("cancel_follow"));
+            reportHour.setReport(returnJson.getLong("report"));
+            reportHour.setBlock(returnJson.getLong("block"));
+            reportHour.setNegative(returnJson.getLong("negative"));
+            reportHour.setSubmit(returnJson.getLong("submit"));
+            reportHour.setDownloadStarted(returnJson.getLong("download_started"));
+            reportHour.setDownloadCompleted(returnJson.getLong("download_completed"));
+            reportHour.setActivation(returnJson.getLong("activation"));
+            reportHour.setEventPayFirstDay(returnJson.getLong("event_pay_first_day"));
+            reportHour.setEventPayPurchaseAmountFirstDay(returnJson.getBigDecimal("event_pay_purchase_amount_first_day"));
+            reportHour.setEventPayFirstDayRoi(returnJson.getBigDecimal("event_pay_first_day_roi"));
+            reportHour.setEventPay(returnJson.getLong("event_pay"));
+            reportHour.setEventPayPurchaseAmount(returnJson.getBigDecimal("event_pay_purchase_amount"));
+            reportHour.setEventPayRoi(returnJson.getBigDecimal("event_pay_roi"));
+            reportHour.setEventRegister(returnJson.getLong("event_register"));
+            reportHour.setEventRegisterCost(returnJson.getBigDecimal("event_register_cost"));
+            reportHour.setEventRegisterRatio(returnJson.getBigDecimal("event_register_ratio"));
+            reportHour.setEventJinJianApp(returnJson.getLong("event_jin_jian_app"));
+            reportHour.setEventJinJianAppCost(returnJson.getBigDecimal("event_jin_jian_app_cost"));
+            reportHour.setEventCreditGrantApp(returnJson.getLong("event_credit_grant_app"));
+            reportHour.setEventCreditGrantAppCost(returnJson.getBigDecimal("event_credit_grant_app_cost"));
+            reportHour.setEventCreditGrantAppRatio(returnJson.getBigDecimal("event_credit_grant_app_ratio"));
+            reportHour.setEventOrderPaid(returnJson.getLong("event_order_paid"));
+            reportHour.setEventOrderPaidPurchaseAmount(returnJson.getBigDecimal("event_order_paid_purchase_amount"));
+            reportHour.setEventOrderPaidCost(returnJson.getBigDecimal("event_order_paid_cost"));
+            reportHour.setEventNextDayStay(returnJson.getLong("event_next_day_stay"));
+            reportHour.setEventNextDayStayCost(returnJson.getBigDecimal("event_next_day_stay_cost"));
+            reportHour.setEventNextDayStayRatio(returnJson.getBigDecimal("event_next_day_stay_ratio"));
+            reportHour.setFormCount(returnJson.getLong("form_count"));
+            reportHour.setFormCost(returnJson.getBigDecimal("form_cost"));
+            reportHour.setFormActionRatio(returnJson.getBigDecimal("form_action_ratio"));
+            reportHour.setEventJinJianLandingPage(returnJson.getLong("event_jin_jian_landing_page"));
+            reportHour.setEventJinJianLandingPageCost(returnJson.getBigDecimal("event_jin_jian_landing_page_cost"));
+            reportHour.setEventCreditGrantLandingPage(returnJson.getLong("event_credit_grant_landing_page"));
+            reportHour.setEventCreditGrantLandingPageCost(returnJson.getBigDecimal("event_credit_grant_landing_page_cost"));
+            reportHour.setEventCreditGrantLandingPageRatio(returnJson.getBigDecimal("event_credit_grant_landing_page_ratio"));
+            reportHour.setEventValidClues(returnJson.getLong("event_valid_clues"));
+            reportHour.setEventValidCluesCost(returnJson.getBigDecimal("event_valid_clues_cost"));
+            reportHour.setEventAddWechat(returnJson.getLong("event_add_wechat"));
+            reportHour.setEventAddWechatCost(returnJson.getBigDecimal("event_add_wechat_cost"));
+            reportHour.setEventAddWechatRatio(returnJson.getBigDecimal("event_add_wechat_ratio"));
+            reportHour.setEventGetThrough(returnJson.getLong("event_get_through"));
+            reportHour.setEventGetThroughCost(returnJson.getBigDecimal("event_get_through_cost"));
+            reportHour.setEventGetThroughRatio(returnJson.getBigDecimal("event_get_through_ratio"));
+            reportHour.setEventAppInvoked(returnJson.getLong("event_app_invoked"));
+            reportHour.setEventAppInvokedCost(returnJson.getBigDecimal("event_app_invoked_cost"));
+            reportHour.setEventAppInvokedRatio(returnJson.getBigDecimal("event_app_invoked_ratio"));
+            reportHour.setEventCreditGrantLandingRatio(returnJson.getBigDecimal("event_credit_grant_landing_ratio"));
+            reportHour.setPlay5sRatio(returnJson.getBigDecimal("play_5s_ratio"));
+            reportHour.setPlayEndRatio(returnJson.getBigDecimal("play_end_ratio"));
+            reportHour.setEventNewUserPay(returnJson.getBigDecimal("event_new_user_pay"));
+            reportHour.setEventNewUserPayCost(returnJson.getBigDecimal("event_new_user_pay_cost"));
+            reportHour.setEventNewUserPayRatio(returnJson.getBigDecimal("event_new_user_pay_ratio"));
+            reportHour.setClick1kCost(returnJson.getBigDecimal("click_1k_cost"));
+            reportHour.setAdProductCnt(returnJson.getLong("ad_product_cnt"));
+            reportHour.setEventGoodsView(returnJson.getLong("event_goods_view"));
+            reportHour.setMerchantRecoFans(returnJson.getLong("merchant_reco_fans"));
+            reportHour.setEventGoodsViewCost(returnJson.getBigDecimal("event_goods_view_cost"));
+            reportHour.setMerchantRecoFansCost(returnJson.getBigDecimal("merchant_reco_fans_cost"));
+            reportHour.setEventOrderAmountRoi(returnJson.getBigDecimal("event_order_amount_roi"));
+            reportHour.setEventButtonClick(returnJson.getLong("event_button_click"));
+            reportHour.setEventButtonClickCost(returnJson.getBigDecimal("event_button_click_cost"));
+            reportHour.setEventButtonClickRatio(returnJson.getBigDecimal("event_button_click_ratio"));
+            reportHour.setEventOrderPaidRoi(returnJson.getBigDecimal("event_order_paid_roi"));
+            reportHour.setEventNewUserJinjianApp(returnJson.getLong("event_new_user_jinjian_app"));
+            reportHour.setEventNewUserJinjianAppCost(returnJson.getBigDecimal("event_new_user_jinjian_app_cost"));
+            reportHour.setEventNewUserJinjianAppRoi(returnJson.getBigDecimal("event_new_user_jinjian_app_roi"));
+            reportHour.setEventNewUserCreditGrantApp(returnJson.getLong("event_new_user_credit_grant_app"));
+            reportHour.setEventNewUserCreditGrantAppCost(returnJson.getBigDecimal("event_new_user_credit_grant_app_cost"));
+            reportHour.setEventNewUserCreditGrantAppRoi(returnJson.getBigDecimal("event_new_user_credit_grant_app_roi"));
+            reportHour.setEventNewUserJinjianPage(returnJson.getLong("event_new_user_jinjian_page"));
+            reportHour.setEventNewUserJinjianPageCost(returnJson.getBigDecimal("event_new_user_jinjian_page_cost"));
+            reportHour.setEventNewUserJinjianPageRoi(returnJson.getBigDecimal("event_new_user_jinjian_page_roi"));
+            reportHour.setEventNewUserCreditGrantPage(returnJson.getLong("event_new_user_credit_grant_page"));
+            reportHour.setEventNewUserCreditGrantPageCost(returnJson.getBigDecimal("event_new_user_credit_grant_page_cost"));
+            reportHour.setEventNewUserCreditGrantPageRoi(returnJson.getBigDecimal("event_new_user_credit_grant_page_roi"));
+            reportHour.setEventAppointForm(returnJson.getLong("event_appoint_form"));
+            reportHour.setEventAppointFormCost(returnJson.getBigDecimal("event_appoint_form_cost"));
+            reportHour.setEventAppointFormRatio(returnJson.getBigDecimal("event_appoint_form_ratio"));
+            reportHour.setEventAppointJumpClick(returnJson.getLong("event_appoint_jump_click"));
+            reportHour.setEventAppointJumpClickCost(returnJson.getBigDecimal("event_appoint_jump_click_cost"));
+            reportHour.setEventAppointJumpClickRatio(returnJson.getBigDecimal("event_appoint_jump_click_ratio"));
+            reportHour.setUnionEventPayPurchaseAmount7d(returnJson.getLong("union_event_pay_purchase_amount_7d"));
+            reportHour.setUnionEventPayPurchaseAmount7dRoi(returnJson.getBigDecimal("union_event_pay_purchase_amount_7d_roi"));
+            reportHour.setPlacementType(returnJson.getString("placement_type"));
+            reportHour.setAdScene(returnJson.getString("ad_scene"));
+            reportHour.setEventOrderSuccessed(returnJson.getLong("event_order_successed"));
+            reportHour.setAdPhotoPlayed10sRatio(returnJson.getBigDecimal("ad_photo_played_10s_ratio"));
+            reportHour.setKeyActionCost(returnJson.getBigDecimal("key_action_cost"));
+            reportHour.setEventAddShoppingCartCost(returnJson.getBigDecimal("event_add_shopping_cart_cost"));
+            reportHour.setEventAdWatchTimesRatio(returnJson.getBigDecimal("event_ad_watch_times_ratio"));
+            reportHour.setEventOutboundCallCost(returnJson.getBigDecimal("event_outbound_call_cost"));
+            reportHour.setEventOutboundCall(returnJson.getLong("event_outbound_call"));
+            reportHour.setActionNewRatio(returnJson.getBigDecimal("action_new_ratio"));
+            reportHour.setEventWatchAppAd(returnJson.getLong("event_watch_app_ad"));
+            reportHour.setEventMultiConversionCost(returnJson.getBigDecimal("event_multi_conversion_cost"));
+            reportHour.setEventPhoneCardActivate(returnJson.getLong("event_phone_card_activate"));
+            reportHour.setAdPhotoPlayed75percentRatio(returnJson.getBigDecimal("ad_photo_played_75percent_ratio"));
+            reportHour.setKeyActionRatio(returnJson.getBigDecimal("key_action_ratio"));
+            reportHour.setEventAdWatchTimesCost(returnJson.getBigDecimal("event_ad_watch_times_cost"));
+            reportHour.setEventAddShoppingCart(returnJson.getLong("event_add_shopping_cart"));
+            reportHour.setKeyAction(returnJson.getLong("key_action"));
+            reportHour.setEventMultiConversion(returnJson.getLong("event_multi_conversion"));
+            reportHour.setEventWechatConnected(returnJson.getLong("event_wechat_connected"));
+            reportHour.setEventDspGiftForm(returnJson.getLong("event_dsp_gift_form"));
+            reportHour.setEventIntentionConfirmed(returnJson.getLong("event_intention_confirmed"));
+            reportHour.setEventPhoneGetThrough(returnJson.getLong("event_phone_get_through"));
+            reportHour.setEventMultiConversionRatio(returnJson.getBigDecimal("event_multi_conversion_ratio"));
+            reportHour.setEventMeasurementHouse(returnJson.getBigDecimal("event_measurement_house"));
+            reportHour.setAdPhotoPlayed2sRatio(returnJson.getBigDecimal("ad_photo_played_2s_ratio"));
+            reportHour.setEventOutboundCallRatio(returnJson.getBigDecimal("event_outbound_call_ratio"));
+            reportHour.setEventAdWatchTimes(returnJson.getLong("event_ad_watch_times"));
+            addList.add(reportHour);
+        }
+        unitReportHourlyMapper.replaceBatch(addList);
+        if(toGet){
+            getUnitReportHour(advertiserId,  accessToken,  startDate,  endDate,  page + 1);
+        }else {
+            log.info("组时报数据获取完成:accountId:{}", advertiserId);
+        }
+
+    }
+}

+ 25 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/OauthTokenServiceImpl.java

@@ -0,0 +1,25 @@
+package cn.com.ctop.job.kuaishou.data.service.impl;
+
+import cn.com.ctop.job.kuaishou.data.entity.OauthToken;
+import cn.com.ctop.job.kuaishou.data.mapper.OauthTokenMapper;
+import cn.com.ctop.job.kuaishou.data.service.IOauthTokenService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * token信息
+ *
+ * @author jeecg-boot 2021-09-07
+ * @version V1.0
+ */
+@Service
+public class OauthTokenServiceImpl extends ServiceImpl<OauthTokenMapper, OauthToken> implements IOauthTokenService {
+  @Autowired
+  private OauthTokenMapper tokenMapper;
+
+  @Override
+  public String getByAccountId(Long accountId) {
+    return tokenMapper.getByAccountId(accountId);
+  }
+}

+ 66 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/utils/Check.java

@@ -0,0 +1,66 @@
+package cn.com.ctop.job.kuaishou.data.utils;
+
+import com.alibaba.fastjson.JSONArray;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+public class Check {
+    private Check() {
+    }
+
+    public static boolean isNull(List<?> list) {
+        return list == null || list.isEmpty();
+    }
+
+    public static boolean isNull(Long l) {
+        return l == null || l == 0;
+    }
+
+    public static boolean isNull(Collection<?> collection) {
+        return collection == null || collection.isEmpty();
+    }
+
+    public static boolean isNull(JSONArray jsonArray) {
+        return jsonArray == null || jsonArray.isEmpty();
+    }
+
+
+    public static boolean isNull(String str) {
+        return str == null || str.isEmpty();
+    }
+
+    public static boolean isNull(byte[] bytes) {
+        return bytes == null || bytes.length == 0;
+    }
+
+    public static boolean hasNull(Object... objects) {
+        for (Object obj : objects) {
+            if (obj == null) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public static boolean allEmpty(String... strs) {
+        for (String str : strs) {
+            if (StringUtils.isNotEmpty(str)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public static boolean isNull(Object object) {
+        return object == null;
+    }
+
+    public static boolean isNullMap(Map<?, ?> map) {
+        return map == null || map.isEmpty();
+    }
+}

+ 0 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/utils/DateUtils.java


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini