瀏覽代碼

Merge remote-tracking branch 'origin/test'

# Conflicts:
#	jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java
#	module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BaseReportVideoDailyLoadJob.java
#	module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDanceCheckAccountMonitoringLinkJob.java
#	module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDanceCleanMaterialJob.java
#	module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAiCreateJob.java
#	module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceDailyMaterialReportRetryJob.java
#	module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceEtlVideoJob.java
#	module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedancePlanRealTimeLoadJob.java
#	module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouEtlVideoJob.java
#	module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouGroupDailyReportJob.java
songyh 3 年之前
父節點
當前提交
aef59bc605
共有 100 個文件被更改,包括 1213 次插入91 次删除
  1. 47 10
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialReportOverViewController.java
  2. 44 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/MaterialReportOverViewMapper.java
  3. 321 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/MaterialReportOverViewMapper.xml
  4. 12 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IMaterialReportOverViewService.java
  5. 172 27
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/MaterialReportOverViewServiceImpl.java
  6. 1 2
      jeecg-boot-module-system/src/main/resources/application-wps.yml
  7. 185 0
      jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java
  8. 1 2
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/AlarmRuleJob.java
  9. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDanceHourlyAccountWarningLoadJob.java
  10. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDancePlanRuleDataJob.java
  11. 16 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDanceRefreshTokenJob.java
  12. 1 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDanceVideoReportJob.java
  13. 1 1
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAccountBidJob.java
  14. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAdvertiserDailyReportLoadJob.java
  15. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAdvertiserHourlyReportLoadJob.java
  16. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAdvertisingDataLoadJob.java
  17. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAiCreateJob.java
  18. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCampaignDailyReportLoadJob.java
  19. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCampaignHourlyReportLoadJob.java
  20. 10 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCheckAccountReportJob.java
  21. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCreativeDailyReportLoadJob.java
  22. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCreativeHourlyReportLoadJob.java
  23. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceDailyMaterialReportJob.java
  24. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceDailyPlayableReportJob.java
  25. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceDailyPlayableReportRetryJob.java
  26. 21 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceEtlVideoJob.java
  27. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceFlowFundJob.java
  28. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceMaterialsLoadJob.java
  29. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceMonitoringLinksCheckJob.java
  30. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedancePlanDailyReportLoadJob.java
  31. 3 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedancePlanHourlyReportLoadJob.java
  32. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedancePlanLoadJob.java
  33. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceRejectReasonJob.java
  34. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceSameDayCreativeLoadJob.java
  35. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceTodayPlaneLoadJob.java
  36. 2 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceVideoDailyReportLoadJob.java
  37. 1 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceVideoETLReportReloadJob.java
  38. 1 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceVideoInfoLoadJob.java
  39. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceVideoReportCleanJob.java
  40. 2 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceYesterdayAdvertiserHourlyLoadJob.java
  41. 1 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/CheckDataStateJob.java
  42. 4 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ETLReportDesignJob.java
  43. 1 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ETLReportVideoCleanJob.java
  44. 5 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/RuleDataAccountCleanJob.java
  45. 1 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/SendDailyUReportJob.java
  46. 1 1
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/SendHourlyMessageJob.java
  47. 3 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/CrowdListQueryJob.java
  48. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/DeleteKuaishouCommentJob.java
  49. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouAlarmRuleJob.java
  50. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouCostGroupJob.java
  51. 6 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouDailyImageReportLoadJob.java
  52. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouDeleteCommentJob.java
  53. 1 1
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouRefreshAgentTokenJob.java
  54. 1 1
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouRefreshTokenJob.java
  55. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouTodayAgentReportJob.java
  56. 1 1
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouYesterdayAgentReportJob.java
  57. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouAccountAudienceReportEtlJob.java
  58. 1 1
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouAccountBidJob.java
  59. 3 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouActionBarTextJob.java
  60. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouBatchCampaignTimeStartJob.java
  61. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouCampaignJob.java
  62. 3 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouCreateCreativeJob.java
  63. 3 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouCreateUnitJob.java
  64. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyAccountAudienceReportJob.java
  65. 5 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyAccountReportLoadEtlJob.java
  66. 8 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyAccountReportLoadJob.java
  67. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyAudienceReportJob.java
  68. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyCampaignReportLoadJob.java
  69. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyCreativeReportLoadJob.java
  70. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyFlowsJob.java
  71. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyGroupReportLoadJob.java
  72. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyLoadFileJob.java
  73. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyReportTaskJob.java
  74. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyZombieJob.java
  75. 11 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDingPanCleanJob.java
  76. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouEffectVideoJob.java
  77. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouEtlVideoJob.java
  78. 47 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouGroupDailyReportJob.java
  79. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouGroupExploreJob.java
  80. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouGroupJob.java
  81. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHistoryLoadFileJob.java
  82. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyAccountReportLoadEtlJob.java
  83. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyAccountReportLoadJob.java
  84. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyAccountWarningLoadJob.java
  85. 1 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyCampaignReportLoadJob.java
  86. 2 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyCreativeReportLoadJob.java
  87. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyGroupReportLoadJob.java
  88. 3 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouLandpagesJob.java
  89. 42 34
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouMatDailyReportJob.java
  90. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouMaterialSyncMd5Job.java
  91. 5 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouMaterialsLoadJob.java
  92. 6 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouNewAccountOperationRecordJob.java
  93. 5 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouNowDateCampaignJob.java
  94. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouNowDateCreativeJob.java
  95. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouNowDateGroupJob.java
  96. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouOperationRecordJob.java
  97. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouProjectVideoGetJob.java
  98. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouReportDailyGroupChannelCodeJob.java
  99. 4 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouVideoRelateCreativesJob.java
  100. 0 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/RuleKuaiShouDataAccountCleanJob.java

+ 47 - 10
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialReportOverViewController.java

