Quellcode durchsuchen

Merge branch 'test' of http://git.tjyourong.com.cn/ctop/adsp-bytedance into test

huangxuechao vor 4 Jahren
Ursprung
Commit
414fd83703

+ 42 - 13
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceAdvertiserStrategyServiceImpl.java

@@ -145,22 +145,32 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 if(null == adId){
                     continue;
                 }
-                adDplinkInfo.setAdId(adId);
-                adDplinkInfo.setAccountId(strategy.getAccountId());
-                adDplinkInfo.setStatus(1);
-                adDplinkInfo.setStrategyId(strategy.getId());
-                adDplinkInfoService.save(adDplinkInfo);
+
                 //3:创建创意
                 JSONObject creativeParams = getCreativeParams(strategy,adId,video,token);
                 log.info("账户id:{};创意创建参数:{}",strategy.getAccountId(),creativeParams);
                 JSONObject creativeObject =  marketingService.creativeCreate(token,adId,creativeParams);
                 if(null!=creativeObject.getInteger("code")&&creativeObject.getInteger("code")!=0){
+                    List<Long> adIds = new ArrayList<>();
+                    adIds.add(adId);
+                    Result resultDeletePlan = marketingService.updPlanStatus(token,adIds,"delete");
+                    if (!resultDeletePlan.isSuccess()){
+                        log.info("广告计划删除失败:message==>{}",resultDeletePlan.getMessage());
+                    }
+
                     String message = creativeObject.getString("message");
                     Integer code = creativeObject.getInteger("code");
                     //创建创意失败
                     log.info("账户id:{};创意创建失败:code==>{};message==>{}",strategy.getAccountId(),code,message);
                     continue;
                 }
+
+                adDplinkInfo.setAdId(adId);
+                adDplinkInfo.setAccountId(strategy.getAccountId());
+                adDplinkInfo.setStatus(1);
+                adDplinkInfo.setStrategyId(strategy.getId());
+                adDplinkInfoService.save(adDplinkInfo);
+
                 BytedanceAiVideoCreativeLog creativeLog = new BytedanceAiVideoCreativeLog(strategy,adId,campaignId,video);
                 videoCreativeLogService.saveOrUpdate(creativeLog);
                 videoCnt --;
@@ -207,23 +217,30 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 if(null == adId){
                     continue;
                 }
-                adDplinkInfo.setAdId(adId);
-                adDplinkInfo.setAccountId(strategy.getAccountId());
-                adDplinkInfo.setStatus(1);
-                adDplinkInfo.setStrategyId(strategy.getId());
-                adDplinkInfoService.save(adDplinkInfo);
                 //3:创建创意
                 JSONObject creativeParams = getCreativeParams(strategy,adId,video,token);
                 log.info("创意创建参数:{}",creativeParams);
                 JSONObject creativeObject =  marketingService.creativeCreate(token,adId,creativeParams);
                 log.info("创意创建返回数据:{}",creativeObject);
                 if(null!=creativeObject.getInteger("code")&&creativeObject.getInteger("code")!=0){
+                    List<Long> adIds = new ArrayList<>();
+                    adIds.add(adId);
+                    Result resultDeletePlan = marketingService.updPlanStatus(token,adIds,"delete");
+                    if (!resultDeletePlan.isSuccess()){
+                        log.info("广告计划删除失败:message==>{}",resultDeletePlan.getMessage());
+                    }
                     String message = creativeObject.getString("message");
                     Integer code = creativeObject.getInteger("code");
                     //创建创意失败
                     log.info("账户id:{};创意创建失败:code==>{};message==>{}",strategy.getAccountId(),code,message);
                     continue;
                 }
+
+                adDplinkInfo.setAdId(adId);
+                adDplinkInfo.setAccountId(strategy.getAccountId());
+                adDplinkInfo.setStatus(1);
+                adDplinkInfo.setStrategyId(strategy.getId());
+                adDplinkInfoService.save(adDplinkInfo);
                 BytedanceAiVideoCreativeLog creativeLog = new BytedanceAiVideoCreativeLog(strategy,adId,campaignId,video);
                 videoCreativeLogService.saveOrUpdate(creativeLog);
                 videoCnt --;
