Преглед на файлове

修改自动化定时任务

songyinghao преди 4 години
родител
ревизия
03eab7dcfc

+ 7 - 54
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouAiCreativeJob.java

@@ -31,13 +31,13 @@ public class KuaishouAiCreativeJob {
         }
         strategies.forEach(strategy -> {
             if(null!=strategy.getOpenProgramCreate()&&strategy.getOpenProgramCreate()!=1){
-                createCreativeService.autoCreateCreative(strategy,1,null);
+                createCreativeService.customCreativeLimit(strategy);
             }
         });
     }
 
     /**
-     * 补充自定义创意
+     * 补充创意
      */
     @XxlJob("kuaishouCustomCreativeSupplement")
     public void kuaishouCustomCreativeSupplement() {
@@ -56,55 +56,6 @@ public class KuaishouAiCreativeJob {
         });
     }
 
-
-    /**
-     * 自定义高质量创意
-     */
-    @XxlJob("kuaishouCustomCreativeTop")
-    public void kuaishouCustomCreativeTop() {
-        List<AiKuaishouAdvertiserStrategy> strategies = strategyService.getAllEffectStrategy();
-        if(null==strategies||strategies.isEmpty()){
-            return;
-        }
-        strategies.forEach(strategy -> {
-            if(null!=strategy.getOpenProgramCreate()&&strategy.getOpenProgramCreate()!=1){
-                createCreativeService.autoCreateCreative(strategy,2,20L);
-            }
-        });
-    }
-
-    /**
-     * 自定义遗漏创意
-     */
-    @XxlJob("kuaishouCustomCreativeMissing")
-    public void kuaishouCustomCreativeMissing() {
-        List<AiKuaishouAdvertiserStrategy> strategies = strategyService.getAllEffectStrategy();
-        if(null==strategies||strategies.isEmpty()){
-            return;
-        }
-        strategies.forEach(strategy -> {
-            if(null!=strategy.getOpenProgramCreate()&&strategy.getOpenProgramCreate()!=1){
-                createCreativeService.autoCreateCreative(strategy,3,null);
-            }
-        });
-    }
-
-    /**
-     * 自定义历史打捞创意
-     */
-    @XxlJob("kuaishouCustomCreativeHistory")
-    public void kuaishouCustomCreativeHistory() {
-        List<AiKuaishouAdvertiserStrategy> strategies = strategyService.getAllEffectStrategy();
-        if(null==strategies||strategies.isEmpty()){
-            return;
-        }
-        strategies.forEach(strategy -> {
-            if(null!=strategy.getOpenProgramCreate()&&strategy.getOpenProgramCreate()!=1){
-                createCreativeService.autoCreateCreative(strategy,4,null);
-            }
-        });
-    }
-
     /**
      * 程序化上新创意
      */
@@ -116,13 +67,14 @@ public class KuaishouAiCreativeJob {
         }
         strategies.forEach(strategy -> {
             if(null!=strategy.getOpenProgramCreate()&&strategy.getOpenProgramCreate()!=0){
-                createCreativeService.autoCreateProgramCreative(strategy,1,150L);
+                long videoCnt = strategy.getProgramUnitCnt()*5/2;
+                createCreativeService.autoCreateProgramCreative(strategy,1,videoCnt);
             }
         });
     }
 
     /**
-     * 程序化上新创意
+     * 程序化高质量创意
      */
     @XxlJob("kuaishouProgramCreativeTop")
     public void kuaishouProgramCreativeTop() {
@@ -132,7 +84,8 @@ public class KuaishouAiCreativeJob {
         }
         strategies.forEach(strategy -> {
             if(null!=strategy.getOpenProgramCreate()&&strategy.getOpenProgramCreate()!=0){
-                createCreativeService.autoCreateProgramCreative(strategy,2,150L);
+                long videoCnt = strategy.getProgramUnitCnt()*5/2;
+                createCreativeService.autoCreateProgramCreative(strategy,2,videoCnt);
             }
         });
     }

+ 2 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IAiKuaishouCreateCreativeService.java

@@ -10,4 +10,6 @@ public interface IAiKuaishouCreateCreativeService {
     void autoCreateProgramCreative(AiKuaishouAdvertiserStrategy strategy,Integer createType,Long videoCnt);
 
     void customCreativeSupplement(AiKuaishouAdvertiserStrategy strategy,Integer hour) throws ParseException;
+
+    void customCreativeLimit(AiKuaishouAdvertiserStrategy strategy);
 }

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/AiKuaishouAdvertiserStrategyServiceImpl.java

@@ -101,7 +101,7 @@ public class AiKuaishouAdvertiserStrategyServiceImpl extends ServiceImpl<AiKuais
     @Override
     public List<AiKuaishouAdvertiserStrategy> getAllEffectStrategy() {
         QueryWrapper<AiKuaishouAdvertiserStrategy>queryWrapper= new QueryWrapper<>();
-        queryWrapper.eq("status",1);
+        queryWrapper.eq("status",3);
         queryWrapper.orderByDesc("id");
         return this.list(queryWrapper);
     }

+ 14 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/AiKuaishouCreateCreativeServiceImpl.java

@@ -334,6 +334,20 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
         }
     }
 
+    @Override
+    public void customCreativeLimit(AiKuaishouAdvertiserStrategy strategy) {
+        Long unitNum = strategy.getCustomUnitCnt();
+        log.info("当天可创建组总数:{}",unitNum);
+        //查询当前账户创建自定义类型组数量
+        int unitCreateCnt = groupService.queryToDayBuiltCount(strategy.getAccountId());
+        log.info("截止目前创建组总数:{}",unitCreateCnt);
+        long remindCnt = unitNum-unitCreateCnt;
+        if(remindCnt>=1){
+            log.info("组创建不足,剩余需要创建个数{},开始上新素材创建",remindCnt);
+            this.autoCreateCreative(strategy,1,remindCnt);
+        }
+    }
+
     private void createProgramCreative(CtopOauthToken token, JSONObject creativeParams) {
         Map<String, String> headers = new HashMap<>();
         headers.put("Content-Type", "application/json");