Pārlūkot izejas kodu

自动投放-提升应用安装 收集销售线索

yumeng 4 gadi atpakaļ
vecāks
revīzija
428fbf31bd

+ 213 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/TestController.java

@@ -12,6 +12,9 @@ import cn.com.ctop.crawler.modules.douyin.service.DouyinMusicService;
 import cn.com.ctop.kuaishou.modules.ai.entity.AiKuaishouAdvertiserStrategy;
 import cn.com.ctop.kuaishou.modules.ai.service.IAiKuaishouAdvertiserStrategyService;
 import cn.com.ctop.kuaishou.modules.ai.service.IAiKuaishouCreateCreativeService;
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCampaign;
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreative;
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouGroup;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouTemplate;
 import cn.com.ctop.kuaishou.modules.batch.service.*;
 import cn.com.ctop.kuaishou.modules.graphql.service.IKuaishouWebInterfaceService;
@@ -95,7 +98,7 @@ public class TestController {
     @Autowired
     private IKuaiShouHistoryReportTaskService kuaiShouHistoryReportTaskService;
 
-    static ExecutorService executorService = Executors.newFixedThreadPool(15);
+    static ExecutorService executorService = Executors.newFixedThreadPool(5);
     static ExecutorService suzhaoService = Executors.newFixedThreadPool(5);
     @Autowired
     private IKuaiShouDailyAgentService dailyAgentService;
@@ -121,6 +124,215 @@ public class TestController {
     @Autowired
     private IKuaiShouReportDailyMaterialService kuaiShouReportDailyMaterialService;
 
+    @Autowired
+    private IKuaiShouCreativeService creativeService;
+    @Autowired
+    private IKuaiShouGroupService groupService;
+
+    @Autowired
+    private IBatchService batchService;
+    static ExecutorService videoService = Executors.newFixedThreadPool(3);
+
+
+    @GetMapping(value = "/getProgramCreative")
+    public void getProgramCreative() {
+        List<Long> list = new ArrayList();
+        list.add(10045052L);
+        list.add(10045823L);
+        list.add(10045830L);
+        list.add(10045831L);
+
+        for (int i = 0; i < list.size(); i++) {
+            Long accountId = list.get(i);
+            CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
+            creativeService.getProgramCreative(oauthToken, 1);
+        }
+
+
+    }
+
+
+    @GetMapping(value = "/campaignList")
+    public void campaignList() {
+        List<Long> list = new ArrayList();
+        list.add(10045052L);
+        list.add(10045823L);
+        list.add(10045830L);
+        list.add(10045831L);
+        for (int i = 0; i < list.size(); i++) {
+            Long accountId = list.get(i);
+            CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
+            // kuaishouInterfaceService.getCampaignList(oauthToken, null, null);
+            videoService.submit(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        kuaishouInterfaceService.getCampaignList(oauthToken, null, null);
+                        //   kuaishouInterfaceService.getGroupList(oauthToken, null, null);
+                        //     kuaishouInterfaceService.getCreativeList(oauthToken, null, null);
+                        Thread.sleep(1500);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            });
+
+        }
+
+    }
+
+
+    @GetMapping(value = "/creativeList")
+    public void creativeList() {
+        List<Long> list = new ArrayList();
+        list.add(10045052L);
+        list.add(10045823L);
+        list.add(10045830L);
+        list.add(10045831L);
+        for (int i = 0; i < list.size(); i++) {
+            Long accountId = list.get(i);
+            CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
+            QueryWrapper<KuaiShouCampaign> campaignQueryWrapper = new QueryWrapper<>();
+            campaignQueryWrapper.eq("account_id", accountId);
+
+            List<KuaiShouCampaign> list1 = campaignService.list(campaignQueryWrapper);
+            for (KuaiShouCampaign campaign : list1) {
+                executorService.submit(new Runnable() {
+                    @Override
+                    public void run() {
+                        kuaishouInterfaceService.getCreativeList(oauthToken, null, null);
+                    }
+                });
+                try {
+                    Thread.sleep(400L);
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+            }
+
+
+        }
+
+    }
+
+
+    @GetMapping(value = "/updateUnit")
+    public void updateUnit() throws Exception {
+        List<Long> list = new ArrayList();
+        list.add(9556344L);
+        list.add(9743738L);
+        list.add(9743727L);
+        list.add(9812671L);
+        list.add(9838554L);
+        list.add(9743746L);
+        list.add(9767055L);
+        list.add(9556274L);
+        list.add(9767096L);
+        list.add(9792538L);
+        list.add(9766952L);
+        list.add(9677440L);
+        list.add(9677334L);
+        list.add(9556465L);
+        list.add(9677236L);
+        list.add(9556227L);
+        list.add(9556188L);
+        list.add(9556431L);
+        list.add(9677408L);
+        list.add(9677284L);
+
+        for (int i = 0; i < list.size(); i++) {
+            Long accountId = list.get(i);
+            CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
+            QueryWrapper<KuaiShouGroup> groupQueryWrapper = new QueryWrapper<>();
+            groupQueryWrapper.eq("account_id", accountId);
+            //      groupQueryWrapper.ne("schedule_time","000000111111111111111111000000111111111111111111000000111111111111111111000000111111111111111111000000111111111111111111000000111111111111111111000000111111111111111111");
+            //     groupQueryWrapper.eq("use_app_market", 1);
+            //    groupQueryWrapper.gt("cpa_bid", 19000);
+
+
+            List<KuaiShouGroup> list1 = groupService.list(groupQueryWrapper);
+          /*  for (KuaiShouGroup group : list1) {
+
+                JSONObject json = new JSONObject();
+                json.put("unitId", group.getUnitId());
+                json.put("useAppMarket", 0);
+                json.put("appStore", new JSONArray());
+                batchService.updateUnit(json, oauthToken);
+            }*/
+
+            for (KuaiShouGroup group : list1) {
+                executorService.submit(new Runnable() {
+                    @Override
+                    public void run() {
+                        try {
+                            JSONObject json = new JSONObject();
+                            json.put("unitId", group.getUnitId());
+                            json.put("cpaBid", 18 * 1000);
+                            //     json.put("gender", "2");
+                            batchService.updateUnit(json, oauthToken);
+                            Thread.sleep(1500);
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+
+
+            }
+
+
+        }
+
+
+    }
+
+
+    @GetMapping(value = "/updateCreative")
+    public void updateCreative() {
+        List<Long> list = new ArrayList();
+        list.add(10045052L);
+        list.add(10045823L);
+        list.add(10045830L);
+        list.add(10045831L);
+
+        for (int i = 0; i < list.size(); i++) {
+            Long accountId = list.get(i);
+            CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
+
+
+            QueryWrapper<KuaiShouCreative> creativeQueryWrapper = new QueryWrapper<>();
+            creativeQueryWrapper.eq("account_id", accountId);
+
+
+            List<KuaiShouCreative> creativeList = creativeService.list(creativeQueryWrapper);
+            for (KuaiShouCreative creative : creativeList) {
+                executorService.submit(new Runnable() {
+                    @Override
+                    public void run() {
+                        try {
+                            JSONObject json = new JSONObject();
+                            json.put("creativeId", creative.getCreativeId());
+                            String url = "https://click-wailaxin.1sapp.com/vendor/feedback/reportClick?platform=kuaishou&feedback_type=android&account_id=19&plan_id=__DID__&adgroup_id=__AID__&creative_id=__CID__&imei=__IMEI2__&mac=__MAC__&androidid=__ANDROIDID2__&ts=__TS__&ip=__IP__&ua=__UA__&callback=__CALLBACK__&oaid=__OAID__&app=dxqlb";
+
+                            if (creative.getCreativeMaterialType() == 1) {
+                                json.put("clickTrackUrl", url);
+                            } else if (creative.getCreativeMaterialType() == 4) {
+                                json.put("impressionUrl", url);
+                                json.put("clickTrackUrl", url);
+
+                            }
+                            JSONObject jsonObject = batchService.updateCreative(json, oauthToken);
+                            log.info("修改创意返回信息:creative:{},结果:{}", creative.getCreativeId(), jsonObject);
+                            Thread.sleep(1000L);
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+            }
+        }
+    }
+
 
     @GetMapping("/cleanNewlyData")
     public void cleanNewlyData(String startDate, String endDate) throws ParseException {

+ 5 - 2
jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java

@@ -75,13 +75,16 @@ public class SampleTest {
     private IKuaishouReportHourlyGroupService groupService;
     @Autowired
     private IKuaiShouReportDailyMaterialService reportDailyMaterialService;
-
+    @Autowired
+    private IKuaiShouActionBarTextService actionBarTextService;
 
     @Test
     public void loadBytedanceCreativeData() throws ParseException {
 
+        actionBarTextService.getActionBarText();
+
         // groupService.getAdvertiserGroupReportHourly(9677284L, "b88c5f0d80c518fc80174a4dabbcd180", "2021-04-19", "2021-04-19");
-        reportDailyMaterialService.getMaterialReportByAccountIdAndStatDate(9677284L, "b88c5f0d80c518fc80174a4dabbcd180", "2021-04-19", "2021-04-19", "DAILY", 1);
+    //    reportDailyMaterialService.getMaterialReportByAccountIdAndStatDate(9677284L, "b88c5f0d80c518fc80174a4dabbcd180", "2021-04-19", "2021-04-19", "DAILY", 1);
 
      /*   Date getDate = DateUtils.addDay(new Date(), -1);
         Date getDate2 = DateUtils.addDay(new Date(), -2);

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

@@ -98,6 +98,7 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
                         log.info("账户:{},appid({}) 数据不存在", accountId, appIdArray.getLong(i));
                         continue;
                     }
+
                     if (null != strategy.getGeneralTrack() && strategy.getGeneralTrack() == 0) {
                         strategy.setClickTrackUrl(appInfo.getTrackUrl());
                         strategy.setImpressionUrl(appInfo.getTrackUrl());
@@ -185,7 +186,12 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
                 unitCnt++;
                 String timestamp = DateUtils.formatDate(new Date(), "yyyyMMddHHmmss");
                 String unitName = getName(strategy.getGroupName(), strategy, createType, null, timestamp, unitCnt);
-                Long appId = JSONArray.parseArray(strategy.getAppIdArray()).getLong(0);
+
+                Long appId = null;
+                if (strategy.getCampaignType() == 2 || strategy.getCampaignType() == 7) {
+                    appId = JSONArray.parseArray(strategy.getAppIdArray()).getLong(0);
+                }
+
                 JSONObject unitParams = createUnitParams(token, newCampaignId, strategy, unitName, appId);
                 Map<String, Object> unitCreateResult = kuaishouInterfaceService.adUnitCreate(token.getAccessToken(), token.getAccountId(), unitParams, 1);
                 Integer unitCode = (Integer) unitCreateResult.get("code");
@@ -327,7 +333,6 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
             if (null == newCampaignId) {
                 return;
             }
-
             //创意
             List<List<KuaiShouVideoGet>> splitVideos = Lists.partition(allVideos, 5);
             for (int j = 1; j < splitVideos.size() + 1; j++) {
@@ -336,8 +341,10 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
                 String unitName = getName(strategy.getGroupName(), strategy, createType, null, timestamp, null);
                 String appIdString = strategy.getAppIdArray();
                 Long appId = null;
-                if (!Check.isNull(appIdString) && !Check.isNull(JSON.parseArray(appIdString))) {
-                    appId = JSON.parseArray(appIdString).getLong(0);
+                if (strategy.getCampaignType() == 2 || strategy.getCampaignType() == 7) {
+                    if (!Check.isNull(appIdString) && !Check.isNull(JSON.parseArray(appIdString))) {
+                        appId = JSON.parseArray(appIdString).getLong(0);
+                    }
                 }
                 JSONObject unitParams = createUnitParams(token, newCampaignId, strategy, unitName, appId);
                 Map<String, Object> unitCreateResult = kuaishouInterfaceService.adUnitCreate(token.getAccessToken(), token.getAccountId(), unitParams, 1);
@@ -667,6 +674,8 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
         // 拼装创建组的入参 json
         JSONObject unitParams = new JSONObject();
         Integer unitType = strategy.getUnitType();
+
+
         //创意制作方式
         unitParams.put("unit_type", unitType);
         unitParams.put("advertiser_id", token.getAccountId());
@@ -674,10 +683,7 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
         unitParams.put("unit_name", unitName);
         //出价类型
         unitParams.put("bid_type", strategy.getBidType());
-        // 优先从系统应用商店下载
-        if (null != strategy.getUseAppMarket()) {
-            unitParams.put("use_app_market", strategy.getUseAppMarket());
-        }
+
         //组单日预算
         if (null != strategy.getUnitDayBudget() && strategy.getUnitDayBudget() != 0) {
             unitParams.put("day_budget", strategy.getUnitDayBudget());
@@ -685,9 +691,7 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
             unitParams.put("day_budget", 0);
         }
         //应用商店列表
-        if (null != strategy.getAppStore() && !"".equals(strategy.getAppStore())) {
-            unitParams.put("app_store", JSON.parseArray(strategy.getAppStore()));
-        }
+
         unitParams.put("ocpx_action_type", strategy.getOcpxActionType());
 
         //出价
@@ -724,14 +728,59 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
         if (!Check.isNull(scenceIdString) && !Check.isNull(JSON.parseArray(scenceIdString))) {
             JSONArray scenceArray = JSON.parseArray(scenceIdString);
             sceneId = scenceArray.getInteger(0);
-            //资源位置
-           /* if (unitType == 7) {
-                //程序化
-                scenceArray = cleanPramgramErrorScence(scenceArray);
-            }*/
             unitParams.put("scene_id", scenceArray);
         }
 
+        Integer campaignType = strategy.getCampaignType();
+        if (campaignType == 2) { // 提升应用安装
+            //应用ID
+            if (!Check.isNull(appId)) {
+                unitParams.put("app_id", appId);
+            }
+            // 优先从系统应用商店下载
+            if (null != strategy.getUseAppMarket()) {
+                unitParams.put("use_app_market", strategy.getUseAppMarket());
+            }
+            if (null != strategy.getAppStore() && !"".equals(strategy.getAppStore())) {
+                unitParams.put("app_store", JSON.parseArray(strategy.getAppStore()));
+            }
+        } else if (campaignType == 3) { //  获取电商下单
+
+            //url类型
+            if (!Check.isNull(strategy.getUrlType())) {
+                unitParams.put("url_type", strategy.getUrlType());
+            }
+
+            if (!Check.isNull(strategy.getUrl())) {
+                unitParams.put("url", strategy.getUrl());
+            }
+
+        } else if (campaignType == 5) { //收集销售线索
+            //url类型
+            if (!Check.isNull(strategy.getWebUriType())) {
+                unitParams.put("web_uri_type", strategy.getWebUriType());
+            }
+            //url
+            if (!Check.isNull(strategy.getUrl())) {
+                unitParams.put("url", strategy.getUrl());
+            }
+
+        } else if (campaignType == 7) { //  提高应用活跃
+            //  appId
+            if (!Check.isNull(appId)) {
+                unitParams.put("app_id", appId);
+            }
+
+            //  url
+            if (!Check.isNull(strategy.getUrl())) {
+                unitParams.put("url", strategy.getUrl());
+            }
+            //调起链接
+            if (!Check.isNull(strategy.getSchemaUri())) {
+                unitParams.put("schema_uri", strategy.getSchemaUri());
+            }
+        }
+
         //投放开始时间
         if (!Check.isNull(strategy.getBeginTime())) {
             unitParams.put("begin_time", strategy.getBeginTime());
@@ -750,26 +799,8 @@ public class AiKuaishouCreateCreativeServiceImpl implements IAiKuaishouCreateCre
         if (!Check.isNull(strategy.getConvertId())) {
             unitParams.put("convert_id", strategy.getConvertId());
         }
-        //url类型
-        if (!Check.isNull(strategy.getUrlType())) {
-            unitParams.put("url_type", strategy.getUrlType());
-        }
-        //url类型
-        if (!Check.isNull(strategy.getWebUriType())) {
-            unitParams.put("web_uri_type", strategy.getWebUriType());
-        }
-        //url
-        if (!Check.isNull(strategy.getUrl())) {
-            unitParams.put("url", strategy.getUrl());
-        }
-        //调起链接
-        if (!Check.isNull(strategy.getSchemaUri())) {
-            unitParams.put("schema_uri", strategy.getSchemaUri());
-        }
-        //应用ID
-        if (!Check.isNull(appId)) {
-            unitParams.put("app_id", appId);
-        }
+
+
         //创意展现方式
         if (!Check.isNull(strategy.getShowMode())) {
             unitParams.put("show_mode", strategy.getShowMode());

+ 4 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaiShouCreativeService.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.service;
 
+import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreative;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -70,4 +71,7 @@ public interface IKuaiShouCreativeService extends IService<KuaiShouCreative> {
     String getClickTrackUrl(Long accountId, Long unitId);
 
     List<KuaiShouCreative> getCreativeListByAccountIdAndUnitId(Long accountId, Long unitId);
+
+
+    void getProgramCreative(CtopOauthToken oauthToken, int page);
 }

+ 5 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouActionBarTextServiceImpl.java

@@ -45,10 +45,11 @@ public class KuaiShouActionBarTextServiceImpl extends ServiceImpl<KuaiShouAction
         queryWrapper.last("limit 1");
         CtopOauthToken token = tokenService.getOne(queryWrapper);
         List list = new ArrayList();
-        list.add(2);
+     /*   list.add(2);
         list.add(3);
         list.add(4);
-        list.add(5);
+        list.add(5);*/
+        list.add(7);
         String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.ACTION_BAR_TEXT_LIST;
         Map<String, String> headers = new HashMap<>();
         headers.put("Access-Token", token.getAccessToken());
@@ -60,6 +61,7 @@ public class KuaiShouActionBarTextServiceImpl extends ServiceImpl<KuaiShouAction
             requestJson.put("campaign_type", list.get(i));
             String result = HttpUtils.kuaiShouhttpPostRequest(url, requestJson.toJSONString(), headers);
             JSONObject resultJson = JSONObject.parseObject(result);
+            System.err.println(resultJson);
             Integer code = resultJson.getInteger("code");
             if (code == 0) {
                 JSONObject data = resultJson.getJSONObject("data");
@@ -69,7 +71,7 @@ public class KuaiShouActionBarTextServiceImpl extends ServiceImpl<KuaiShouAction
                     if (!Check.isNull(action_bar_text)) {
                         Map<String, Object> deleteMap = new HashMap<>();
                         deleteMap.put("type", campaign_type);
-                        actionBarTextMapper.deleteByMap(deleteMap);
+                   //     actionBarTextMapper.deleteByMap(deleteMap);
                         for (int j = 0; j < action_bar_text.size(); j++) {
                             String actionBarText = action_bar_text.getString(j);
                             KuaiShouActionBarText kuaiShouActionBarText = new KuaiShouActionBarText();

+ 76 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouCreativeServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.service.impl;
 
+import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.HttpUtils;
 import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
@@ -304,4 +305,79 @@ public class KuaiShouCreativeServiceImpl extends ServiceImpl<KuaiShouCreativeMap
     }
 
 
+    @Override
+    public void getProgramCreative(CtopOauthToken token, int page) {
+
+        log.info("获取视频数据,accountId:{}", token.getAccountId());
+        String url1 = "https://ad.e.kuaishou.com/rest/openapi/v2/creative/advanced/program/list";
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Content-Type", "application/json");
+        headers.put("Access-Token", token.getAccessToken());
+        Map<String, Object> param = new HashMap<>();
+        param.put("advertiser_id", token.getAccountId());
+        param.put("page_size", 500);
+        param.put("page", page);
+
+        String result = HttpUtils.httpPostRequest(url1, param, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        Integer code = resultJson.getInteger("code");
+        String message = resultJson.getString("message");
+        if (null == code || code != 0) {
+            log.error("获取快手视频列表数据异常:{},accountId:{}", message, token.getAccountId());
+            return;
+        }
+        JSONObject dataJson = resultJson.getJSONObject("data");
+        if (Check.isNull(dataJson)) {
+            return;
+        }
+        JSONArray details = dataJson.getJSONArray("details");
+        if (Check.isNull(details)) {
+            return;
+        }
+
+        for (int i = 0; i < details.size(); i++) {
+            JSONObject jsonObject = details.getJSONObject(i);
+            if (Check.isNull(jsonObject)) {
+                continue;
+            }
+
+            String updateUrl = "https://ad.e.kuaishou.com/rest/openapi/v2/creative/advanced/program/update";
+
+            Map<String, String> headers1 = new HashMap<>();
+            headers1.put("Content-Type", "application/json");
+            headers1.put("Access-Token", token.getAccessToken());
+            Map<String, Object> param1 = new HashMap<>();
+            param1.put("advertiser_id", token.getAccountId());
+            param1.put("unit_id", jsonObject.getLong("unit_id"));
+
+          /*  String clickTrackUrl = jsonObject.getString("click_url").replace("&idfa_md5=__IDFA__", "").replace("&idfa_md5=__IDFA2__", "");
+            if (Check.isNull(clickTrackUrl)) {
+                continue;
+            }
+
+            if (clickTrackUrl.contains("&ad_name=__DNAME__")) {
+                continue;
+            }*/
+
+            String replaceUrll = "https://click-wailaxin.1sapp.com/vendor/feedback/reportClick?platform=kuaishou&feedback_type=android&account_id=19&plan_id=__DID__&adgroup_id=__AID__&creative_id=__CID__&imei=__IMEI2__&mac=__MAC__&androidid=__ANDROIDID2__&ts=__TS__&ip=__IP__&ua=__UA__&callback=__CALLBACK__&oaid=__OAID__&app=dxqlb";
+
+            param1.put("click_url", replaceUrll);
+            String result1 = HttpUtils.httpPostRequest(updateUrl, param1, headers1);
+            JSONObject resultJson1 = JSONObject.parseObject(result1);
+            Integer code1 = resultJson1.getInteger("code");
+            if (code1 == 0) {
+                log.info("修改成功,accountId:{},unitId:{}", token.getAccountId(), jsonObject.getLong("unit_id"));
+
+            } else {
+                log.info("修改失败,accountId:{},unitId:{},原因:{}", token.getAccountId(), jsonObject.getLong("unit_id"), resultJson1.getString("message"));
+            }
+
+
+        }
+
+        getProgramCreative(token, page + 1);
+
+    }
+
+
 }

+ 4 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouInterfaceServiceImpl.java

@@ -1854,7 +1854,10 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                         returnJson.put("isAppInvoked", dataJson.getInteger("is_app_invoked"));
                         returnJson.put("isMultiConversion", dataJson.getInteger("is_multi_conversion"));
                         returnJson.put("isAdWatchTimes", dataJson.getInteger("is_ad_watch_times"));
-
+                        returnJson.put("isAppInvoked", dataJson.getInteger("is_app_invoked"));
+                        returnJson.put("isMultiConversion", dataJson.getInteger("is_multi_conversion"));
+                        returnJson.put("isAdWatchTimes", dataJson.getInteger("is_ad_watch_times"));
+                        returnJson.put("isOrderPaied", dataJson.getInteger("is_order_paied"));
 
                         JSONArray deep_conversion_types = dataJson.getJSONArray("deep_conversion_types");
                         JSONArray deepConversionTypes = new JSONArray();