@@ -732,6 +749,7 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 params.put("exclude_flow_package",excludeFlowPackage);
             }
         }
+
         if(!Check.isNull(strategy.getAdPlatform())){
             String[] platform = strategy.getAdPlatform().split(",");
             if(platform.length>0){
@@ -997,7 +1015,7 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
         if(result.contains("{{序号}}")){
             //查询当天已有计划数量
             int i = adDplinkInfoService.getDpLinkInfoCount(strategy.getAccountId());
-            Long num = GetCampaignNum.getCampaignNameNum(strategy.getCampaignCnt(),strategy.getCampaignAdCnt(),i);
+            Long num = GetCampaignNum.getCampaignNameNum(strategy.getCampaignCnt(),strategy.getCampaignAdCnt(), i == 0 ? i+1 : i);
             result = result.replace("{{序号}}",String.valueOf(num));
         }
 
@@ -1084,6 +1102,7 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
      */
     @Override
     public Result updStaOrCpaOrBudgetById(UpdAdStaOrCpaOrBudget updAdStaOrCpaOrBudget) {
+        CtopOauthToken token = tokenService.getOauthTokenByAccountId(String.valueOf(updAdStaOrCpaOrBudget.getAccountId()));
         //1-修改出价
         if (BytedanceConstant.UPDTYPE_BID.equals(updAdStaOrCpaOrBudget.getType())) {
             //查询计划预算
@@ -1120,6 +1139,16 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 }
             }
             aiBytedanceAdvertiserStrategyMapper.updBudgetById(updAdStaOrCpaOrBudget.getId(), updAdStaOrCpaOrBudget.getBudget(),updAdStaOrCpaOrBudget.getBudgetType());
+
+            //账户预算 同步 头条
+            //BUDGET_MODE_DAY-日预算
+            // BUDGET_MODE_INFINITE-不限
+            String accountBudgetMode = updAdStaOrCpaOrBudget.getBudgetType().equals("1") ? "BUDGET_MODE_INFINITE" : "BUDGET_MODE_DAY";
+            Result resultBudget = marketingService.updateBudget(token,accountBudgetMode,new BigDecimal(updAdStaOrCpaOrBudget.getBudget()));
+           /* if (!resultBudget.isSuccess()){
+                return Result.error(resultBudget.getMessage());
+            }*/
+
         }
         return Result.successMsg("修改"+(BytedanceConstant.UPDTYPE_BID.equals(updAdStaOrCpaOrBudget.getType()) ? "出价" : "预算")+"成功。",null);
     }
@@ -1378,9 +1407,9 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
         // BUDGET_MODE_INFINITE-不限
         String accountBudgetMode = aiBytedanceAdvertiserStrategy.getAccountBudgetMode().equals("1") ? "BUDGET_MODE_INFINITE" : "BUDGET_MODE_DAY";
         Result resultBudget = marketingService.updateBudget(token,accountBudgetMode,aiBytedanceAdvertiserStrategy.getAccountBudget());
-        if (!resultBudget.isSuccess()){
+       /* if (!resultBudget.isSuccess()){
             return Result.error(resultBudget.getMessage());
-        }
+        }*/
         return Result.successMsg("新增成功。",aiBytedanceAdvertiserStrategy);
     }
 

+ 1 - 1
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/common/utils/GetCampaignNum.java

@@ -27,7 +27,7 @@ public class GetCampaignNum {
         // 整除 组 = 商
         Long count = yu != 0 ? zu.intValue()+1 : zu;
        // 账户配置中的组数量 < 当前 组序号
-        if (count.intValue() < campaignCnt){
+        if (count.intValue() <= campaignCnt){
             System.out.println("序号----------"+count);
         }else {
             System.out.println("序号-超过了最大值-----"+count);