@@ -52,11 +52,48 @@ public class MaterialReportOverViewController {
 
     /**
      *  根据筛选条件查询总消耗、视频总数、爆款视频、有效视频
+     *  mediaId 类型 1-头条 2-快手
+     *  projects[] 项目id
      */
     @PostMapping("/sumData")
     public Result<Map<String,Object>> sumData(@RequestBody JSONObject params){
         Result<Map<String,Object>> result= new Result<>();
-        Map<String, Object> totalModule = materialReportOverViewService.getTotalModule(params.getInteger("mediaId"),
+        Map<String, Object> totalModule = materialReportOverViewService.getTotalModule(
+                params.getInteger("mediaId"),
+                params.getString("startDate"),
+                params.getString("endDate"),
+                params.getJSONArray("projects"));
+        result.setResult(totalModule);
+        result.setSuccess(true);
+        return result;
+    }
+ /**
+     *  根据筛选条件查询视频上新 有效
+     *  mediaId 类型 1-头条 2-快手
+     *  projects[] 项目id
+     */
+    @PostMapping("/sumDataVideoNewEffective")
+    public Result<Map<String,Object>> sumDataVideoNewEffective(@RequestBody JSONObject params){
+        Result<Map<String,Object>> result= new Result<>();
+        Map<String, Object> totalModule = materialReportOverViewService.sumDataVideoNewEffective(
+                params.getInteger("mediaId"),
+                params.getString("startDate"),
+                params.getString("endDate"),
+                params.getJSONArray("projects"));
+        result.setResult(totalModule);
+        result.setSuccess(true);
+        return result;
+    }
+ /**
+     *  根据筛选条件查询 爆款视频
+     *  mediaId 类型 1-头条 2-快手
+     *  projects[] 项目id
+     */
+    @PostMapping("/sumDataVideoHot")
+    public Result<Map<String,Object>> sumDataVideoHot(@RequestBody JSONObject params){
+        Result<Map<String,Object>> result= new Result<>();
+        Map<String, Object> totalModule = materialReportOverViewService.sumDataVideoHot(
+                params.getInteger("mediaId"),
                 params.getString("startDate"),
                 params.getString("endDate"),
                 params.getJSONArray("projects"));
@@ -89,7 +126,9 @@ public class MaterialReportOverViewController {
         List<JSONObject> topMaterialList = materialReportOverViewService.getTopMaterialList(params.getInteger("mediaId"),
                 params.getString("startDate"),
                 params.getString("endDate"),
-                params.getJSONArray("projects"));
+                params.getJSONArray("projects"),
+                params.getInteger("channelType")
+        );
         result.setResult(topMaterialList);
         result.setSuccess(true);
         return result;
@@ -136,16 +175,14 @@ public class MaterialReportOverViewController {
      *  Top设计排行榜
      */
     @PostMapping("/designTop")
-    public Result<PageInfo<JSONObject>> designTop(@RequestBody JSONObject params){
-        Result<PageInfo<JSONObject>> result = new Result<>();
-        PageInfo<JSONObject> topMaterialList = materialReportOverViewService.getTopDesignList(
+    public Result<List<JSONObject>> designTop(@RequestBody JSONObject params){
+        Result<List<JSONObject>> result = new Result<>();
+        List<JSONObject> topMaterialList = materialReportOverViewService.getTopDesignList(
+                params.getInteger("mediaId"),
                 params.getString("startDate"),
                 params.getString("endDate"),
-                params.getString("userId"),
-                params.getString("target"),
-                params.getString("order"),
-                params.getInteger("pageSize"),
-                params.getInteger("pageNo"));
+                params.getJSONArray("projects"),
+                params.getString("type"));
         result.setResult(topMaterialList);
         result.setSuccess(true);
         return result;

+ 44 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/MaterialReportOverViewMapper.java

@@ -3,9 +3,11 @@ package org.jeecg.modules.ctop.mapper;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.orderplatform.util.JsonArrayUtil;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 public interface MaterialReportOverViewMapper {
@@ -30,6 +32,38 @@ public interface MaterialReportOverViewMapper {
     //查询素材总数
     Long queryMaterialCount(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
 
+
+
+
+    //查询素材 上新 数据 头条
+    List<Map<String,String>> queryMaterialCountList(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
+    //上新 快手
+    List<Map<String,String>> queryMaterialCountListKs(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
+
+    //查询有消耗的素材 - 头条
+    Long queryMaterialCostList(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
+    //查询有消耗的素材 - 快手
+    Long queryMaterialCostListKs(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
+
+
+    //查询有效视频-头条
+    List<Map<String,String>> selectEffectiveMaterialVideoBytedance(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
+    //有效视频-快手
+    List<Map<String,String>> selectEffectiveMaterialVideoKs(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
+
+    //查询爆款视频-头条
+    List<Map<String,String>> selectHotMaterialVideoBytedance(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
+    //爆款视频 -快手
+    List<Map<String,String>> selectHotMaterialVideoKs(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
+
+
+
+
+
+
+
+
+
     //查询今日上新素材数
     Long queryNewMaterialCount(@Param("statDate") String statDate, @Param("projects") JSONArray projects);
 
@@ -46,6 +80,9 @@ public interface MaterialReportOverViewMapper {
     //头条素材排行榜
     List<JSONObject> queryBytedanceTopMaterial(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
 
+    //头条素材排行榜New
+    List<JSONObject> queryBytedanceTopMaterialNew(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects, @Param("channelType")Integer channelType);
+
     //查看更多
     List<JSONObject> queryBytedanceMaterialReport(@Param("filed") String filed, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects,
                                                   @Param("md5") String md5, @Param("target") String target, @Param("order") String order);
@@ -54,7 +91,8 @@ public interface MaterialReportOverViewMapper {
                                            @Param("md5") String md5);
 
     //快手素材排行榜
-    List<JSONObject> queryKuaishouTopMaterial(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects);
+    List<JSONObject> queryKuaishouTopMaterial(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects, @Param("channelType")Integer channelType);
+
 
     //查看更多
     List<JSONObject> queryKuaishouMaterialReport(@Param("filed") String filed, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray projects,
@@ -64,9 +102,12 @@ public interface MaterialReportOverViewMapper {
                                           @Param("channelType") String channelType, @Param("md5") String md5);
 
     //设计排行榜
-    List<JSONObject> queryTopDesign(String startDate, String endDate, Set<String> userIds, String target, String order);
-
+    List<JSONObject> queryTopDesign(String startDate, String endDate, Set<String> userIds, String target, String order, String roleName);
     Long queryTopDesignCount(String startDate, String endDate, Set<String> userIds);
+    //设计排行榜新版本
+    List<JSONObject> queryKuaishouTopDesign(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray  projects, @Param("type")  String type);
+    List<JSONObject> queryBytedanceTopDesign(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projects") JSONArray  projects, @Param("type")  String type);
+
 
     //素材详情页
 

+ 321 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/MaterialReportOverViewMapper.xml

@@ -126,6 +126,196 @@
         AND DATE_FORMAT(create_time, '%Y-%m-%d')&lt;= #{endDate}
     </select>
 
+    <!-- 查询素材 上新 数据  头条-->
+    <select id="queryMaterialCountList" resultType="java.util.HashMap">
+        SELECT
+        count(distinct code) as count ,
+        DATE_FORMAT(cmi.create_time, '%Y-%m-%d') as time
+        from ctop_material_info cmi
+        left join ctop_project cp on cp.id = cmi.project_id
+        WHERE 1=1
+        <if test="projects !=null">
+            AND project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        and cp.media_id in (1,3)
+        and cmi.create_time &gt;= #{startDate}
+        and cmi.create_time &lt;= #{endDate}
+        GROUP BY time
+        ORDER BY time
+
+    </select>
+<!-- 查询素材 上新 数据  快手-->
+    <select id="queryMaterialCountListKs" resultType="java.util.HashMap">
+        SELECT
+        count(distinct code) as count ,
+        DATE_FORMAT(cmi.create_time, '%Y-%m-%d') as time
+        from ctop_material_info cmi
+        left join ctop_project cp on cp.id = cmi.project_id
+        WHERE 1=1
+        <if test="projects !=null">
+            AND project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        and cp.media_id in (2,4)
+        and cmi.create_time &gt;= #{startDate}
+        and cmi.create_time &lt;= #{endDate}
+        GROUP BY time
+        ORDER BY time
+    </select>
+
+ <!-- 查询有消耗的素材 头条 -->
+    <select id="queryMaterialCostList" resultType="long">
+        SELECT
+        COUNT( distinct m.id) as count
+        FROM
+        ctop_material_info m
+        LEFT join ctop_project cp on cp.id = m.project_id
+        LEFT JOIN ctop_bytedance_video_info v ON m.CODE = v.signature
+        LEFT JOIN ctop_bytedance_report_material_daily r ON v.account_id = r.account_id AND v.material_id = r.material_id
+        WHERE
+        1 = 1
+        AND r.cost > 0
+        AND cp.media_id in (1,3)
+        <if test="projects !=null">
+            AND m.project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        and m.create_time &gt;= #{startDate}
+        and m.create_time &lt;= #{endDate}
+
+    </select>
+
+ <!-- 查询有消耗的素材 快手 -->
+    <select id="queryMaterialCostListKs" resultType="long">
+
+        SELECT
+        COUNT( distinct m.id ) as count
+        FROM
+        ctop_material_info m
+        LEFT join ctop_project cp on cp.id = m.project_id
+        LEFT JOIN ctop_kuaishou_report_daily_material r ON r.signature = m.code
+        WHERE
+        1 = 1
+        AND r.charge > 0
+        AND cp.media_id in (2,4)
+        <if test="projects !=null">
+            AND m.project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        and m.create_time &gt;= #{startDate}
+        and m.create_time &lt;= #{endDate}
+    </select>
+
+    <!-- 有效视频-头条 -->
+    <select id="selectEffectiveMaterialVideoBytedance" resultType="java.util.HashMap">
+        select
+               COUNT(m.id) count,
+               b.effect_date as time
+        from
+        ctop_bytedance_video_etl_info b
+        LEFT JOIN ctop_material_info m on m.code = b.video_code
+        where b.effect_date is not null
+        and b.effect_day_num &lt;= 7
+        <if test="projects !=null">
+            AND m.project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        and b.effect_date &gt;= #{startDate}
+        and b.effect_date &lt;= #{endDate}
+        GROUP BY time
+        ORDER BY time
+    </select>
+
+
+    <!-- 有效视频-快手 -->
+    <select id="selectEffectiveMaterialVideoKs" resultType="java.util.HashMap">
+        select
+               COUNT(m.id) count,
+             b.effect_date as time
+        from
+        ctop_kuaishou_video_etl_info b
+        LEFT JOIN ctop_material_info m on m.code = b.video_code
+        where b.effect_date is not null
+        and b.effect_day_num &lt;= 7
+        <if test="projects !=null">
+            AND m.project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        and b.effect_date &gt;= #{startDate}
+        and b.effect_date &lt;= #{endDate}
+        GROUP BY time
+        ORDER BY time
+    </select>
+
+
+    <!-- 爆款视频-头条 -->
+    <select id="selectHotMaterialVideoBytedance" resultType="java.util.HashMap">
+        select
+               COUNT(m.id) count,
+        b.faddish_date as time
+        from
+        ctop_bytedance_video_etl_info b
+        LEFT JOIN ctop_material_info m on m.code = b.video_code
+        where b.faddish_date is not null
+        and b.faddish_day_num &lt;= 14
+        <if test="projects !=null">
+            AND m.project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        and b.faddish_date &gt;= #{startDate}
+        and b.faddish_date &lt;= #{endDate}
+        GROUP BY time
+        ORDER BY time
+    </select>
+
+
+    <!-- 爆款视频-快手 -->
+    <select id="selectHotMaterialVideoKs" resultType="java.util.HashMap">
+        select
+            COUNT(m.id) count,
+            b.faddish_date as time
+        from
+        ctop_kuaishou_video_etl_info b
+        LEFT JOIN ctop_material_info m on m.code = b.video_code
+        where b.faddish_date is not null
+        and b.faddish_day_num &lt;= 14
+        <if test="projects !=null">
+            AND m.project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        and b.faddish_date &gt;= #{startDate}
+        and b.faddish_date &lt;= #{endDate}
+        GROUP BY time
+        ORDER BY time
+    </select>
+
+
+
     <select id="queryNewMaterialCount" resultType="long">
         SELECT
         count(id) from ctop_material_info
@@ -231,7 +421,7 @@
         tag
         FROM
         (SELECT md5 signature,
-        IFNULL(toutiao_url, '') AS url,
+        case when toutiao_url = '' or toutiao_url is null then url end url,
         cover_url AS coverUrl,
         material_name AS materialName,
         sum(cost) AS cost from etl_report_bytedance_video
@@ -252,6 +442,93 @@
         ORDER BY cost DESC
     </select>
 
+    <select id="queryKuaishouTopDesign" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        t1.charge as cost
+        <if test="type == 1"> ,t1.shot_name as userName, "摄像" as roleName </if>
+        <if test="type == 2"> ,t1.clip_name as userName, "剪辑" as roleName </if>
+        <if test="type == 3"> ,t1.plan_name as userName, "编导" as roleName </if>
+        FROM
+        (select sum(charge) as charge,t2.*
+        from ctop_etl_kuaishou_account_material_report_daily t1 LEFT JOIN ctop_etl_kuaishou_video_info t2 ON t1.signature = t2.video_code
+        where
+        1=1
+        AND t1.stat_date &gt;= #{startDate}
+        AND t1.stat_date &lt;= #{endDate}
+        <if test="projects !=null">
+            AND project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="type == 1"> AND t2.shot_id is not null and t2.shot_id != '' GROUP BY t2.shot_id</if>
+        <if test="type == 2"> AND t2.clip_id is not null and t2.clip_id != '' GROUP BY t2.clip_id</if>
+        <if test="type == 3"> AND t2.plan_id is not null and t2.plan_id != '' GROUP BY t2.plan_id</if>
+        ORDER BY charge desc  LIMIT 10
+        ) t1
+
+
+
+    </select>
+
+    <select id="queryBytedanceTopDesign" resultType="com.alibaba.fastjson.JSONObject">
+
+        SELECT
+        t1.cost
+        <if test="type == 1"> ,t1.shot_name as userName, "摄像" as roleName </if>
+        <if test="type == 2"> ,t1.clip_name as userName, "剪辑" as roleName </if>
+        <if test="type == 3"> ,t1.plan_name as userName, "编导" as roleName </if>
+        FROM
+        (select sum(cost) as cost,clip_name,plan_name,shot_name
+        from etl_report_bytedance_video t1
+        where
+        1=1
+        AND t1.stat_datetime &gt;= #{startDate}
+        AND t1.stat_datetime &lt;=  #{endDate}
+        <if test="projects !=null">
+            AND project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="type == 1"> AND t1.shot_id is not null and t1.shot_id != '' GROUP BY t1.shot_id</if>
+        <if test="type == 2"> AND t1.clip_id is not null and t1.clip_id != '' GROUP BY t1.clip_id</if>
+        <if test="type == 3"> AND t1.plan_id is not null and t1.plan_id != '' GROUP BY t1.plan_id</if>
+        ORDER BY cost desc  LIMIT 10
+        ) t1
+
+    </select>
+
+    <select id="queryBytedanceTopMaterialNew" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        t1.*,
+        IFNULL((SELECT GROUP_CONCAT(tag_name) from ctop_material_tag_info where code=signature and status=1),"塑造") as  tag
+        FROM
+        (SELECT md5 signature,
+        case when toutiao_url = '' or toutiao_url is null then url end url,
+        cover_url AS coverUrl,
+        material_name AS materialName,
+        sum(cost) AS cost from etl_report_bytedance_video
+        where 1=1
+        <if test="projects !=null">
+            AND project_id IN
+            <foreach collection="projects" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        AND stat_datetime &gt;= #{startDate}
+        AND stat_datetime &lt;= #{endDate}
+        AND md5!=''
+        GROUP BY md5
+        ORDER BY cost DESC
+        LIMIT 5) t1
+        ORDER BY cost DESC
+    </select>
+
+
     <select id="queryBytedanceMaterialReport" resultType="com.alibaba.fastjson.JSONObject">
         SELECT
         t1.md5 signature,
@@ -304,14 +581,16 @@
         GROUP BY t1.md5) t
     </select>
 
+
+
     <select id="queryKuaishouTopMaterial" resultType="com.alibaba.fastjson.JSONObject">
         SELECT
         t1.*,
         t2.video_name as materialName,
         t2.cover_url as coverUrl,
         t2.url as url ,
-        IFNULL((SELECT GROUP_CONCAT(tag_name) from ctop_material_tag_info where code=t1.signature and status=1),"塑造") as
-        tag
+        t2.channel_type,
+        (SELECT GROUP_CONCAT(tag_name) from ctop_material_tag_info where code=t1.signature and status=1)as tag
         FROM
         (select sum(charge) as charge,signature
         from ctop_etl_kuaishou_account_material_report_daily t1
@@ -324,15 +603,48 @@
                 #{item}
             </foreach>
         </if>
+
         AND t1.stat_date &gt;= #{startDate}
         AND t1.stat_date &lt;= #{endDate}
         GROUP BY t1.signature
         ORDER BY charge desc
-        limit 5
         ) t1
         LEFT JOIN ctop_etl_kuaishou_video_info t2
         ON t1.signature = t2.video_code
-        ORDER BY charge desc
+        where 1=1
+        <if test="channelType !=null">
+            AND t2.channel_type = #{channelType}
+        </if>
+        ORDER BY charge desc LIMIT 5
+
+<!--        SELECT-->
+<!--        t1.*,-->
+<!--        t2.video_name as materialName,-->
+<!--        t2.cover_url as coverUrl,-->
+<!--        t2.url as url ,-->
+<!--        IFNULL((SELECT GROUP_CONCAT(tag_name) from ctop_material_tag_info where code=t1.signature and status=1),"塑造") as-->
+<!--        tag-->
+<!--        FROM-->
+<!--        (select sum(charge) as charge,signature-->
+<!--        from ctop_etl_kuaishou_account_material_report_daily t1-->
+<!--        where-->
+<!--        1=1-->
+<!--        <if test="projects !=null">-->
+<!--            AND project_id IN-->
+<!--            <foreach collection="projects" item="item" separator=","-->
+<!--                     open="(" close=")">-->
+<!--                #{item}-->
+<!--            </foreach>-->
+<!--        </if>-->
+<!--        AND t1.stat_date &gt;= #{startDate}-->
+<!--        AND t1.stat_date &lt;= #{endDate}-->
+<!--        GROUP BY t1.signature-->
+<!--        ORDER BY charge desc-->
+<!--        limit 5-->
+<!--        ) t1-->
+<!--        LEFT JOIN ctop_etl_kuaishou_video_info t2-->
+<!--        ON t1.signature = t2.video_code-->
+<!--        ORDER BY charge desc-->
     </select>
 
     <select id="queryKuaishouMaterialReport" resultType="com.alibaba.fastjson.JSONObject">
@@ -430,6 +742,10 @@
         user_id
         ORDER BY
         ${target} ${order}) t) t1
+        where 1=1
+        <if test="roleName != null">
+            and t1.roleName = #{roleName}
+        </if>
     </select>
 
     <select id="queryTopDesignCount" resultType="java.lang.Long">

+ 12 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IMaterialReportOverViewService.java

@@ -22,6 +22,10 @@ public interface IMaterialReportOverViewService {
 
     //查询总消耗、视频总数、爆款视频数、有效是视频数
     Map<String,Object> getTotalModule(int mediaId, String startDate, String endDate, JSONArray projects);
+    //查询 视频上新 和 有效
+    Map<String,Object> sumDataVideoNewEffective(int mediaId, String startDate, String endDate, JSONArray projects);
+    //查询 爆款
+    Map<String,Object> sumDataVideoHot(int mediaId, String startDate, String endDate, JSONArray projects);
 
     //查询消耗趋势图
     List<JSONObject> getTotalChat(int mediaId, String startDate, String endDate, JSONArray projects);
@@ -30,7 +34,7 @@ public interface IMaterialReportOverViewService {
     JSONObject getTagProportion(int mediaId, String startDate, String endDate, int tagId);
 
     //查询Top素材排行榜
-    List<JSONObject> getTopMaterialList(int mediaId, String startDate, String endDate, JSONArray projects);
+    List<JSONObject> getTopMaterialList(int mediaId, String startDate, String endDate, JSONArray projects, Integer channelType);
 
     //素材查看更多
     PageInfo<JSONObject> getTopMaterialList(int mediaId, String startDate, String endDate, JSONArray projects, String channelType, String md5, String target, String order, int pageNo, int pageSize);
@@ -40,8 +44,14 @@ public interface IMaterialReportOverViewService {
 
     void exportKuaishouExcel(JSONObject requestBody, HttpServletRequest request, HttpServletResponse response);
 
+//    params.getInteger("mediaId"),
+//            params.getString("startDate"),
+//            params.getString("endDate"),
+//            params.getJSONArray("projects"),
+//            params.getString("roleName"));
+
     //查询设计人员排行榜
-    PageInfo<JSONObject> getTopDesignList(String startDate, String endDate, String userId, String target, String order, int pageSize, int pageNo);
+    List<JSONObject> getTopDesignList(Integer mediaId, String startDate, String endDate, JSONArray projects, String roleName);
 
     // 视频详情页
     JSONObject getMaterialDetailInfo(int mediaId, String md5);

+ 172 - 27
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/MaterialReportOverViewServiceImpl.java

@@ -21,6 +21,7 @@ import org.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -29,12 +30,13 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.ParseException;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
 public class MaterialReportOverViewServiceImpl implements IMaterialReportOverViewService {
 
-    @Autowired
+    @Resource
     private MaterialReportOverViewMapper materialReportOverViewMapper;
 
     @Autowired
@@ -88,27 +90,149 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
             projects = getProjectsByCurrentUser(mediaId);
         }
         if (mediaId == CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_INT) {
+            //总消耗
             BigDecimal cost = materialReportOverViewMapper.queryBytedanceCost(startDate, endDate, projects);
+            //上阶段消耗
             BigDecimal lastCost = materialReportOverViewMapper.queryBytedanceCost(DateUtils.addDay(startDate, -DateUtils.dateDiff(startDate, endDate)-1), DateUtils.addDay(startDate, -1), projects);
-            result.put("cost", cost);
-            result.put("costLink", countLink(cost == null ? BigDecimal.ZERO : cost, lastCost == null ? BigDecimal.ZERO : lastCost));
-            result.put("video", materialReportOverViewMapper.queryMaterialCount(startDate, endDate, projects));
-            result.put("newVideo", materialReportOverViewMapper.queryNewMaterialCount(DateUtils.date2Str(), projects));
-            result.put("hot", 0);
-            result.put("valid", 0);
+            result.put("costTotal", cost);
+            //同比 (本阶段截止昨天消耗-上一个阶段截止和昨天对应日期的消耗)/上一个阶段截止和昨天对应日期的消耗 X 100%
+            result.put("yearOnYearCompare", countLink(cost,lastCost));
+            //昨日消耗
+            BigDecimal yesterdayCost = materialReportOverViewMapper.queryBytedanceCost(endDate, endDate, projects);
+            //前天消耗
+            BigDecimal beforeYesterdayCost = materialReportOverViewMapper.queryBytedanceCost(DateUtils.addDay(endDate, -1), DateUtils.addDay(endDate, -1), projects);
+            result.put("yesterdayCost", yesterdayCost);
+            //环比 (昨日消耗-前日消耗)/前日消耗 X 100%
+            result.put("chainCompare", countLink(yesterdayCost,beforeYesterdayCost));
+
         } else if (mediaId == CtopAdConstant.PLATFORM_TYPE_KUAISHOU_INT) {
+            //总消耗
             BigDecimal cost = materialReportOverViewMapper.queryKuaishouCost(startDate, endDate, projects);
+            //上阶段
             BigDecimal lastCost = materialReportOverViewMapper.queryKuaishouCost(DateUtils.addDay(startDate, -DateUtils.dateDiff(startDate, endDate)-1), DateUtils.addDay(startDate, -1), projects);
-            result.put("cost", cost);
-            result.put("costLink", countLink(cost == null ? BigDecimal.ZERO : cost, lastCost == null ? BigDecimal.ZERO : lastCost));
-            result.put("video", materialReportOverViewMapper.queryMaterialCount(startDate, endDate, projects));
-            result.put("newVideo", materialReportOverViewMapper.queryNewMaterialCount(DateUtils.date2Str(), projects));
-            result.put("hot", 0);
-            result.put("valid", 0);
+            result.put("costTotal", cost);
+            //同比 (本阶段截止昨天消耗-上一个阶段截止和昨天对应日期的消耗)/上一个阶段截止和昨天对应日期的消耗 X 100%
+            result.put("yearOnYearCompare", countLink(cost,lastCost));
+            //昨日消耗
+            BigDecimal yesterdayCost = materialReportOverViewMapper.queryKuaishouCost(endDate, endDate, projects);
+            //前天消耗
+            BigDecimal beforeYesterdayCost = materialReportOverViewMapper.queryKuaishouCost(DateUtils.addDay(endDate, -1), DateUtils.addDay(endDate, -1), projects);
+            result.put("yesterdayCost", yesterdayCost);
+            //环比 (昨日消耗-前日消耗)/前日消耗 X 100%
+            result.put("chainCompare", countLink(yesterdayCost,beforeYesterdayCost));
+        }
+        return result;
+    }
+
+
+
+    @Override
+    public Map<String, Object> sumDataVideoNewEffective(int mediaId, String startDate, String endDate, JSONArray projects) {
+        Map<String, Object> result = new HashMap<>();
+        if (projects.isEmpty()) {
+            projects = getProjectsByCurrentUser(mediaId);
+        }
+        if (mediaId == CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_INT) {
+              //视频上新
+            List<Map<String, String>> videoList = materialReportOverViewMapper.queryMaterialCountList(startDate+" 00:00:00", endDate+" 23:59:59", projects);
+            //总数
+            long videoTotal = videoList.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            result.put("videoList",videoList);
+            result.put("videoTotal",videoTotal);
+            //素材使用率 = 有消耗的素材 / 总数 * 100%
+            long videoCost = materialReportOverViewMapper.queryMaterialCostList(startDate+" 00:00:00", endDate+" 23:59:59", projects);
+            result.put("useCompare", Check.isNull(videoCost) ? 0: new BigDecimal(videoCost).divide(new BigDecimal(videoTotal),4, RoundingMode.HALF_UP));
+            //有效视频
+            List<Map<String, String>> effectiveList = materialReportOverViewMapper.selectEffectiveMaterialVideoBytedance(startDate,endDate, projects);
+            //总数
+            long effectiveTotal = effectiveList.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            result.put("effectiveList",effectiveList);
+            result.put("effectiveTotal",effectiveTotal);
+            //素材有效率 = 有效视频数量 / 视频总数 X 100%
+            result.put("effectiveCompare",Check.isNull(videoCost) ? 0: new BigDecimal(effectiveTotal).divide(new BigDecimal(videoTotal),4, RoundingMode.HALF_UP));
+
+        } else if (mediaId == CtopAdConstant.PLATFORM_TYPE_KUAISHOU_INT) {
+
+            //视频上新
+            List<Map<String, String>> videoList = materialReportOverViewMapper.queryMaterialCountListKs(startDate+" 00:00:00", endDate+" 23:59:59", projects);
+            //总数
+            long videoTotal = videoList.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            result.put("videoList",videoList);
+            result.put("videoTotal",videoTotal);
+            //素材使用率 = 有消耗的素材 / 总数 * 100%
+            long videoCost = materialReportOverViewMapper.queryMaterialCostListKs(startDate+" 00:00:00", endDate+" 23:59:59", projects);
+            result.put("useCompare", Check.isNull(videoCost) ? 0: new BigDecimal(videoCost).divide(new BigDecimal(videoTotal),4, RoundingMode.HALF_UP));
+            //有效视频
+            List<Map<String, String>> effectiveList = materialReportOverViewMapper.selectEffectiveMaterialVideoKs(startDate,endDate, projects);
+            //总数
+            long effectiveTotal = effectiveList.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            result.put("effectiveList",effectiveList);
+            result.put("effectiveTotal",effectiveTotal);
+            //素材有效率 = 有效视频数量 / 视频总数 X 100%
+            result.put("effectiveCompare",Check.isNull(videoTotal) ? 0 : new BigDecimal(effectiveTotal).divide(new BigDecimal(videoTotal),4, RoundingMode.HALF_UP));
+
         }
         return result;
     }
 
+    //爆款视频
+    @Override
+    public Map<String, Object> sumDataVideoHot(int mediaId, String startDate, String endDate, JSONArray projects) {
+        Map<String, Object> result = new HashMap<>();
+        if (projects.isEmpty()) {
+            projects = getProjectsByCurrentUser(mediaId);
+        }
+        if (mediaId == CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_INT) {
+            //爆款视频
+            List<Map<String, String>> hotList = materialReportOverViewMapper.selectHotMaterialVideoBytedance(startDate,endDate, projects);
+            //总数
+            long hotTotal = hotList.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            result.put("hotList",hotList);
+            result.put("hotTotal",hotTotal);
+            //上阶段
+            List<Map<String, String>> lastHostList = materialReportOverViewMapper.selectHotMaterialVideoBytedance(DateUtils.addDay(startDate, -DateUtils.dateDiff(startDate, endDate)-1), DateUtils.addDay(startDate, -1), projects);
+            long lastHotTotal = lastHostList.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            //同比 (本阶段截止昨天的爆款视频数量-上一个阶段截止和昨天对应日期的爆款视频数量)/上一个阶段截止和昨天对应日期的爆款视频数量X 100%
+            result.put("hotYearOnYearCompare", countLink(new BigDecimal(hotTotal),new BigDecimal(lastHotTotal)));
+            //昨日消耗
+            List<Map<String, String>> yesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoBytedance(endDate,endDate, projects);
+            //前天消耗
+            List<Map<String, String>> beforeYesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoBytedance(DateUtils.addDay(endDate, -1), DateUtils.addDay(endDate, -1), projects);
+            long yesterday = yesterdayHost.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            long before = beforeYesterdayHost.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            //环比 (昨日-前日)/前日消耗 X 100%
+            result.put("hostCompare", countLink(new BigDecimal(yesterday),new BigDecimal(before)));
+
+        } else if (mediaId == CtopAdConstant.PLATFORM_TYPE_KUAISHOU_INT) {
+            //爆款视频
+            List<Map<String, String>> hotList = materialReportOverViewMapper.selectHotMaterialVideoKs(startDate,endDate, projects);
+            //总数
+            long hotTotal = hotList.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            result.put("hotList",hotList);
+            result.put("hotTotal",hotTotal);
+            //上阶段
+            List<Map<String, String>> lastHostList = materialReportOverViewMapper.selectHotMaterialVideoKs(DateUtils.addDay(startDate, -DateUtils.dateDiff(startDate, endDate)-1), DateUtils.addDay(startDate, -1), projects);
+            long lastHotTotal = lastHostList.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            //同比 (本阶段截止昨天的爆款视频数量-上一个阶段截止和昨天对应日期的爆款视频数量)/上一个阶段截止和昨天对应日期的爆款视频数量X 100%
+            result.put("hotYearOnYearCompare", countLink(new BigDecimal(hotTotal),new BigDecimal(lastHotTotal)));
+            //昨日消耗
+            List<Map<String, String>> yesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoKs(endDate,endDate, projects);
+            //前天消耗
+            List<Map<String, String>> beforeYesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoKs(DateUtils.addDay(endDate, -1), DateUtils.addDay(endDate, -1), projects);
+            long yesterday = yesterdayHost.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            long before = beforeYesterdayHost.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
+            //环比 (昨日-前日)/前日消耗 X 100%
+            result.put("hostCompare", countLink(new BigDecimal(yesterday),new BigDecimal(before)));
+        }
+        return result;
+    }
+
+
+
+
+
+
+
     @Override
     public List<JSONObject> getTotalChat(int mediaId, String startDate, String endDate, JSONArray projects) {
         List<JSONObject> result = new ArrayList<>();
@@ -141,7 +265,7 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
     }
 
     @Override
-    public List<JSONObject> getTopMaterialList(int mediaId, String startDate, String endDate, JSONArray projects) {
+    public List<JSONObject> getTopMaterialList(int mediaId, String startDate, String endDate, JSONArray projects, Integer channelType) {
         List<JSONObject> result = new ArrayList<>();
         if (projects.isEmpty()) {
             projects = getProjectsByCurrentUser(mediaId);
@@ -150,7 +274,7 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
             result = materialReportOverViewMapper.queryBytedanceTopMaterial(startDate, endDate, projects);
 
         } else if (mediaId == CtopAdConstant.PLATFORM_TYPE_KUAISHOU_INT) {
-            result = materialReportOverViewMapper.queryKuaishouTopMaterial(startDate, endDate, projects);
+            result = materialReportOverViewMapper.queryKuaishouTopMaterial(startDate, endDate, projects, channelType);
         }
         return result;
     }
@@ -284,17 +408,17 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
     }
 
     @Override
-    public PageInfo<JSONObject> getTopDesignList(String startDate, String endDate, String userId, String target, String order, int pageSize, int pageNo) {
-        PageInfo<JSONObject> result = new PageInfo<>();
-        Set<String> subordinate = this.recursiveQuerySubordinate(userId);
-        if (subordinate.size()==1) {
-            subordinate = materialReportOverViewMapper.recursiveQuerySubordinateByUserId(userId);
-        }
-        PageHelper.startPage(pageNo, pageSize, false);
-        List<JSONObject> topDesign = materialReportOverViewMapper.queryTopDesign(startDate, endDate, subordinate, target, order);
-        Long count = materialReportOverViewMapper.queryTopDesignCount(startDate, endDate, subordinate);
-        result.setList(topDesign);
-        result.setTotal(count);
+    public List<JSONObject> getTopDesignList(Integer mediaId, String startDate, String endDate, JSONArray projects, String type) {
+        List<JSONObject> result = new ArrayList<>();
+        if (projects.isEmpty()) {
+            projects = getProjectsByCurrentUser(mediaId);
+        }
+        if (mediaId == CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_INT) {
+            result = materialReportOverViewMapper.queryBytedanceTopDesign(startDate, endDate, projects, type);
+
+        } else if (mediaId == CtopAdConstant.PLATFORM_TYPE_KUAISHOU_INT) {
+            result = materialReportOverViewMapper.queryKuaishouTopDesign(startDate, endDate, projects, type);
+        }
         return result;
     }
 
@@ -361,6 +485,7 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
     //当项目为空的时候,根据当前登录人查询可查看的所有项目集合
     private JSONArray getProjectsByCurrentUser(int mediaId) {
         String currentUser = ((LoginUser) SecurityUtils.getSubject().getPrincipal()).getId();
+        //String currentUser = "e9ca23d68d884d4ebb19d07889727dae";
         //TODO 为了解决管理员等角色初始化查全部项目查询效率慢的问题判断角色,待优化
         String roleCode = roleService.getRoleCodeByUserId(currentUser);
         if (roleCode.equals("admin")) {
@@ -386,11 +511,31 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
 
     //环比计算
     private  BigDecimal countLink(BigDecimal numA, BigDecimal numB) {
-        BigDecimal link = new BigDecimal(0);
+        BigDecimal link = new BigDecimal("0");
+        if (Check.isNull(numA) || Check.isNull(numB)){
+            return link;
+        }
         if (numB.compareTo(BigDecimal.ZERO)!=0) {
             link = (numA.subtract(numB)).divide(numB, 4, RoundingMode.HALF_UP);
         }
         return link;
     }
 
+
+    /**
+     * 同比 (当前 - 上阶段 ) / 上阶段
+     * @param current 当前阶段数值
+     * @param last 上阶段数值
+     * @return
+     */
+    private BigDecimal yearOnYearCompare(BigDecimal current,BigDecimal last){
+        BigDecimal yearOnYear = new BigDecimal("0");
+        if (last.compareTo(BigDecimal.ZERO)!=0) {
+            // (当前 - 上阶段 ) / 上阶段
+            yearOnYear = (current.subtract(last)).divide(last,20,BigDecimal.ROUND_HALF_UP);
+        }
+        return yearOnYear;
+    }
+
+
 }

+ 1 - 2
jeecg-boot-module-system/src/main/resources/application-wps.yml

@@ -1,6 +1,5 @@
 server:
-  port: 8088
-  ip: 39.97.120.42
+  port: 8806
   servlet:
     context-path: /jeecg-boot
     compression:

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

@@ -244,4 +244,189 @@ public class SampleTest {
             bytedanceVideoEtlInfoService.etlBytedanceVideoInfo(DateUtils.parseDate(getDate, "yyyy-MM-dd"));
         }
     }
+    @Test
+    public void loadKuaiShouMatHourlyData() throws InterruptedException{
+//        kuaiShouReportDailyMaterialService.getMaterialReportByAccountIdAndStatDate(7411077l, tokenService.getOauthTokenByAccountId("7411077").getAccessToken(), "2021-07-02", "2021-07-02", "HOURLY", 1);
+
+        String startDate = "2021-07-19";
+        String endDate = "2021-07-19";
+        System.out.println(DateUtils.now());
+        List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
+        System.out.println(tokens.size());
+        countDownLatch = new CountDownLatch(tokens.size());
+        tokens.forEach(token -> executorService.submit(() -> {
+            try {
+                kuaiShouReportDailyMaterialService.getMaterialReportByAccountIdAndStatDate(token.getAccountId(), token.getAccessToken(), startDate, endDate, "HOURLY", 1);
+            }catch (Exception e){
+            }finally {
+                countDownLatch.countDown();
+            }
+        }));
+        countDownLatch.await();
+        System.out.println("数据获取完成");
+        System.out.println(DateUtils.now());
+    }
+
+    @Autowired
+    IKuaishouInterfaceService2 kuaishouInterfaceService2;
+    @Resource
+    private KuaishouOperationRecordMapper kuaishouOperationRecordMapper;
+
+
+    @Test
+    public void dealOperationRecordData() throws InterruptedException {
+        Date beginDate = DateUtils.parseDate("2021-06-01", "yyyy-MM-dd");
+        Date endDate = DateUtils.parseDate("2021-07-19", "yyyy-MM-dd");
+//        Date beginDate = DateUtils.parseDate("2020-04-21", "yyyy-MM-dd");
+//        Date endDate = DateUtils.parseDate("2021-07-17", "yyyy-MM-dd");
+
+        int recordsCount = 0;
+        int newRecordCount = 0;
+
+        while (beginDate.before(endDate)){
+            System.out.println("开始拆分数据,当前时间为:" + beginDate);
+//            List<KuaishouOperationRecord> records = kuaishouOperationRecordMapper.selectCreativeRecordByStatDate(DateUtils.formatDate(beginDate, "yyyy-MM-dd"));    //开始拆分数据,当前时间为:Tue Apr 28 00:00:00 CST 2020
+//            List<KuaishouOperationRecord> records = kuaishouOperationRecordMapper.selectAccountRecordByStatDate(DateUtils.formatDate(beginDate, "yyyy-MM-dd"));
+//            List<KuaishouOperationRecord> records = kuaishouOperationRecordMapper.selectAppRecordByStatDate(DateUtils.formatDate(beginDate, "yyyy-MM-dd"));
+//            List<KuaishouOperationRecord> records = kuaishouOperationRecordMapper.selectCampaignRecordByStatDate(DateUtils.formatDate(beginDate, "yyyy-MM-dd"));  //已执行完毕
+//            List<KuaishouOperationRecord> records = kuaishouOperationRecordMapper.selectPackageRecordByStatDate(DateUtils.formatDate(beginDate, "yyyy-MM-dd"));
+            List<KuaishouOperationRecord> records = kuaishouOperationRecordMapper.selectUnitRecordByStatDate(DateUtils.formatDate(beginDate, "yyyy-MM-dd"));    //已执行完毕
+//            List<KuaishouOperationRecord> records = kuaishouOperationRecordMapper.selectVideoRecordByStatDate(DateUtils.formatDate(beginDate, "yyyy-MM-dd"));
+            if(Check.isNull(records)){
+                System.out.print("     -> 今日的数据为空!!!");
+                beginDate = DateUtils.addDay(beginDate, 1);
+                continue;
+            }
+            recordsCount += records.size();
+            countDownLatch = new CountDownLatch(records.size());
+
+            List<KuaishouOperationRecord> newRecords = new ArrayList<>();
+
+            records.forEach(record -> executorService.submit(() -> {
+                try{
+                    String log = record.getLog();
+                    JSONArray jsonArray = JSONArray.parseArray(log);
+                    for(int i=0;i<jsonArray.size();i++){
+                        JSONObject object = jsonArray.getJSONObject(i);
+                        String originalData = object.getString("original_data");
+                        String updateData = object.getString("update_data");
+                        String fieldName = object.getString("field_name");
+                        KuaishouOperationRecord newRecord = new KuaishouOperationRecord(record);
+                        newRecord.setOriginalData(originalData);
+                        newRecord.setUpdateData(updateData);
+                        newRecord.setFieldName(fieldName);
+
+                        if("".equals(newRecord.getOriginalData()) && "".equals(newRecord.getUpdateData())){
+                            continue;
+                        }
+                        newRecords.add(newRecord);
+                    }
+                }catch (Exception e){
+                }finally {
+
+                    countDownLatch.countDown();
+            }}));
+            countDownLatch.await();
+            newRecordCount += newRecords.size();
+            this.saveOperationRecordListToDb(newRecords);
+            beginDate = DateUtils.addDay(beginDate, 1);
+        }
+        System.out.println("---------------------------------------------------------------");
+        System.out.println("------------获取数据结束"+recordsCount+"条原始数据变成了"+newRecordCount+"条数据------------");
+        System.out.println("---------------------------------------------------------------");
+    }
+
+    private void saveOperationRecordListToDb(List<KuaishouOperationRecord> records) {
+        if (Check.isNull(records)) {
+            return;
+        }
+
+        List<KuaishouOperationRecord> batchList = new ArrayList<>();
+        records.removeAll(Collections.singleton(null));
+        Integer operationTarget = records.get(0).getOperationTarget();
+
+
+
+        for (KuaishouOperationRecord sumPosition : records) {
+            batchList.add(sumPosition);
+
+            if (batchList.size() >= 1000) {
+                if (operationTarget == 1) {
+                    kuaishouOperationRecordMapper.insertOperationRecordInfoAccountNew(batchList);
+                } else if (operationTarget == 2) {
+                    kuaishouOperationRecordMapper.insertOperationRecordInfoCampaignNew(batchList);
+                } else if (operationTarget == 3) {
+                    kuaishouOperationRecordMapper.insertOperationRecordInfoUnitNew(batchList);
+                } else if (operationTarget == 4) {
+                    kuaishouOperationRecordMapper.insertOperationRecordInfoCreativeNew(batchList);
+                } else if (operationTarget == 5) {
+                    kuaishouOperationRecordMapper.insertOperationRecordInfoVideoNew(batchList);
+                } else if (operationTarget == 6) {
+                    kuaishouOperationRecordMapper.insertOperationRecordInfoAppNew(batchList);
+                } else if (operationTarget == 7) {
+                    kuaishouOperationRecordMapper.insertOperationRecordInfoPackageNew(batchList);
+                } else {
+                    System.out.println("未知的目标类型!");
+                }
+                batchList.clear();
+            }
+        }
+        if (!batchList.isEmpty()) {
+
+            if (operationTarget == 1) {
+                kuaishouOperationRecordMapper.insertOperationRecordInfoAccountNew(batchList);
+            } else if (operationTarget == 2) {
+                kuaishouOperationRecordMapper.insertOperationRecordInfoCampaignNew(batchList);
+            } else if (operationTarget == 3) {
+                kuaishouOperationRecordMapper.insertOperationRecordInfoUnitNew(batchList);
+            } else if (operationTarget == 4) {
+                kuaishouOperationRecordMapper.insertOperationRecordInfoCreativeNew(batchList);
+            } else if (operationTarget == 5) {
+                kuaishouOperationRecordMapper.insertOperationRecordInfoVideoNew(batchList);
+            } else if (operationTarget == 6) {
+                kuaishouOperationRecordMapper.insertOperationRecordInfoAppNew(batchList);
+            } else if (operationTarget == 7) {
+                kuaishouOperationRecordMapper.insertOperationRecordInfoPackageNew(batchList);
+            } else {
+                System.out.println("未知的目标类型!");
+            }
+            batchList.clear();
+        }
+
+    }
+    @Autowired
+    KuaishouInterfaceServiceImpl2 kuaishouInterfaceServiceImpl2;
+
+    @Test
+    public void getUnitData(){
+        List<Long> accountIdList = new ArrayList<>();
+        accountIdList.add(9556188l);
+        accountIdList.add(9677284l);
+        accountIdList.add(9677304l);
+        accountIdList.add(10072135l);
+        accountIdList.add(9901975l);
+        accountIdList.add(9677344l);
+        accountIdList.add(9901956l);
+        accountIdList.add(9556431l);
+        accountIdList.add(9767055l);
+        accountIdList.add(10248827l);
+
+        Date beginDate = DateUtils.parseDate("2021-06-01", "yyyy-MM-dd");
+        Date endDate = DateUtils.parseDate("2021-07-19", "yyyy-MM-dd");
+
+        while (beginDate.before(endDate)){
+            for(Long accountId : accountIdList){
+                kuaishouInterfaceServiceImpl2.getOperationRecord( accountId,
+                        tokenService.getOauthTokenByAccountId(String.valueOf(accountId)).getAccessToken(),
+                        3,
+                        DateUtils.formatDate(beginDate,"yyyy-MM-dd"),
+                        DateUtils.formatDate(beginDate,"yyyy-MM-dd"));
+                System.out.println("获取完毕 -> accountId:" + accountId +",日期:" + DateUtils.formatDate(beginDate,"yyyy-MM-dd"));
+
+            }
+            beginDate = DateUtils.addDay(beginDate, 1);
+        }
+        System.out.println("走完了~");
+    }
+
 }

+ 1 - 2
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/AlarmRuleJob.java

@@ -22,8 +22,7 @@ public class AlarmRuleJob {
     String URLPREFIX = "http://api.tjyourong.com.cn/jeecg-boot/ruleGroup/checkRulesByAccountId?accountId=";
 
     /**
-     * 定时任务
-     *
+     *预警定时任务
      * @param
      * @return
      * @throws

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDanceHourlyAccountWarningLoadJob.java

@@ -26,6 +26,10 @@ public class ByteDanceHourlyAccountWarningLoadJob {
     private IByteDanceHourlyAccountWarningService byteDanceHourlyAccountWarningService;
     static ExecutorService executorService = Executors.newFixedThreadPool(3);
 
+    /**
+     * 头条时段消耗预警
+     * @throws Exception
+     */
     @XxlJob("byteDanceHourlyAccountWarning")
     public void execute() throws Exception {
         XxlJobHelper.log("开始时段消耗预警定时任务");

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDancePlanRuleDataJob.java

@@ -31,6 +31,11 @@ public class ByteDancePlanRuleDataJob {
     @Autowired
     private IRuleDataTargetService ruleDataTargetService;
     private ExecutorService executorService = Executors.newFixedThreadPool(10);
+
+    /**
+     * 规则引擎计划数据任务
+     * @throws Exception
+     */
     @XxlJob("bytedancePlanRuleLoadJob")
     public void execute() throws Exception {
         Date date = new Date();

+ 16 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDanceRefreshTokenJob.java

@@ -29,6 +29,10 @@ public class ByteDanceRefreshTokenJob {
     @Autowired
     private IUserAllocationService userAllocationService;
 
+    /**
+     * 刷新账户名称
+     * @throws Exception
+     */
     @XxlJob("refreshAuthName")
     public void refreshAuthName() throws Exception {
         List<UserAllocation> userAllocationList = userAllocationService.listByMediaId(null,0);
@@ -39,4 +43,16 @@ public class ByteDanceRefreshTokenJob {
             });
         }
     }
+
+
+    /**
+     * 刷新token  千川
+     * 待上线
+     */
+   /* @XxlJob("qianChuanRefreshTokenJob")
+    public void qianChuanRefresh() throws Exception {
+        refreshTokenService.qianChuanRefresh(null);
+    }*/
+
+
 }

+ 1 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ByteDanceVideoReportJob.java

@@ -19,6 +19,7 @@ public class ByteDanceVideoReportJob {
     @Autowired
     private IByteDanceVideoReportDailyService byteDanceVideoReportDailyService;
 
+    // TODO 待删除
     @XxlJob("byteDanceVideoReport")
     public void execute() throws Exception {
         String getDate2 = DateUtils.formatDate(DateUtils.addDay(new Date(), -2));

+ 1 - 1
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAccountBidJob.java

@@ -12,7 +12,7 @@ public class BytedanceAccountBidJob {
     private IBytedanceBidWarningService bidWarningService;
 
     /**
-     * 出价预警
+     * 头条出价预警
      */
     @XxlJob("bytedanceAccountBidJob")
     public void execute() throws Exception {

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAdvertiserDailyReportLoadJob.java

@@ -29,6 +29,10 @@ public class BytedanceAdvertiserDailyReportLoadJob {
     private IReportService reportService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);;
 
+    /**
+     * 头条广告主日报
+     * @throws Exception
+     */
     @XxlJob("bytedanceAdvertiserDailyReport")
     public void execute() throws Exception {
         XxlJobHelper.log("头条广告主日报获取任务执行开始");

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAdvertiserHourlyReportLoadJob.java

@@ -26,6 +26,11 @@ public class BytedanceAdvertiserHourlyReportLoadJob {
     @Autowired
     private IReportService reportService;
     static ExecutorService executorService = Executors.newFixedThreadPool(4);
+
+    /**
+     * 头条广告主时报
+     * @throws Exception
+     */
     @XxlJob("bytedanceAdvertiserHourlyReport")
     public void execute() throws Exception {
         XxlJobHelper.log("头条时报数据获取开始");

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAdvertisingDataLoadJob.java

@@ -32,6 +32,10 @@ public class BytedanceAdvertisingDataLoadJob {
     @Autowired
     private IByteDanceCreativeService creativeService;
 
+    /**
+     * 组、计划、创意
+     * @throws Exception
+     */
     @XxlJob("bytedanceAdvertisingData")
     public void execute() throws Exception {
         Date getDate = new Date();

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAiCreateJob.java

@@ -10,6 +10,10 @@ import java.util.Date;
 @Component
 public class BytedanceAiCreateJob {
     private static final String URLPREFIX = "http://118.24.244.213:8808/bytedance-api/advertiser/aiBytedanceAdvertiserStrategy/autoCreateCreative?hour=";
+    /**
+     * 头条自动投放创建任务
+     * @throws Exception
+     */
     @XxlJob("bytedanceAutoCreateJob")
     public void execute() throws Exception {
         String hour = DateUtils.getNowHour(new Date());

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCampaignDailyReportLoadJob.java

@@ -24,6 +24,10 @@ public class BytedanceCampaignDailyReportLoadJob {
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
 
+    /**
+     * 广告组日报
+     * @throws Exception
+     */
     @XxlJob("bytedanceCampaignDailyReport")
     public void execute() throws Exception {
         XxlJobHelper.log("头条广告组日报获取任务执行开始");

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCampaignHourlyReportLoadJob.java

@@ -23,6 +23,10 @@ public class BytedanceCampaignHourlyReportLoadJob {
     private IReportService reportService;
     static ExecutorService executorService = Executors.newFixedThreadPool(4);
 
+    /**
+     * 广告组时报
+     * @throws Exception
+     */
     @XxlJob("bytedanceCampaignHourlyReport")
     public void execute() throws Exception {
         XxlJobHelper.log("头条广告组时报数据获取开始");

+ 10 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCheckAccountReportJob.java

@@ -21,6 +21,12 @@ public class BytedanceCheckAccountReportJob {
     private CountDownLatch countDownLatch;
     @Autowired
     private IBytedanceCheckReportTaskInfoService checkReportTaskInfoService;
+
+
+    /**
+     * 头条数据检查任务
+     * @throws Exception
+     */
     @XxlJob("initCheckReportJob")
     public void initCheckReportJob() throws Exception {
         String date = DateUtils.addDay(DateUtils.formatDate(),-1);
@@ -46,6 +52,10 @@ public class BytedanceCheckAccountReportJob {
         }
     }
 
+    /**
+     * 头条数据重试
+     * @throws Exception
+     */
     @XxlJob("refreshCheckReportJob")
     public void refreshCheckReportJob() throws Exception {
         //1:查询异常任务数据

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCreativeDailyReportLoadJob.java

@@ -27,6 +27,11 @@ public class BytedanceCreativeDailyReportLoadJob {
     @Autowired
     private IReportService reportService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
+
+    /**
+     * 头条创意日报
+     * @throws Exception
+     */
     @XxlJob("bytedanceCreativeDailyReport")
     public void execute() throws Exception {
         Date getDate = DateUtils.addDay(new Date(), -1);

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceCreativeHourlyReportLoadJob.java

@@ -26,6 +26,11 @@ public class BytedanceCreativeHourlyReportLoadJob {
     @Autowired
     private IReportService reportService;
     static ExecutorService executorService = Executors.newFixedThreadPool(4);
+
+    /**
+     * 头条创意时报
+     * @throws Exception
+     */
     @XxlJob("bytedanceCreativeHourlyReport")
     public void execute() throws Exception {
         XxlJobHelper.log("头条时报数据获取开始");

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceDailyMaterialReportJob.java

@@ -28,6 +28,11 @@ public class BytedanceDailyMaterialReportJob {
     private IBytedanceReportService bytedanceReportService;
     @Resource
     private BytedanceReportMaterialDailyMapper bytedanceReportMaterialDailyMapper;
+
+    /**
+     * 头条获取素材报表数据任务
+     * @throws Exception
+     */
     @XxlJob("bytedanceDailyMaterialReportJob")
     public void execute() throws Exception {
         Date getDate2 = DateUtils.addDay(new Date(), -2);

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceDailyPlayableReportJob.java

@@ -22,6 +22,10 @@ public class BytedanceDailyPlayableReportJob {
     @Autowired
     private IBytedanceInterfaceService bytedanceInterfaceService;
 
+    /**
+     * 试玩报表定时任务
+     * @throws Exception
+     */
     @XxlJob("bytedanceDailyPlayableReportJob")
     public void execute() throws Exception {
         Date getDate2 = DateUtils.addDay(new Date(), -2);

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceDailyPlayableReportRetryJob.java

@@ -23,6 +23,10 @@ public class BytedanceDailyPlayableReportRetryJob {
     private IBytedanceInterfaceService bytedanceInterfaceService;
 
 
+    /**
+     * 试玩报表重试任务
+     * @throws Exception
+     */
     @XxlJob("bytedanceDailyPlayableReportRetryJob")
     public void execute() throws Exception {
         XxlJobHelper.log("头条试玩报表重试定时任务开始");

+ 21 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceEtlVideoJob.java

@@ -39,6 +39,10 @@ public class BytedanceEtlVideoJob {
     }
 
 
+    /**
+     * 头条视频报表url异常
+     * @throws Exception
+     */
     @XxlJob("updBytedanceVideoJob")
     public void updBytedanceVideoJob() throws Exception {
         etlBytedanceReportVideoDailyService.updBytedanceVideo();
@@ -46,21 +50,38 @@ public class BytedanceEtlVideoJob {
 
     @Autowired
     private IETLReportBytedanceVideoService etlReportBytedanceVideoService;
+
+    /**
+     * 清洗头条剪辑
+     * @throws Exception
+     */
     @XxlJob("etlBytedanceVideoClipInfoJob")
     public void etlBytedanceVideoClipInfoJob() throws Exception {
         etlReportBytedanceVideoService.etlBytedanceVideoClipIdJob();
     }
 
+    /**
+     * 清洗头条视频报表编导数据
+     * @throws Exception
+     */
     @XxlJob("etlBytedanceVideoPlanInfoJob")
     public void etlBytedanceVideoPlanInfoJob() throws Exception {
         etlReportBytedanceVideoService.etlBytedanceVideoPlanInfoJob();
     }
 
+    /**
+     * 清洗头条拍摄
+     * @throws Exception
+     */
     @XxlJob("etlBytedanceVideoShotInfoJob")
     public void etlBytedanceVideoShotInfoJob() throws Exception {
         etlReportBytedanceVideoService.etlBytedanceVideoShotInfoJob();
     }
 
+    /**
+     * 头条视频报表数据任务
+     * @throws Exception
+     */
     @XxlJob("formatBytedance")
     public void etlBytedanceVideoJob() throws Exception {
         etlBytedanceReportVideoDailyService.etlBytedanceVideo();

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceFlowFundJob.java

@@ -21,6 +21,11 @@ public class BytedanceFlowFundJob {
     @Autowired
     private IBytedanceFundDailyService bytedanceFundDailyService;
     static ExecutorService executorService = Executors.newFixedThreadPool(4);
+
+    /**
+     * 头条账户流水
+     * @throws Exception
+     */
     @XxlJob("bytedanceFlowFund")
     public void execute() throws Exception {
         XxlJobHelper.log("头条账户流水数据获取开始");

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceMaterialsLoadJob.java

@@ -29,6 +29,10 @@ public class BytedanceMaterialsLoadJob {
     @Autowired
     private IBytedanceImageInfoService imageInfoService;
 
+    /**
+     * 头条素材数据获取
+     * @throws Exception
+     */
     @XxlJob("bytedanceMaterialsLoadJob")
     public void execute() throws Exception{
         List<CtopOauthToken> tokens = tokenService.selectToutiaoToken();

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceMonitoringLinksCheckJob.java

@@ -36,6 +36,10 @@ public class BytedanceMonitoringLinksCheckJob {
     @Autowired
     private ICtopOauthTokenService tokenService;
 
+    /**
+     * 头条内广监测链接检查
+     * @throws Exception
+     */
     @XxlJob("bytedanceMonitoringLinksCheckJob")
     public void execute() throws Exception{
         List<Project> projects = projectService.listByMediaType(3,1);

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedancePlanDailyReportLoadJob.java

@@ -24,6 +24,10 @@ public class BytedancePlanDailyReportLoadJob {
     @Autowired
     private IReportService reportService;
 
+    /**
+     * 头条计划日报
+     * @throws Exception
+     */
     @XxlJob("bytedancePlanDailyReport")
     public void execute() throws Exception {
         Date getDate = DateUtils.addDay(new Date(), -1);

+ 3 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedancePlanHourlyReportLoadJob.java

@@ -33,6 +33,9 @@ public class BytedancePlanHourlyReportLoadJob {
     static CountDownLatch countDownLatch = null;
 
 
+    /**
+     * 头条计划时报
+     */
     @XxlJob("bytedancePlanHourlyReport")
     public void execute() {
         XxlJobHelper.log("头条时报数据获取开始");

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedancePlanLoadJob.java

@@ -19,6 +19,11 @@ public class BytedancePlanLoadJob {
     @Autowired
     private IByteDanceAdvertiserDataService advertiserDataService;
     static ExecutorService executorService = Executors.newFixedThreadPool(4);
+
+    /**
+     * 头条全量计划数据
+     * @throws Exception
+     */
     @XxlJob("bytedancePlanLoadJob")
     public void execute() throws Exception {
         //1:查询当日数据

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceRejectReasonJob.java

@@ -10,6 +10,11 @@ import java.util.Date;
 @Component
 public class BytedanceRejectReasonJob {
     private static final String URLPREFIX = "http://118.24.244.213:8808/bytedance-api/ctop/bytedanceRejectReason/getReasonInRecentHours?hour=";
+
+    /**
+     * 头条优化审核建议
+     * @throws Exception
+     */
     @XxlJob("bytedanceRejectReasonJob")
     public void execute() throws Exception {
 

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceSameDayCreativeLoadJob.java

@@ -21,6 +21,11 @@ public class BytedanceSameDayCreativeLoadJob {
     static ExecutorService executorService = Executors.newFixedThreadPool(6);
     @Autowired
     private IByteDanceCreativeService byteDanceCreativeService;
+
+    /**
+     * 头条当日实时创意数据
+     * @throws Exception
+     */
     @XxlJob("bytedanceSameDayCreative")
     public void execute() throws Exception {
         List<CtopOauthToken> tokens = tokenService.getTokenListByType(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceTodayPlaneLoadJob.java

@@ -27,6 +27,10 @@ public class BytedanceTodayPlaneLoadJob {
     private IByteDanceAdvertiserDataService advertiserDataService;
     static ExecutorService executorService = Executors.newFixedThreadPool(15);
 
+    /**
+     * 获取今天头条计划数据
+     * @throws Exception
+     */
     @XxlJob("bytedanceTodayPlaneLoadJob")
     public void execute() throws Exception {
         Date getDate = new Date();

+ 2 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceVideoDailyReportLoadJob.java

@@ -10,6 +10,8 @@ import java.util.Date;
 
 @Component
 public class BytedanceVideoDailyReportLoadJob {
+
+    //TODO 待删除
     @XxlJob("bytedanceVideoDailyReportLoadJob")
     public void execute() throws Exception {
         for(int i=0;i<3;i++){

+ 1 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceVideoETLReportReloadJob.java

@@ -19,6 +19,7 @@ public class BytedanceVideoETLReportReloadJob {
     @Autowired
     private IEtlBytedanceVideoInfoService iEtlBytedanceVideoInfoService;
 
+    //TODO 待删除
     @XxlJob("bytedanceETLReportData")
     public void execute() throws Exception {
         //查询素材归属表所有的信息md5,clip_id,clip_name,shot_id,shot_name,plan_id,plan_name

+ 1 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceVideoInfoLoadJob.java

@@ -20,6 +20,7 @@ public class BytedanceVideoInfoLoadJob {
     @Autowired
     private IByteDanceAdvertiserDataService advertiserDataService;
 
+    //TODO 待删除
     @XxlJob("bytedanceVideoInfo")
     public void execute() throws Exception {
         List<CtopOauthToken> tokens = tokenService.getTokenListByType(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceVideoReportCleanJob.java

@@ -13,6 +13,10 @@ public class BytedanceVideoReportCleanJob {
     @Autowired
     private IByteDanceVideoReportDailyService videoReportDailyService;
 
+    /**
+     * 头条视频数据清洗
+     * @throws Exception
+     */
     @XxlJob("bytedanceVideoReportCleanJob")
     public void execute() throws Exception {
         for(int i=0;i<2;i++){

+ 2 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceYesterdayAdvertiserHourlyLoadJob.java

@@ -23,6 +23,8 @@ public class BytedanceYesterdayAdvertiserHourlyLoadJob {
     @Autowired
     private IReportService reportService;
     private ExecutorService executorService = Executors.newFixedThreadPool(5);
+
+    //TODO 待删除
     @XxlJob("byteDanceAdvertiserHourlyReport")
     public void execute() throws Exception {
         //查询需要拉取数据的账户token

+ 1 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/CheckDataStateJob.java

@@ -22,6 +22,7 @@ public class CheckDataStateJob {
 
     /**
      * 检查任务执行结果
+     * 检查数据结果
      */
     @XxlJob(jobName)
     public void execute() throws Exception {

+ 4 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ETLReportDesignJob.java

@@ -13,6 +13,10 @@ public class ETLReportDesignJob {
     @Autowired
     IEtlDesignDailyReportService etlDesignDailyReportService;
 
+    /**
+     * 设计人员消耗数据清洗
+     * @throws Exception
+     */
     @XxlJob("ETLReportDesignJob")
     public void execute() throws Exception {
         String statDate = DateUtils.formatDate(DateUtils.addDay(new Date(), -1));

+ 1 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ETLReportVideoCleanJob.java

@@ -15,6 +15,7 @@ public class ETLReportVideoCleanJob {
     @Autowired
     IETLReportBytedanceVideoService etlReportBytedanceVideoService;
 
+    //TODO 待删除
     @XxlJob("ETLReportVideoCleanJob")
     public void execute() throws Exception {
         String statDate = DateUtils.formatDate(DateUtils.addDay(new Date(), -1));

+ 5 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/RuleDataAccountCleanJob.java

@@ -25,6 +25,11 @@ public class RuleDataAccountCleanJob {
     @Autowired
     private IRuleByteDanceAccountService ruleByteDanceAccountService;
     private ExecutorService executorService = Executors.newFixedThreadPool(10);
+
+    /**
+     * 规则引擎账户数据
+     * @throws Exception
+     */
     @XxlJob("ruleDataAccountCleanJob")
     public void execute() throws Exception {
         XxlJobHelper.log("规则预警账户维度数据开始清洗");

+ 1 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/SendDailyUReportJob.java

@@ -27,6 +27,7 @@ public class SendDailyUReportJob {
     /**
      * 检查任务执行结果
      */
+    //TODO 待删除
     @XxlJob("sendDailyUReportJob")
     public void execute() throws Exception {
         uReportService.uReportList().forEach(uReport->{

+ 1 - 1
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/SendHourlyMessageJob.java

@@ -11,7 +11,7 @@ public class SendHourlyMessageJob {
     private IAppchatCreateService appchatCreateService;
 
     /**
-     *
+     *发送时报提醒任务
      **/
     @XxlJob("sendHourlyMessageJob")
     public void execute() {

+ 3 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/CrowdListQueryJob.java

@@ -37,6 +37,9 @@ public class CrowdListQueryJob {
     private IKuaishouPopulationPackageRelService relService;
     static ExecutorService executorService = Executors.newFixedThreadPool(3);
 
+    /**
+     * 定时更新人群包状态
+     */
     @XxlJob("crowdListQueryJob")
     public void execute() {
         List<Integer> list = new ArrayList<>();

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/DeleteKuaishouCommentJob.java

@@ -23,6 +23,7 @@ public class DeleteKuaishouCommentJob {
     private IKuaishouWebInterfaceService kuaishouWebInterfaceService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
     static CountDownLatch countDownLatch = null;
+    //TODO 待删除
     @XxlJob("deleteKuaishouComment")
     public void deleteKuaishouComment(){
         Long start = System.currentTimeMillis();

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouAlarmRuleJob.java

@@ -30,6 +30,7 @@ public class KuaiShouAlarmRuleJob {
      * @throws
      * @author ZHAOXA
      */
+    //TODO 待删除
     @XxlJob("kuaiShoualarmRuleJob")
     public void execute() throws Exception {
         //查询账户绑定过的规则模板

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouCostGroupJob.java

@@ -16,6 +16,7 @@ public class KuaiShouCostGroupJob {
      *
      * @throws JobExecutionException
      */
+    //TODO 待删除
     @XxlJob("kuaiShouCostGroupJob")
     public void execute() throws Exception {
         kuaishouCostGroupService.saveInfo();

+ 6 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouDailyImageReportLoadJob.java

@@ -20,6 +20,12 @@ public class KuaiShouDailyImageReportLoadJob {
     @Autowired
     private IKuaishouReportDailyImageService kuaishouReportDailyImageService;
     private static ExecutorService executorService = Executors.newFixedThreadPool(8);
+
+
+    /**
+     * 快手图片消耗报表
+     * @throws Exception
+     */
     @XxlJob("kuaiShouDailyImageReportLoadJob")
     public void execute() throws Exception {
         //增加接口的开始和结束日期

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouDeleteCommentJob.java

@@ -25,6 +25,7 @@ public class KuaiShouDeleteCommentJob {
 
     static CountDownLatch countDownLatch = null;
 
+    //TODO 待删除
     @XxlJob("kuaiShouDeleteCommentJob")
     public void kuaiShouDeleteComment(){
         Long start = System.currentTimeMillis();

+ 1 - 1
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouRefreshAgentTokenJob.java

@@ -12,7 +12,7 @@ public class KuaiShouRefreshAgentTokenJob {
     private IRefreshTokenService refreshTokenService;
 
     /**
-     * 刷新token
+     * 代理商刷新token
      * @throws JobExecutionException
      */
     @XxlJob("kuaiShouRefreshAgentTokenJob")

+ 1 - 1
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouRefreshTokenJob.java

@@ -12,7 +12,7 @@ public class KuaiShouRefreshTokenJob {
     private IRefreshTokenService refreshTokenService;
 
     /**
-     * 刷新token
+     * 快手刷新token
      * @throws JobExecutionException
      */
     @XxlJob("kuaiShouRefreshTokenJob")

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouTodayAgentReportJob.java

@@ -17,6 +17,7 @@ public class KuaiShouTodayAgentReportJob {
      *
      * @throws JobExecutionException
      */
+    // TODO 待删除
     @XxlJob("kuaiShouTodayAgentReportJob")
     public void execute() throws Exception {
         String nowDate = DateUtils.getNowDate("yyyy-MM-dd");

+ 1 - 1
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouYesterdayAgentReportJob.java

@@ -13,7 +13,7 @@ public class KuaiShouYesterdayAgentReportJob {
     private IKuaiShouDailyAgentService kuaiShouDailyAgentService;
 
     /**
-     * 快手昨日代理商报表
+     * 代理商t-1数据获取
      *
      * @throws JobExecutionException
      */

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouAccountAudienceReportEtlJob.java

@@ -18,6 +18,10 @@ public class KuaishouAccountAudienceReportEtlJob {
     @Autowired
     private IEtlKuaishouAudienceAccountDailyService etlKuaishouAudienceAccountDailyService;
 
+    /**
+     * 清洗盯盘人群——年龄、性别数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouAccountAudienceReportEtlJob")
     public void execute() throws Exception {
         try {

+ 1 - 1
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouAccountBidJob.java

@@ -12,7 +12,7 @@ public class KuaishouAccountBidJob {
     private IKuaishouBidWarningService bidWarningService;
 
     /**
-     * 出价预警
+     * 快手出价预警
      **/
     @XxlJob("kuaishouAccountBidJob")
     public void execute() {

+ 3 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouActionBarTextJob.java

@@ -11,6 +11,9 @@ public class KuaishouActionBarTextJob {
     @Autowired
     private IKuaiShouActionBarTextService actionBarTextService;
 
+    /**
+     * 快手-行动号召按钮定时更新
+     */
     @XxlJob("kuaishouActionBarTextJob")
     public void execute() {
         actionBarTextService.getActionBarText();

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouBatchCampaignTimeStartJob.java

@@ -27,6 +27,10 @@ public class KuaishouBatchCampaignTimeStartJob {
     private IKuaiShouUpdateService kuaiShouUpdateService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
+    /**
+     * 批量创建——定时启动广告计划
+     * @throws Exception
+     */
     @XxlJob("kuaishouBatchCampaignTimeStartJob")
     public void execute() throws Exception {
         List<KuaishouBatchCampaignPreview> campaignPreviewList = campaignPreviewService.queryListByTime();

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouCampaignJob.java

@@ -19,6 +19,10 @@ public class KuaishouCampaignJob {
     @Autowired
     private IKuaishouInterfaceService kuaishouInterfaceService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
+
+    /**
+     * 快手全量计划物料数据
+     */
     @XxlJob("kuaishouCampaignJob")
     public void execute() {
         List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();

+ 3 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouCreateCreativeJob.java

@@ -24,6 +24,9 @@ public class KuaishouCreateCreativeJob {
     private ICtopOauthTokenService tokenService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
+    /**
+     * 组创建成功-创意待创建
+     */
     @XxlJob("kuaihouCreateCreative")
     public void execute() {
         QueryWrapper<KuaiShouGroupTemplate> templateQueryWrapper = new QueryWrapper<>();

+ 3 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouCreateUnitJob.java

@@ -22,6 +22,9 @@ public class KuaishouCreateUnitJob {
     @Value("${xxl-job.requestUrl}")
     private String jobUrl;
 
+    /**
+     * 快手自动创建组
+     */
     @XxlJob("kuaihouCreateUnit")
     public void execute() {
         String url = jobUrl + "/jeecg-boot/batch/kuaiShouGroupTemplate/createUnit";

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyAccountAudienceReportJob.java

@@ -27,6 +27,10 @@ public class KuaishouDailyAccountAudienceReportJob {
 
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
+    /**
+     * 人群分析报表账户级每日数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouAccountAudienceReportJob")
     public void execute() throws Exception {
         //查询两天前数据  策略

+ 5 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyAccountReportLoadEtlJob.java

@@ -29,6 +29,11 @@ public class KuaishouDailyAccountReportLoadEtlJob {
     private EtlKuaishouAccountMaterialReportDailyMapper etlKuaishouAccountMaterialReportDailyMapper;
     @Autowired
     private IEtlKuaishouReportAccountHourlyService hourlyService;
+
+    /**
+     * 清洗账户维度-每日盯盘数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouDailyAccountReportLoadEtl")
     public void execute() throws Exception {
         try {

+ 8 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyAccountReportLoadJob.java

@@ -28,6 +28,10 @@ public class KuaishouDailyAccountReportLoadJob {
     static ExecutorService executorService = Executors.newFixedThreadPool(10);
     static ExecutorService adSceneExecutorService = Executors.newFixedThreadPool(10);
 
+    /**
+     * 快手广告主日报
+     * @throws Exception
+     */
     @XxlJob("kuaishouDailyAccountReport")
     public void execute() throws Exception {
         Date getDate = DateUtils.addDay(new Date(), -1);
@@ -44,6 +48,10 @@ public class KuaishouDailyAccountReportLoadJob {
         }));
     }
 
+    /**
+     * 账户日报-分版位数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouDailyAccountAdSceneReport")
     public void kuaishouDailyAccountAdSceneReport() throws Exception {
         Date getDate = DateUtils.addDay(new Date(), -1);

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyAudienceReportJob.java

@@ -35,6 +35,10 @@ public class KuaishouDailyAudienceReportJob {
 
     static ExecutorService executorService = null;
 
+    /**
+     * 人群分析报表每日组级数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouDailyAudienceReportJob")
     public void execute() throws Exception {
         Thread thread = new Thread() {

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyCampaignReportLoadJob.java

@@ -27,6 +27,10 @@ public class KuaishouDailyCampaignReportLoadJob {
     private IKuaishouInterfaceService kuaishouInterfaceService;
     static ExecutorService executorService = Executors.newFixedThreadPool(3);
 
+    /**
+     * 快手计划日报数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouDailyCampaignReport")
     public void execute() throws Exception {
         Date getDate = DateUtils.addDay(new Date(), -2);

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyCreativeReportLoadJob.java

@@ -33,6 +33,7 @@ public class KuaishouDailyCreativeReportLoadJob {
     @Autowired
     private IKuaiShouCampaignService campaignService;
 
+    //TODO 待删除
     @XxlJob("kuaishouDailyCreativeReport")
     public void execute() throws Exception {
         Date getDate = DateUtils.addDay(new Date(), -1);

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyFlowsJob.java

@@ -16,6 +16,10 @@ public class KuaishouDailyFlowsJob {
     private IKuaishouInterfaceService kuaishouInterfaceService;
     @Autowired
     private ICtopOauthTokenService oauthTokenService;
+
+    /**
+     * 快手账户流水信息
+     */
     @XxlJob("kuaishouDailyFlowsJob")
     public void execute() {
         List<CtopOauthToken> tokens = oauthTokenService.selectKuaiShouToken();

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyGroupReportLoadJob.java

@@ -27,6 +27,10 @@ public class KuaishouDailyGroupReportLoadJob {
     private IKuaishouReportDailyGroupService reportDailyGroupService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
+    /**
+     * 快手广告组日报
+     * @throws Exception
+     */
     @XxlJob("kuaishouDailyGroupReport")
     public void execute() throws Exception {
         Date startDate = DateUtils.addDay(new Date(), -2);

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyLoadFileJob.java

@@ -28,6 +28,10 @@ public class KuaishouDailyLoadFileJob {
     @Autowired
     private IKuaiShouDailyReportTaskService dailyReportTaskService;
 
+    /**
+     * 快手异步文件下载入库
+     * @throws Exception
+     */
     @XxlJob("kuaishouDailyLoadFile")
     public void execute() throws Exception {
         String nowDate = DateUtils.getDate("yyyy-MM-dd");

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyReportTaskJob.java

@@ -20,6 +20,10 @@ public class KuaishouDailyReportTaskJob {
     @Autowired
     private IKuaiShouHistoryReportTaskService reportTaskService;
 
+    /**
+     * 快手异步日报任务创建
+     * @throws Exception
+     */
     @XxlJob("kuaishouDailyReportTask")
     public void execute() throws Exception {
         XxlJobHelper.log("快手获取日报数据任务执行开始");

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDailyZombieJob.java

@@ -16,6 +16,10 @@ public class KuaishouDailyZombieJob {
     @Autowired
     private IKuaishouZombieCreativeService kuaishouZombieCreativeService;
 
+    /**
+     * 更新僵尸计划数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouDailyZombie")
     public void execute() throws Exception {
         XxlJobHelper.log("更新僵尸计划数据 start");

+ 11 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouDingPanCleanJob.java

@@ -31,6 +31,9 @@ public class KuaishouDingPanCleanJob {
     static ExecutorService executorService = Executors.newFixedThreadPool(8);
     static ExecutorService materialExecutorService = Executors.newFixedThreadPool(8);
 
+    /**
+     * 快手盯盘每日上新数据
+     */
     @XxlJob("cleanNewlyData")
     public void cleanNewlyData() {
         String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
@@ -40,6 +43,10 @@ public class KuaishouDingPanCleanJob {
     }
 
 
+    /**
+     * 盯盘组日报数据清洗
+     * @throws Exception
+     */
     @XxlJob("cleanGroupReport")
     public void cleanGroupReport() throws Exception {
         List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
@@ -60,6 +67,10 @@ public class KuaishouDingPanCleanJob {
     }
 
 
+    /**
+     * 盯盘素材概览数据
+     * @throws Exception
+     */
     @XxlJob("cleanAccountMaterialOverview")
     public void cleanAccountMaterialOverview() throws Exception {
         String nowDate = DateUtils.getNowDate("yyyy-MM-dd");

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouEffectVideoJob.java

@@ -14,6 +14,7 @@ public class KuaishouEffectVideoJob {
     @Autowired
     private IKuaishouVideoEtlInfoService etlInfoService;
 
+    //TODO 待删除
     @XxlJob("kuaishouEffectVideoJob")
     public void execute() throws ParseException {
         Date getDate = DateUtils.addDay(new Date(),-1);

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouEtlVideoJob.java

@@ -77,6 +77,7 @@ public class KuaishouEtlVideoJob {
     /**
      * 清洗快手视频开始投放时间
      */
+    //TODO 待删除
     @XxlJob("etlKuaishouVideoReportStateDate")
     public void etlKuaishouVideoReportStateDate(){
         materialReportDailyService.etlKuaishouVideoReportStateDate();

+ 47 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouGroupDailyReportJob.java

@@ -0,0 +1,47 @@
+package cn.com.ctop.job.kuaishou.handler;
+
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
+import cn.com.ctop.kuaishou.modules.report.service.IKuaishouReportDailyGroupService;
+import com.xxl.job.core.context.XxlJobHelper;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import org.jeecg.common.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+@Component
+public class KuaishouGroupDailyReportJob {
+    @Autowired
+    private ICtopOauthTokenService tokenService;
+    @Autowired
+    private IKuaishouInterfaceService kuaishouInterfaceService;
+    @Autowired
+    private IKuaishouReportDailyGroupService reportDailyGroupService;
+
+    static ExecutorService executorService = Executors.newFixedThreadPool(5);
+
+    // TODO 待删除
+    @XxlJob("kuaishouGroupDailyReportJob")
+    public void execute() throws ParseException {
+        String date = DateUtils.getDate("yyyy-MM-dd");
+        String endDate = DateUtils.getAnotherDay("yyyy-MM-dd", date, -1);
+        String startDate = DateUtils.getAnotherDay("yyyy-MM-dd", date, -2);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        Date parse = simpleDateFormat.parse(startDate);
+        Date parse2 = simpleDateFormat.parse(endDate);
+        List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
+        tokens.forEach(token -> executorService.submit(() ->
+                reportDailyGroupService.getAdvertiserGroupReportDaily(token, parse, parse2))
+        );
+        XxlJobHelper.log("快手物料数据同步完成");
+    }
+
+}

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouGroupExploreJob.java

@@ -20,6 +20,7 @@ public class KuaishouGroupExploreJob {
     @Autowired
     private IKuaishouGroupExploreService kuaishouGroupExploreService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
+    //TODO 待删除
     @XxlJob("kuaishouGroupExploreReportJob")
     public void execute() throws ParseException {
         List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouGroupJob.java

@@ -21,6 +21,10 @@ public class KuaishouGroupJob {
 
     static ExecutorService executorService = Executors.newFixedThreadPool(3);
 
+    /**
+     * 快手广告组物料
+     * @throws Exception
+     */
     @XxlJob("kuaishouGroup")
     public void execute() throws Exception {
         List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHistoryLoadFileJob.java

@@ -15,6 +15,10 @@ public class KuaishouHistoryLoadFileJob {
     @Autowired
     private IKuaiShouHistoryReportTaskService historyReportTaskService;
 
+    /**
+     * 快手历史数据异步文件获取
+     * @throws Exception
+     */
     @XxlJob("kuaishouHistoryLoadFile")
     public void execute() throws Exception {
         historyReportTaskService.getTaskList();

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyAccountReportLoadEtlJob.java

@@ -18,6 +18,10 @@ public class KuaishouHourlyAccountReportLoadEtlJob {
     @Autowired
     private IEtlKuaishouReportAccountHourlyService hourlyService;
 
+    /**
+     * 清洗账户维度-盯盘小时数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouHourlyAccountReportLoadEtl")
     public void execute() throws Exception {
         try {

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyAccountReportLoadJob.java

@@ -28,6 +28,10 @@ public class KuaishouHourlyAccountReportLoadJob {
     private IKuaishouInterfaceService kuaishouInterfaceService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
+    /**
+     * 快手广告主时报
+     * @throws Exception
+     */
     @XxlJob("kuaishouHourlyAccountReport")
     public void execute() throws Exception {
         Date getDate = new Date();

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyAccountWarningLoadJob.java

@@ -27,6 +27,10 @@ public class KuaishouHourlyAccountWarningLoadJob {
     private IAccountWarningService accountWarningService;
     static ExecutorService executorService = Executors.newFixedThreadPool(3);
 
+    /**
+     * 快手时段消耗预警
+     * @throws Exception
+     */
     @XxlJob("kuaishouHourlyAccountWarning")
     public void execute() throws Exception {
         XxlJobHelper.log("开始时段消耗预警定时任务");

+ 1 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyCampaignReportLoadJob.java

@@ -29,6 +29,7 @@ public class KuaishouHourlyCampaignReportLoadJob {
 
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
+    //TODO 待删除
     @XxlJob("kuaishouHourlyCampaignReport")
     public void execute() throws Exception {
         Date getDate = new Date();

+ 2 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyCreativeReportLoadJob.java

@@ -27,6 +27,8 @@ public class KuaishouHourlyCreativeReportLoadJob {
     @Autowired
     private IKuaishouInterfaceService kuaishouInterfaceService;
     static ExecutorService executorService = Executors.newFixedThreadPool(3);
+
+    //TODO 待删除
     @XxlJob("kuaishouHourlyCreativeReport")
     public void execute() throws Exception {
         Date getDate = new Date();

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouHourlyGroupReportLoadJob.java

@@ -36,6 +36,10 @@ public class KuaishouHourlyGroupReportLoadJob {
     private IKuaishouReportHourlyGroupService hourlyGroupService;
 
 
+    /**
+     * 广告组时报
+     * @throws Exception
+     */
     @XxlJob("kuaishouHourlyGroupReport")
     public void execute() throws Exception {
         //增加接口的开始和结束日期

+ 3 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouLandpagesJob.java

@@ -19,6 +19,9 @@ public class KuaishouLandpagesJob {
     private IUserAllocationService userAllocationService;
     static ExecutorService executorService = Executors.newFixedThreadPool(3);
 
+    /**
+     * 定时更新账户关联落地页数据
+     */
     @XxlJob("kuaishouLandpagesJob")
     public void execute() {
         //获取快手有效的账户

+ 42 - 34
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouMatDailyReportJob.java

@@ -51,8 +51,6 @@ public class KuaishouMatDailyReportJob {
         }));
         XxlJobHelper.log("快手物料数据同步完成");
     }
-
-
     /**
      * 素材时报
      *
@@ -60,43 +58,53 @@ public class KuaishouMatDailyReportJob {
      */
     @XxlJob("kuaishouMaterialHourReportByStateDate")
     public void kuaishouMaterialHourReportByStateDate() throws Exception {
-        //增加接口的开始和结束日期
         String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
         String yesterday = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
         //1:查询当日数据
-        QueryWrapper<KuaiShouProjectData> queryWrapper = new QueryWrapper();
-        queryWrapper.eq("project_status", 0);
-        List<KuaiShouProjectData> list = kuaiShouProjectDataService.list(queryWrapper);
-        if (Check.isNull(list)) {
-            return;
-        }
+        List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
+        tokens.forEach(token -> executorService.submit(() -> {
+            kuaiShouReportDailyMaterialService.getMaterialReportByAccountIdAndStatDate(token.getAccountId(), token.getAccessToken(), yesterday, yesterday, "HOURLY", 1);
+        }));
+        XxlJobHelper.log("快手素材时报同步完成");
+        //增加接口的开始和结束日期
+//        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
+//        String yesterday = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
+//        //1:查询当日数据
+//        QueryWrapper<KuaiShouProjectData> queryWrapper = new QueryWrapper();
+//        queryWrapper.eq("project_status", 0);
+//        List<KuaiShouProjectData> list = kuaiShouProjectDataService.list(queryWrapper);
+//        if (Check.isNull(list)) {
+//            return;
+//        }
+//
+//        for (KuaiShouProjectData projectData : list) {
+//            Long projectId = projectData.getProjectId();
+//            if (Check.isNull(projectId)) {
+//                continue;
+//            }
+//            QueryWrapper<UserAllocation> allocationQueryWrapper = new QueryWrapper<>();
+//            allocationQueryWrapper.eq("project_id", projectId);
+//            allocationQueryWrapper.eq("account_status", 0);
+//            List<UserAllocation> accountIds = allocationService.list(allocationQueryWrapper);
+//            if (Check.isNull(accountIds)) {
+//                continue;
+//            }
+//            for (UserAllocation allocation : accountIds) {
+//                CtopOauthToken token = tokenService.getTokenByAccountId(allocation.getAccountId());
+//                if (Check.isNull(token)) {
+//                    continue;
+//                }
+//
+//                hourExecutorService.submit(new Runnable() {
+//                    @Override
+//                    public void run() {
+//                        kuaiShouReportDailyMaterialService.getMaterialReportByAccountIdAndStatDate(token.getAccountId(), token.getAccessToken(), yesterday, yesterday, "HOURLY", 1);
+//                    }
+//                });
+//            }
+//        }
 
-        for (KuaiShouProjectData projectData : list) {
-            Long projectId = projectData.getProjectId();
-            if (Check.isNull(projectId)) {
-                continue;
-            }
-            QueryWrapper<UserAllocation> allocationQueryWrapper = new QueryWrapper<>();
-            allocationQueryWrapper.eq("project_id", projectId);
-            allocationQueryWrapper.eq("account_status", 0);
-            List<UserAllocation> accountIds = allocationService.list(allocationQueryWrapper);
-            if (Check.isNull(accountIds)) {
-                continue;
-            }
-            for (UserAllocation allocation : accountIds) {
-                CtopOauthToken token = tokenService.getTokenByAccountId(allocation.getAccountId());
-                if (Check.isNull(token)) {
-                    continue;
-                }
 
-                hourExecutorService.submit(new Runnable() {
-                    @Override
-                    public void run() {
-                        kuaiShouReportDailyMaterialService.getMaterialReportByAccountIdAndStatDate(token.getAccountId(), token.getAccessToken(), yesterday, yesterday, "HOURLY", 1);
-                    }
-                });
-            }
-        }
     }
 
 }

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouMaterialSyncMd5Job.java

@@ -18,6 +18,10 @@ public class KuaishouMaterialSyncMd5Job {
     @Autowired
     private IKuaiShouHistoryReportTaskService historyReportTaskService;
 
+    /**
+     * 检查前一天报表未获取md5
+     * @throws Exception
+     */
     @XxlJob("kuaishouMaterialSyncMd5Job")
     public void execute() throws Exception {
         String nowDate = DateUtils.getDate("yyyy-MM-dd");

+ 5 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouMaterialsLoadJob.java

@@ -20,6 +20,11 @@ public class KuaishouMaterialsLoadJob {
     @Autowired
     private IKuaishouInterfaceService kuaishouInterfaceService;
     static ExecutorService executorService = Executors.newFixedThreadPool(8);
+
+    /**
+     * 快手物料数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouMaterials")
     public void execute() throws Exception {
         //增加接口的开始和结束日期

+ 6 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouNewAccountOperationRecordJob.java

@@ -26,6 +26,12 @@ public class KuaishouNewAccountOperationRecordJob {
     @Autowired
     private ICtopOauthTokenService tokenService;
     static ExecutorService executorService = Executors.newFixedThreadPool(4);
+
+    /**
+     * 快手操作跑前日新增账户数据
+     * @param param
+     * @throws Exception
+     */
     @XxlJob("kuaishouNewAccountOperationRecord")
     public void execute(String param) throws Exception {
         Date getDate = DateUtils.addDay(new Date(), -1);

+ 5 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouNowDateCampaignJob.java

@@ -22,6 +22,11 @@ public class KuaishouNowDateCampaignJob {
     @Autowired
     private IKuaishouInterfaceService kuaishouInterfaceService;
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
+
+    /**
+     * 快手当日计划物料数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouNowDateCampaign")
     public void execute() throws Exception {
         //1:查询当日数据

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouNowDateCreativeJob.java

@@ -24,6 +24,10 @@ public class KuaishouNowDateCreativeJob {
 
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
+    /**
+     * 快手当日创意物料数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouNowDateCreative")
     public void execute() throws Exception {
         Date endDate = new Date();

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouNowDateGroupJob.java

@@ -24,6 +24,10 @@ public class KuaishouNowDateGroupJob {
 
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
+    /**
+     * 快手当日广告组物料数据
+     * @throws Exception
+     */
     @XxlJob("kuaishouNowDateGroup")
     public void execute() throws Exception {
         //1:查询当日数据

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouOperationRecordJob.java

@@ -23,6 +23,10 @@ public class KuaishouOperationRecordJob {
 
     static ExecutorService executorService = Executors.newFixedThreadPool(4);
 
+    /**
+     * 快手操作记录定时任务
+     * @throws Exception
+     */
     @XxlJob("kuaishouOperationRecord")
     public void execute() throws Exception {
         Date getDate = DateUtils.addDay(new Date(), -1);

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouProjectVideoGetJob.java

@@ -40,6 +40,10 @@ public class KuaishouProjectVideoGetJob {
 
     static ExecutorService executorService = Executors.newFixedThreadPool(10);
 
+    /**
+     * 清洗项目素材
+     * @throws Exception
+     */
     @XxlJob("kuaishouProjectVideoGetJob")
     public void execute() throws Exception {
         log.info("同步素造素材供应商-------start");

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouReportDailyGroupChannelCodeJob.java

@@ -13,6 +13,10 @@ public class KuaishouReportDailyGroupChannelCodeJob {
     @Autowired
     private IKuaishouReportDailyGroupService groupService;
 
+    /**
+     * 快手广告组日报渠道号截取任务
+     * @throws Exception
+     */
     @XxlJob("kuaishouReportDailyGroupChannelCode")
     public void execute() throws Exception {
         String date = DateUtils.formatDate(DateUtils.addDay(new Date(), -1));

+ 4 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouVideoRelateCreativesJob.java

@@ -38,6 +38,10 @@ public class KuaishouVideoRelateCreativesJob {
 
     static ExecutorService executorService = Executors.newFixedThreadPool(5);
 
+    /**
+     * 视频库-更新视频关联创意数
+     * @throws Exception
+     */
     @XxlJob("kuaishouVideoRelateCreativesJob")
     public void execute() throws Exception {
         List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();

+ 0 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/RuleKuaiShouDataAccountCleanJob.java


Some files were not shown because too many files changed in this diff