yangzian 4 gadi atpakaļ
vecāks
revīzija
156701d22a

+ 267 - 51
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/dockapi/marketing.java

@@ -9,6 +9,7 @@ import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.ByteDanceSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.common.entity.CtopOauthToken;
+import org.jeecg.modules.bytedance.common.utils.Check;
 import org.jeecg.modules.bytedance.common.utils.HttpUtils;
 import org.jeecg.modules.bytedance.common.utils.PropertiesUtils;
 
@@ -244,9 +245,9 @@ public class marketing {
      * @param budget 广告组预算
      *               取值范围: ≥ 0
      *               当budget_mode为"BUDGET_MODE_DAY"时,必填,且日预算不少于300元
-     *
+     *  landingType 广告组推广目的 允许值:
+     *         "LINK","APP","DPA","GOODS","STORE","SHOP","AWEME"
      * @return: org.jeecg.common.api.vo.Result
-     * @time: 2021/4/19 10:47
      */
     public static Result createCampaign(CtopOauthToken token,String campaignName,String budgetMode, String budget,String landingType) {
         JSONObject param = new JSONObject();
@@ -256,12 +257,12 @@ public class marketing {
         param.put("campaign_name",campaignName);
         //广告组状态 "enable","disable"默认值:enable开启状态
         param.put("operation","enable");
-        param.put("budget_mode", budgetMode);
+        //广告组预算类型 BUDGET_MODE_INFINITE-不限  BUDGET_MODE_DAY-日预算  BUDGET_MODE_TOTAL-总预算
+        param.put("budget_mode", "BUDGET_MODE_INFINITE");
         //广告组预算
-        param.put("budget",budget);
+        //param.put("budget",budget);
         //广告组推广目的
         param.put("landing_type",landingType);
-
         JSONObject data = HttpUtils.bytedancePostRequest(token.getAccessToken(),
                 urlPath+PropertiesUtils.getValue("bytedance_config", "bytedance_v2_campaign_create"),
                 param);
@@ -283,7 +284,16 @@ public class marketing {
 
 
 
-    //创建计划
+    /**
+     *
+     * @description: 创建广告计划
+     *
+     * @param token
+     * @param landingType 推广目的
+     * @param byteDanceAdvertisePlan 创建计划所需要的参数
+     * @return: org.jeecg.common.api.vo.Result
+     * @author: zianY
+     */
     public static Result createAdvertiserPlan(CtopOauthToken token, String landingType, ByteDanceAdvertisePlan byteDanceAdvertisePlan) {
 
         JSONObject params = new JSONObject();
@@ -299,10 +309,9 @@ public class marketing {
         params.put("delivery_range", byteDanceAdvertisePlan.getDeliveryRange() == null ? "DEFAULT" : byteDanceAdvertisePlan.getDeliveryRange());
         //投放形式(穿山甲视频创意类型) 当delivery_range为"UNION"时必填
         // 允许值: "ORIGINAL_VIDEO"原生, "REWARDED_VIDEO"激励视频,"SPLASH_VIDEO"开屏
-        params.put("union_video_type", byteDanceAdvertisePlan.getUnionVideoType() == null ? "ORIGINAL_VIDEO" : byteDanceAdvertisePlan.getUnionVideoType());
-
+       // params.put("union_video_type", byteDanceAdvertisePlan.getUnionVideoType() == null ? "ORIGINAL_VIDEO" : byteDanceAdvertisePlan.getUnionVideoType());
         //投放内容
-        //推广目的为应用推广(landing_type=APP)时投放目标参数
+        //推广目的 为应用推广(landing_type=APP)时投放目标参数
         if ("APP".equals(landingType)) {
             //下载方式  可选值:DOWNLOAD_URL下载链接,QUICK_APP_URL快应用+下载链接,EXTERNAL_URL落地页链接
             params.put("download_type", byteDanceAdvertisePlan.getDownloadType());
@@ -313,7 +322,7 @@ public class marketing {
                 //下载的应用类型,当download_type为DOWNLOAD_URL时必填
                 //允许值: "APP_ANDROID"Android APP, "APP_IOS"IOS APP
                 params.put("app_type", byteDanceAdvertisePlan.getAppType());
-
+                params.put("package", byteDanceAdvertisePlan.getToutiaoPackage());
             }
             // 类型为 快应用+下载链接
             if ("QUICK_APP_URL".equals(byteDanceAdvertisePlan.getDownloadType())){
@@ -323,29 +332,18 @@ public class marketing {
             if ("EXTERNAL_URL".equals(byteDanceAdvertisePlan.getDownloadType())){
                 params.put("external_url", byteDanceAdvertisePlan.getDownloadUrl());
             }
-
-            params.put("package", byteDanceAdvertisePlan.getToutiaoPackage());
-            params.put("app_type",byteDanceAdvertisePlan.getAppType());
         }
-
-
-// TODO 优化目标
-//  convert_id  转化目标
-
-
+        //转化目标
+        params.put("convert_id", byteDanceAdvertisePlan.getConvertId());
         //直达链接(点击唤起APP)
         params.put("open_url", byteDanceAdvertisePlan.getOpenUrl());
-
-        //搜索快投功能,允许值:HAS_OPEN:启用,DISABLED:不启用 TODO
+        //搜索快投功能,允许值:HAS_OPEN:启用,DISABLED:不启用
         params.put("feed_delivery_search", "搜索快投");
-
         //用户定向
-
         //允许值: "CITY"省市, "COUNTY"区县, "BUSINESS_DISTRICT"商圈,"NONE"不限
         params.put("district", byteDanceAdvertisePlan.getScheduleType());
         //性别 允许值: "GENDER_FEMALE", "GENDER_MALE", "NONE"
         params.put("gender", byteDanceAdvertisePlan.getGender());
-
         //允许值: "AGE_BETWEEN_18_23", "AGE_BETWEEN_24_30","AGE_BETWEEN_31_40", "AGE_BETWEEN_41_49", "AGE_ABOVE_50"
         //年龄不限 不传该字段
         //params.put("age", byteDanceAdvertisePlan.getAge());
@@ -354,27 +352,25 @@ public class marketing {
         //params.put("retargeting_tags_include", );
         //排除人群包列表(自定义人群)
         //params.put("retargeting_tags_exclude", );
-
         //媒体定向
         //params.put("superior_popularity_type", byteDanceAdvertisePlan.getSuperiorPopularityType());
         //平台
         //params.put("platform", byteDanceAdvertisePlan.getPlatform());
+        //最低安卓版本
+        params.put("android_osv", "安卓版本");
         //网络
         //params.put("ac", byteDanceAdvertisePlan.getAc());
-
         //过滤已安装  当推广目标为安卓应用下载时可填 0表示不限,1表示过滤,2表示定向。默认为不限
         params.put("hide_if_exists", byteDanceAdvertisePlan.getHideIfExists());
         //过滤已转化用户 NO_EXCLUDE-不过滤;AD-广告计划(默认);CAMPAIGN-广告组; ADVERTISER-广告账户; APP-APP; CUSTOMER-公司账户
         params.put("hide_if_converted", byteDanceAdvertisePlan.getHideIfConverted());
         //是否启用智能放量 0、1。缺省为 0
         params.put("auto_extend_enabled", byteDanceAdvertisePlan.getAutoExtendEnabled());
-
-
-
         //预算与出价
         //投放场景 允许值: 常规投放"SMART_BID_CUSTOM", 放量投放"SMART_BID_CONSERVATIVE"
         params.put("smart_bid_type", "投放场景");
-
+        //预算类型 "BUDGET_MODE_DAY"日预算, "BUDGET_MODE_TOTAL"总预算
+        params.put("budget_mode", byteDanceAdvertisePlan.getBudgetMode());
         //预算 出价方式为CPC、CPM、CPV时,不少于100元;出价方式为OCPM、OCPC时,不少于300元
         params.put("budget", byteDanceAdvertisePlan.getBudget());
         //投放时间类型 允许值: "SCHEDULE_FROM_NOW"从今天起长期投放, "SCHEDULE_START_END"设置开始和结束日期
@@ -383,17 +379,12 @@ public class marketing {
         params.put("schedule_time", byteDanceAdvertisePlan.getScheduleTime());
         //付费方式(计划出价类型) 决定投放目标的类型,比如CPC表示点击量,OCPM表示转化量
         params.put("pricing", byteDanceAdvertisePlan.getPricing());
-
         //目标转化出价/预期成本, 当pricing为"OCPM"、"OCPC"出价方式时必填)
         //pricing为"OCPC"时取值范围:0.1-10000元;
         //pricing为"OCPM"时取值范围:0.1-10000元;
         //出价不能大于预算否则会报错
         params.put("cpa_bid", byteDanceAdvertisePlan.getCpaBid());
 
-
-        //第三方检测链接 TODO
-
-
         JSONObject jsonObject = HttpUtils.bytedancePostRequest(token.getAccessToken(),
                 urlPath + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_ad_create"), params);
         Integer code = jsonObject.getInteger("code");
@@ -413,11 +404,11 @@ public class marketing {
     /**
      * 创建广告创意
      * @param
-     * @param adId
-     * @param data
+     * @param adId 广告计划id
+     * @param data 创意入参
      * @return
      */
-    public Result creativeCreate(CtopOauthToken token, Long adId, JSONObject data) {
+    public static Result creativeCreate(CtopOauthToken token, Long adId, JSONObject data) {
         Map<String, Object> resultMap = new HashMap<>();
         //广告主ID
         data.put("advertiser_id", token.getAccountId());
@@ -437,29 +428,28 @@ public class marketing {
             data.put("scene_inventory", data.getString("scene_inventory"));
         }
         //监测链接
-        //data.put("action_track_url", data.getString("action_track_url"));
+        data.put("action_track_url", data.getString("action_track_url"));
         //创意方式,当值为"STATIC_ASSEMBLE"表示程序化创意,其他情况不传字段
         data.put("creative_material_mode", data.getString("creative_material_mode"));
-
-        //TODO创意内容
-
-        //素材信息
-        data.put("image_list", data.getJSONArray("image_list"));
         //标题信息
         data.put("image_list", data.getJSONArray("image_list"));
-
-        //TODO 来源
-
+        //行动号召
+        data.put("action_text", data.getString("action_text"));
+        //是否使用智能优选,true为使用,false为不使用
+        data.put("enable_personal_action", data.getString("enable_personal_action"));
+        //卡片标题
+        data.put("product_description", data.getString("product_description"));
+        //推广卖点 长度6-9个字,最多可填10个卖点
+        data.put("product_selling_points", data.getString("product_selling_points"));
+        //来源
+        data.put("source", data.getString("source"));
         //创意分类
         data.put("third_industry_id", data.getString("third_industry_id"));
         //创意标签 创意标签。最多20个标签,且每个标签长度不超过10个字符
         data.put("ad_keywords", data.getString("ad_keywords"));
-
-
         JSONObject result = HttpUtils.bytedancePostRequest(token.getAccessToken(),
-                urlPath+PropertiesUtils.getValue("bytedance_config", "bytedance_v2_creative_create_v2"),
+                urlPath + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_creative_create_v2"),
                 data);
-
         Integer code = result.getInteger("code");
         String message = result.getString("message");
         if (null == code || code != 0) {
@@ -743,4 +733,230 @@ public class marketing {
     }
 
 
+
+    /**
+     *
+     * @description: 修改广告组
+     *
+     * @param token
+     * @param campaignId 广告组id
+     * @param modifyTime 时间戳
+     * @param campaignName 广告组名称
+     * @param budgetMode 广告组预算类型
+     * @param budget 广告组预算
+     * @return: org.jeecg.common.api.vo.Result
+     */
+    public static Result updateCampaign(CtopOauthToken token, Long campaignId, String modifyTime, String campaignName,String budgetMode, Integer budget) {
+        JSONObject params = new JSONObject();
+        //广告主id
+        params.put("advertiser_id", token.getAccountId());
+        //广告组id
+        params.put("campaign_id", campaignId);
+        //时间戳
+        params.put("modify_time", modifyTime);
+        //广告组名称
+        params.put("campaign_name", campaignName);
+        //广告预算类型
+        params.put("budget_mode", budgetMode);
+        //预算
+        params.put("budget", budget);
+        // value 为空 则 移除
+        JSONObject jParams = Check.jsonRemoveEmpty(params);
+        JSONObject jsonObject = HttpUtils.bytedancePostRequest(token.getAccessToken(),
+                urlPath + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_campaign_update"),
+                jParams);
+        Integer code = jsonObject.getInteger("code");
+        if (null == code || !code.equals(0)) {
+            log.info("广告组更新接口异常==》accountId:{},message:{}", token.getAccountId(), jsonObject.getString("message"));
+            return Result.error("广告组更新接口异常"+jsonObject.getString("message"));
+        }
+        JSONObject data = jsonObject.getJSONObject("data");
+        if (null == data) {
+            log.info("广告组更新异常==》accountId:{},message:{}", token.getAccountId(), jsonObject.getString("message"));
+            return Result.error("广告组更新异常"+jsonObject.getString("message"));
+        }
+        return Result.successMsg("广告组信息修改成功。", null);
+    }
+
+
+    /**
+     *
+     * @description: 修改广告计划
+     *
+     * @param token
+     * @param landingType 推广目的类型
+     * @param byteDanceAdvertisePlan 广告计划 入参
+     * @return: org.jeecg.common.api.vo.Result
+     * @author: zianY
+     */
+    public static Result updateAdvertiserPlan(CtopOauthToken token, String landingType, ByteDanceAdvertisePlan byteDanceAdvertisePlan) {
+
+        JSONObject params = new JSONObject();
+        //广告主ID
+        params.put("advertiser_id", byteDanceAdvertisePlan.getAccountId());
+        //广告计划ID
+        params.put("ad_id", "广告计划id");
+        params.put("modify_time", "修改时间戳");
+        //广告计划名称
+        params.put("name", byteDanceAdvertisePlan.getName());
+        //计划状态 默认值: "enable"开启状态 允许值: "enable"开启,"disable"关闭
+        params.put("operation", byteDanceAdvertisePlan.getOperation() == null ? "enable" : byteDanceAdvertisePlan.getOperation());
+        // 投放范围  "DEFAULT"默认, "UNION"穿山甲
+        params.put("delivery_range", byteDanceAdvertisePlan.getDeliveryRange() == null ? "DEFAULT" : byteDanceAdvertisePlan.getDeliveryRange());
+        //投放形式(穿山甲视频创意类型) 当delivery_range为"UNION"时必填
+        // 允许值: "ORIGINAL_VIDEO"原生, "REWARDED_VIDEO"激励视频,"SPLASH_VIDEO"开屏
+        // params.put("union_video_type", byteDanceAdvertisePlan.getUnionVideoType() == null ? "ORIGINAL_VIDEO" : byteDanceAdvertisePlan.getUnionVideoType());
+        //投放内容
+        //推广目的 为应用推广(landing_type=APP)时投放目标参数
+        if ("APP".equals(landingType)) {
+            //下载方式  可选值:DOWNLOAD_URL下载链接,QUICK_APP_URL快应用+下载链接,EXTERNAL_URL落地页链接
+            params.put("download_type", byteDanceAdvertisePlan.getDownloadType());
+            //下载链接
+            // 类型为下载链接
+            if ("DOWNLOAD_URL".equals(byteDanceAdvertisePlan.getDownloadType())){
+                params.put("download_url", byteDanceAdvertisePlan.getDownloadUrl());
+                //下载的应用类型,当download_type为DOWNLOAD_URL时必填
+                //允许值: "APP_ANDROID"Android APP, "APP_IOS"IOS APP
+                params.put("app_type", byteDanceAdvertisePlan.getAppType());
+                params.put("package", byteDanceAdvertisePlan.getToutiaoPackage());
+            }
+            // 类型为 快应用+下载链接
+            if ("QUICK_APP_URL".equals(byteDanceAdvertisePlan.getDownloadType())){
+                params.put("quick_app_url", byteDanceAdvertisePlan.getDownloadUrl());
+            }
+            // 类型为下载链接
+            if ("EXTERNAL_URL".equals(byteDanceAdvertisePlan.getDownloadType())){
+                params.put("external_url", byteDanceAdvertisePlan.getDownloadUrl());
+            }
+        }
+        //转化目标
+        params.put("convert_id", byteDanceAdvertisePlan.getConvertId());
+        //直达链接(点击唤起APP)
+        params.put("open_url", byteDanceAdvertisePlan.getOpenUrl());
+        //搜索快投功能,允许值:HAS_OPEN:启用,DISABLED:不启用
+        params.put("feed_delivery_search", "搜索快投");
+        //用户定向
+        //允许值: "CITY"省市, "COUNTY"区县, "BUSINESS_DISTRICT"商圈,"NONE"不限
+        params.put("district", byteDanceAdvertisePlan.getScheduleType());
+        //性别 允许值: "GENDER_FEMALE", "GENDER_MALE", "NONE"
+        params.put("gender", byteDanceAdvertisePlan.getGender());
+        //允许值: "AGE_BETWEEN_18_23", "AGE_BETWEEN_24_30","AGE_BETWEEN_31_40", "AGE_BETWEEN_41_49", "AGE_ABOVE_50"
+        //年龄不限 不传该字段
+        params.put("age", byteDanceAdvertisePlan.getAge());
+        //自定义人群 不限 不传该字段
+        // 定向人群包列表(自定义人群)
+        params.put("retargeting_tags_include","");
+        //排除人群包列表(自定义人群)
+        params.put("retargeting_tags_exclude","");
+        //媒体定向
+        params.put("superior_popularity_type", byteDanceAdvertisePlan.getSuperiorPopularityType());
+        //平台
+        params.put("platform", byteDanceAdvertisePlan.getPlatform());
+        //最低安卓版本
+        params.put("android_osv", "安卓版本");
+        //网络
+        params.put("ac", byteDanceAdvertisePlan.getAc());
+        //过滤已安装  当推广目标为安卓应用下载时可填 0表示不限,1表示过滤,2表示定向。默认为不限
+        params.put("hide_if_exists", byteDanceAdvertisePlan.getHideIfExists());
+        //过滤已转化用户 NO_EXCLUDE-不过滤;AD-广告计划(默认);CAMPAIGN-广告组; ADVERTISER-广告账户; APP-APP; CUSTOMER-公司账户
+        params.put("hide_if_converted", byteDanceAdvertisePlan.getHideIfConverted());
+        //是否启用智能放量 0、1。缺省为 0
+        params.put("auto_extend_enabled", byteDanceAdvertisePlan.getAutoExtendEnabled());
+        //预算与出价
+        //投放场景 允许值: 常规投放"SMART_BID_CUSTOM", 放量投放"SMART_BID_CONSERVATIVE"
+        params.put("smart_bid_type", "投放场景");
+        //预算类型 "BUDGET_MODE_DAY"日预算, "BUDGET_MODE_TOTAL"总预算
+        params.put("budget_mode", byteDanceAdvertisePlan.getBudgetMode());
+        //预算 出价方式为CPC、CPM、CPV时,不少于100元;出价方式为OCPM、OCPC时,不少于300元
+        params.put("budget", byteDanceAdvertisePlan.getBudget());
+        //投放时间类型 允许值: "SCHEDULE_FROM_NOW"从今天起长期投放, "SCHEDULE_START_END"设置开始和结束日期
+        params.put("schedule_type", byteDanceAdvertisePlan.getScheduleType());
+        //投放时段,默认全时段投放
+        params.put("schedule_time", byteDanceAdvertisePlan.getScheduleTime());
+        //付费方式(计划出价类型) 决定投放目标的类型,比如CPC表示点击量,OCPM表示转化量
+        params.put("pricing", byteDanceAdvertisePlan.getPricing());
+        //目标转化出价/预期成本, 当pricing为"OCPM"、"OCPC"出价方式时必填)
+        //pricing为"OCPC"时取值范围:0.1-10000元;
+        //pricing为"OCPM"时取值范围:0.1-10000元;
+        //出价不能大于预算否则会报错
+        params.put("cpa_bid", byteDanceAdvertisePlan.getCpaBid());
+        params = Check.jsonRemoveEmpty(params);
+
+        JSONObject jsonObject = HttpUtils.bytedancePostRequest(token.getAccessToken(),
+                urlPath + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_ad_update"), params);
+        Integer code = jsonObject.getInteger("code");
+        if (null ==  code || !code.equals(0)) {
+            log.error("广告计划修改失败==》accountId:{},message:{}", token.getAccountId(), jsonObject.getString("message"));
+            Result.error(jsonObject.getString("message"));
+        }
+        byteDanceAdvertisePlan.setId(jsonObject.getJSONObject("data").getLong("ad_id"));
+        return Result.successMsg("广告计划修改成功成功",byteDanceAdvertisePlan);
+    }
+
+
+    /**
+     *
+     * @description: 修改广告创意信息
+     *
+     * @param token
+     * @param adId 广告计划id
+     * @param modifyTime 时间戳
+     * @param data
+     * @return: org.jeecg.common.api.vo.Result
+     * @author: zianY
+     */
+    public static Result creativeUpdate(CtopOauthToken token, Long adId, String modifyTime,JSONObject data) {
+       //广告主ID
+        data.put("advertiser_id", token.getAccountId());
+        //广告计划ID
+        data.put("ad_id", adId);
+        //时间戳
+        data.put("modify_time", modifyTime);
+        //广告 投放位置 三选一
+        if (!data.getString("smart_inventory").isEmpty()){
+            //优选广告位,0表示不使用优选,1表示使用
+            data.put("smart_inventory", data.getString("smart_inventory"));
+        }
+        if (!data.getString("inventory_type").isEmpty()){
+            //广告位置(按媒体指定位置)
+            data.put("inventory_type", data.getString("inventory_type"));
+        }
+        if (!data.getString("scene_inventory").isEmpty()){
+            //场景广告位
+            data.put("scene_inventory", data.getString("scene_inventory"));
+        }
+        //监测链接
+        data.put("action_track_url", data.getString("action_track_url"));
+        //创意方式,当值为"STATIC_ASSEMBLE"表示程序化创意,其他情况不传字段
+        data.put("creative_material_mode", data.getString("creative_material_mode"));
+        //标题信息
+        data.put("image_list", data.getJSONArray("image_list"));
+        //行动号召
+        data.put("action_text", data.getString("action_text"));
+        //是否使用智能优选,true为使用,false为不使用
+        data.put("enable_personal_action", data.getString("enable_personal_action"));
+        //卡片标题
+        data.put("product_description", data.getString("product_description"));
+        //推广卖点 长度6-9个字,最多可填10个卖点
+        data.put("product_selling_points", data.getString("product_selling_points"));
+        //来源
+        data.put("source", data.getString("source"));
+        //创意分类
+        data.put("third_industry_id", data.getString("third_industry_id"));
+        //创意标签 创意标签。最多20个标签,且每个标签长度不超过10个字符
+        data.put("ad_keywords", data.getString("ad_keywords"));
+        JSONObject result = HttpUtils.bytedancePostRequest(token.getAccessToken(),
+                urlPath + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_creative_update_v2"),
+                data);
+        Integer code = result.getInteger("code");
+        String message = result.getString("message");
+        if (null == code || code != 0) {
+            return Result.error("广告计划("+adId+"):修改创意信息异常--->>>"+message);
+        }
+        return Result.successMsg("广告计划("+adId+"):"+"创意修改成功",null);
+    }
+
+
+
+
 }

+ 0 - 1
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/IByteDanceCampaignService.java

@@ -14,7 +14,6 @@ import java.util.Map;
  * @Version: V1.0
  */
 public interface IByteDanceCampaignService extends IService<ByteDanceCampaign> {
-    Map<String,Object>updateCampaign(CtopOauthToken token, Long campaignId, String campaignName, String modifyTime, Integer budget);
     Map<String, Object> getAdvertiserCampaign(CtopOauthToken token, String ids, String date);
     Map<String, Object> updateCampaign(BytedanceCampaignEditVo editVo);
 }

+ 2 - 47
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/ByteDanceCampaignServiceImpl.java

@@ -32,53 +32,7 @@ public class ByteDanceCampaignServiceImpl extends ServiceImpl<ByteDanceCampaignM
     @Autowired
     private ICtopOauthTokenService tokenService;
 
-    @Override
-    public Map<String, Object> updateCampaign(CtopOauthToken token, Long campaignId, String campaignName,String budgetMode, Integer budget) {
-        Map<String, Object> resultMap = new HashMap<>();
-        ByteDanceCampaign campaign = this.getById(campaignId);
-        //2: 根据token以及用户id获取用户信息数据
-        String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_campaign_update");
-        Map<String, String> headers = new HashMap<>();
-        headers.put("Content-Type", "application/json");
-        headers.put("Access-Token", token.getAccessToken());
 
-        JSONObject params = new JSONObject();
-        params.put("advertiser_id", token.getAccountId());
-        params.put("campaign_id", campaignId);
-        params.put("modify_time", campaign.getModifyTime());
-        if (null != campaignName && !"".equals(campaignName.trim())) {
-            params.put("campaign_name", campaignName);
-        }
-        if (null != budgetMode && !"".equals(budgetMode.trim())) {
-            params.put("budget_mode", budgetMode);
-        }
-        if (null != budget) {
-            params.put("budget", budget);
-        }
-        String result = HttpUtils.httpPostRequest(url, params, headers);
-        JSONObject jsonObject = JSONObject.parseObject(result);
-        Integer code = jsonObject.getInteger("code");
-        if (null == code || !code.equals(0)) {
-            log.info("广告组更新接口异常==》accountId:{},message:{}", token.getAccountId(), jsonObject.getString("message"));
-            resultMap.put("code", -1);
-            resultMap.put("message", jsonObject.getString("message"));
-            resultMap.put("success",false);
-            return resultMap;
-        }
-        JSONObject data = jsonObject.getJSONObject("data");
-        if (null == data) {
-            log.info("广告组更新异常==》accountId:{},message:{}", token.getAccountId(), jsonObject.getString("message"));
-            resultMap.put("code", -1);
-            resultMap.put("message", jsonObject.getString("message"));
-            resultMap.put("success",false);
-            return resultMap;
-        }
-        this.getAdvertiserCampaign(token,campaignId+"",null);
-        resultMap.put("code", 0);
-        resultMap.put("message", "广告组信息修改成功");
-        resultMap.put("success",true);
-        return resultMap;
-    }
 
     @Override
     public Map<String, Object> getAdvertiserCampaign(CtopOauthToken token, String ids, String date) {
@@ -98,7 +52,8 @@ public class ByteDanceCampaignServiceImpl extends ServiceImpl<ByteDanceCampaignM
             return result;
         }
         this.getAdvertiserCampaign(token,editVo.getId()+"",null);
-        return this.updateCampaign(token,editVo.getId(),editVo.getCampaignName(),editVo.getBudgetMode(),editVo.getBudget());
+        //return this.updateCampaign(token,editVo.getId(),editVo.getCampaignName(),editVo.getBudgetMode(),editVo.getBudget());
+        return null;
     }
 
     private void getAdvertiserCampaignByPageNumber(CtopOauthToken token, Integer pageNumber, String ids, String date) {