yumeng hace 5 años
padre
commit
aab17b05b6

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java

@@ -133,6 +133,7 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/system/userCompany/**", "anon");
         filterChainDefinitionMap.put("/qywexin", "anon");
         filterChainDefinitionMap.put("/test/getGroupData/**", "anon");
+        filterChainDefinitionMap.put("/test/getVideoAndImage/**", "anon");
 
 		filterChainDefinitionMap.put("/report/kuaishouReportDailyAgent/get","anon");
 

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

@@ -96,4 +96,18 @@ public class TestController {
         }
         return "Success";
     }
+
+
+    @GetMapping(value = "/getVideoAndImage")
+    public String getVideoAndImage() {
+        QueryWrapper<CtopOauthToken> tokenQueryWrapper = new QueryWrapper<>();
+        tokenQueryWrapper.eq("media_id", 2);
+        List<CtopOauthToken> ctopOauthTokens = tokenMapper.selectList(tokenQueryWrapper);
+        for (CtopOauthToken token : ctopOauthTokens) {
+            kuaishouInterfaceService.getVideoList(token, null, null);
+            kuaishouInterfaceService.getImageList(token, null, null);
+        }
+        return "Success";
+    }
+
 }

+ 42 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/TargetingTagsJob.java

@@ -0,0 +1,42 @@
+package org.jeecg.modules.ctop.job;
+
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.mapper.CtopOauthTokenMapper;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+public class TargetingTagsJob implements Job {
+    @Autowired
+    private IKuaishouInterfaceService iKuaishouInterfaceService;
+    @Autowired
+    private CtopOauthTokenMapper oauthTokenMapper;
+
+    /**
+     * 定时更新 快手 标签
+     *
+     * @param jobExecutionContext
+     * @throws JobExecutionException
+     */
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) {
+        Thread thread = new Thread() {
+            @Override
+            public void run() {
+                QueryWrapper<CtopOauthToken> tokenQueryWrapper = new QueryWrapper<>();
+                tokenQueryWrapper.eq("media_id", 2);
+                tokenQueryWrapper.orderByDesc("create_time");
+                tokenQueryWrapper.last("limit 1");
+                CtopOauthToken token = oauthTokenMapper.selectOne(tokenQueryWrapper);
+                iKuaishouInterfaceService.getTargetingTags(token.getAccountId(), token.getAccessToken());
+                iKuaishouInterfaceService.areaList(token.getAccessToken());
+            }
+        };
+        thread.start();
+
+    }
+}

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

@@ -146,7 +146,7 @@ public class SampleTest {
     @Test
     public void testMail() throws Exception {
         // String accessToken, Long advertiserId, Date startDate, Date endDate, Integer page
-        kuaishouInterfaceService.getGroupList("adf659b9b43e8952f9a3f0c5269505ca", 35675L, null, null, 1);
+        kuaishouInterfaceService.getTargetingTags(23212L, "101a5c994d0a87322f305a306a30e38e");
     }
 
 

+ 3 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/BatchController.java

@@ -908,12 +908,13 @@ public class BatchController {
     @PostMapping(value = "/createCreative")
     public Result<JSONObject> createCreative(@RequestBody JSONObject requestJson) {
         Result<JSONObject> result = new Result<>();
-
-
         try {
             JSONObject creativeJson = batchService.createCreative(requestJson);
+            result.setResult(creativeJson);
+            result.setSuccess(true);
         } catch (Exception e) {
             e.printStackTrace();
+            result.setSuccess(false);
         }
 
 

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

@@ -138,6 +138,8 @@ public interface IKuaishouInterfaceService {
      */
     Map<String, Object> creativeCreate(String accessToken, Long advertiserId, JSONObject requestJson);
 
+    void getCreativeByCreativeId(String accessToken, Long advertiserId, Date startDate, Date endDate, Integer page, Long creativeId);
+
     /**
      * 文件上传
      *

+ 12 - 16
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/AccountWarningServiceImpl.java

@@ -37,12 +37,10 @@ public class AccountWarningServiceImpl implements IAccountWarningService {
     public void accountWarning(Long accountId, String statDate, String anotherDay) {
         try {
 
-
             Integer maxHour = hourlyAccountMapper.selectMaxHour(accountId, statDate);
             if (Check.isNull(maxHour)) {
                 return;
             }
-
             QueryWrapper<UserAllocation> userAllocationQueryWrapper = new QueryWrapper<>();
             userAllocationQueryWrapper.eq("account_id", accountId);
             userAllocationQueryWrapper.eq("media_id", 2);
@@ -51,7 +49,6 @@ public class AccountWarningServiceImpl implements IAccountWarningService {
             UserAllocation userAllocation = userAllocationMapper.selectOne(userAllocationQueryWrapper);
             if (Check.isNull(userAllocation)) {
                 return;
-
             }
             BigDecimal warningAmount = userAllocation.getWarningAmount();
             BigDecimal warningProportion = userAllocation.getWarningProportion();
@@ -64,26 +61,22 @@ public class AccountWarningServiceImpl implements IAccountWarningService {
                             BigDecimal subtract = nowCost.subtract(lastHourCost);
                             BigDecimal divide = nowCost.divide(lastHourCost, 2, RoundingMode.HALF_UP);
                             if (subtract.compareTo(warningAmount) > -1 && divide.compareTo(warningProportion) > -1) {
-                                sendMessage(accountId, userAllocation.getAuthName(), maxHour, nowCost, userAllocation.getProjectId());
+                                sendMessage(accountId, userAllocation.getAuthName(), maxHour, nowCost, userAllocation.getProjectId(), userAllocation.getProjectName());
                             }
                         }
-
                     }
-
                 }
             }
 
-
             if (!Check.isNull(nowCost) && nowCost.compareTo(new BigDecimal(0)) != 0) {
                 BigDecimal yesterdayHourCost = hourlyAccountMapper.getCost(accountId, maxHour, anotherDay);
                 if (!Check.isNull(yesterdayHourCost) && yesterdayHourCost.compareTo(new BigDecimal(0)) != 0) {
                     BigDecimal subtract = nowCost.subtract(yesterdayHourCost);
                     BigDecimal divide = nowCost.divide(yesterdayHourCost, 2, RoundingMode.HALF_UP);
                     if (subtract.compareTo(warningAmount) > -1 && divide.compareTo(warningProportion) > -1) {
-                        sendYesterdayMessage(accountId, userAllocation.getAuthName(), maxHour, nowCost, userAllocation.getProjectId());
+                        sendYesterdayMessage(accountId, userAllocation.getAuthName(), maxHour, nowCost, userAllocation.getProjectId(), userAllocation.getProjectName());
                     }
                 }
-
             }
 
         } catch (Exception e) {
@@ -92,11 +85,13 @@ public class AccountWarningServiceImpl implements IAccountWarningService {
 
     }
 
-    private void sendYesterdayMessage(Long accountId, String authName, Integer maxHour, BigDecimal nowCost, Long projectId) {
+    private void sendYesterdayMessage(Long accountId, String authName, Integer maxHour, BigDecimal nowCost, Long projectId, String projectName) {
 
         StringBuilder text = new StringBuilder();
-        text.append("较昨日同时段消耗预警").append("<br/>").append("您的账号:").append(accountId + ",").append("<br/>")
-                .append("授权名称为:" + authName + "相较于昨日").append(maxHour + "时").append("<br/>")
+        text.append("较昨日同时段消耗预警").append("<br/>")
+                .append("您的项目:" + projectName + "下的,").append("<br/>")
+                .append("账号:").append(accountId + ",").append("授权名称为:" + authName).append("<br/>")
+                .append("相较于昨日 " + maxHour + "时").append("<br/>")
                 .append("出现消耗暴涨,").append("消耗金额为:" + nowCost).append("<br/>")
                 .append("请您及时查看!");
 
@@ -132,15 +127,16 @@ public class AccountWarningServiceImpl implements IAccountWarningService {
     }
 
 
-    private void sendMessage(Long accountId, String authName, Integer hour, BigDecimal amount, Long projectId) {
+    private void sendMessage(Long accountId, String authName, Integer hour, BigDecimal amount, Long projectId, String projectName) {
 
         StringBuilder text = new StringBuilder();
-        text.append("较上时段消耗预警").append("<br/>").append("您的账号:").append(accountId + ",").append("<br/>")
-                .append("授权名称为:" + authName + ",").append(hour + " 时").append("相较于 " + (hour - 1) + " 时").append("<br/>")
+        text.append("较上时段消耗预警").append("<br/>")
+                .append("您的项目:" + projectName + " 下的").append("<br/>")
+                .append("账号:").append(accountId + ",").append("授权名称为:" + authName).append("<br/>")
+                .append(hour + " 时").append("相较于 " + (hour - 1) + " 时").append("<br/>")
                 .append("出现消耗暴涨,").append("消耗金额为:" + amount).append("<br/>")
                 .append("请您及时查看!");
 
-
         QueryWrapper<MailLog> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("account_id", accountId);
         queryWrapper.eq("hour", hour);

+ 56 - 23
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/BatchServiceImpl.java

@@ -328,8 +328,9 @@ public class BatchServiceImpl implements IBatchService {
                     unitJson.put("bid", groupJson.getLong("bid"));
                 }
                 // 出价类型
-                if (!Check.isNull(groupJson.getInteger("bid_type"))) {
-                    unitJson.put("bid_type", groupJson.getInteger("bid_type"));
+                Integer bidType = groupJson.getInteger("bid_type");
+                if (!Check.isNull(bidType)) {
+                    unitJson.put("bid_type", bidType);
                 }
                 // 深度转化出价
                 if (!Check.isNull(groupJson.getLong("cpa_bid"))) {
@@ -360,6 +361,7 @@ public class BatchServiceImpl implements IBatchService {
                         successJson.put("unit_id", returnUnitMap.get("unitId"));
                         successJson.put("unit_name", unitName);
                         successJson.put("scene_id", scene_id);
+                        successJson.put("bid_type", bidType);
                         successArr.add(successJson);
                     } else {
                         JSONObject failJson = new JSONObject();
@@ -409,6 +411,7 @@ public class BatchServiceImpl implements IBatchService {
      */
     @Override
     public JSONObject createCreative(JSONObject requestJson) throws Exception {
+        System.err.println(requestJson);
 
         if (Check.isNull(requestJson)) {
             throw new Exception("入参为空");
@@ -420,6 +423,11 @@ public class BatchServiceImpl implements IBatchService {
             throw new Exception("请输入需创建账号");
         }
 
+        CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
+        if (Check.isNull(oauthToken)) {
+            throw new Exception("未获取到账户信息");
+        }
+
         Long unitId = requestJson.getLong("unitId");
         if (Check.isNull(unitId)) {
             throw new Exception("请选择广告组");
@@ -433,40 +441,65 @@ public class BatchServiceImpl implements IBatchService {
 
         creativeJson.put("unit_id", unitId);
 
-
-        // 视频id
-        if (!Check.isNull(requestJson.get("photo_id"))) {
-            creativeJson.put("photo_id", requestJson.get("photo_id"));
-        }
-
         // 素材类型
         if (!Check.isNull(requestJson.get("creative_material_type"))) {
             creativeJson.put("creative_material_type", requestJson.get("creative_material_type"));
         }
 
-
         String action_bar_text = requestJson.getString("action_bar_text");
-        String description = requestJson.getString("description");
-        String click_track_url = requestJson.getString("click_track_url");
-
-
-        JSONArray imageTokens = requestJson.getJSONArray("image_tokens");
-        if (!Check.isNull(imageTokens)) {
-            for (int i = 0; i < imageTokens.size(); i++) {
-                JSONObject imageJson = imageTokens.getJSONObject(i);
-                if (!Check.isNull(imageJson)) {
-                    String image = imageJson.getString("image");
+        // 视频id
 
+        String click_track_url = requestJson.getString("click_track_url");
+        JSONObject returnJson = new JSONObject();
+        JSONArray successArr = new JSONArray();
+        JSONArray failArr = new JSONArray();
+        JSONArray dataJsons = requestJson.getJSONArray("dataJson");
+        if (!Check.isNull(dataJsons)) {
+            for (int i = 0; i < dataJsons.size(); i++) {
+                JSONObject dataJson = dataJsons.getJSONObject(i);
+                if (!Check.isNull(dataJsons)) {
+                    String description = dataJson.getString("description");
+                    String photo_id = dataJson.getString("photo_id");
+                    JSONArray imageTokens = dataJson.getJSONArray("image_tokens");
+                    if (!Check.isNull(imageTokens)) {
+                        for (int j = 0; j < imageTokens.size(); j++) {
+                            JSONObject imageJson = imageTokens.getJSONObject(j);
+                            if (!Check.isNull(imageJson)) {
+                                String image = imageJson.getString("image");
+                                String name = imageJson.getString("name");
+                                creativeJson.put("action_bar_text", action_bar_text);
+                                creativeJson.put("description", description);
+                                creativeJson.put("image_token", image);
+                                creativeJson.put("creative_name", name);
+                                creativeJson.put("photo_id", photo_id);
+                                creativeJson.put("click_track_url", click_track_url);
+
+                                Map<String, Object> returnUnitMap = kuaishouInterfaceService.creativeCreate(oauthToken.getAccessToken(), accountId, creativeJson);
+                                if (!Check.isNullMap(returnUnitMap)) {
+                                    Integer code = (Integer) returnUnitMap.get("code");
+                                    if (code == 0) {
+                                        JSONObject successJson = new JSONObject();
+                                        successJson.put("creative_name", name);
+
+                                        successArr.add(successJson);
+                                    } else {
+                                        JSONObject failJson = new JSONObject();
+                                        failJson.put("creative_name", name);
+                                        failJson.put("failMessage", returnUnitMap.get("message"));
+                                        failArr.add(failJson);
+                                    }
+                                }
+                            }
+                        }
+                    }
                 }
 
             }
 
         }
 
-
-        JSONObject returnJson = new JSONObject();
-
-
+        returnJson.put("success", successArr);
+        returnJson.put("fail", failArr);
         return returnJson;
     }
 

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

@@ -1013,7 +1013,6 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
             String result = HttpUtils.kuaiShouhttpPostRequest(url, requestJson.toJSONString(), headers);
             JSONObject resultJson = JSONObject.parseObject(result);
             if (!Check.isNull(resultJson)) {
-                System.err.println(requestJson);
                 Integer code = resultJson.getInteger("code");
                 if (code == 0) {
                     JSONObject dataJson = resultJson.getJSONObject("data");
@@ -1026,13 +1025,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                     Thread thread = new Thread() {
                         @Override
                         public void run() {
-                            try {
-                                Thread.sleep(1 * 1000);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
-                            }
                             getCampaign(accessToken, advertiserId, campaignId);
-
                         }
 
                     };
@@ -1090,7 +1083,17 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                     JSONObject dataJson = resultJson.getJSONObject("data");
                     if (!Check.isNull(dataJson)) {
                         Long unitId = dataJson.getLong("unit_id");
-                        getGroup(accessToken, advertiserId, unitId);
+
+                        Thread thread = new Thread() {
+                            @Override
+                            public void run() {
+                                getGroup(accessToken, advertiserId, unitId);
+                            }
+
+                        };
+                        thread.start();
+
+
                         returnMap.put("code", 0);
                         returnMap.put("message", "success");
                         returnMap.put("unitId", unitId);
@@ -1804,22 +1807,41 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                                     KuaiShouCreative creative = new KuaiShouCreative();
                                     creative.setId("" + advertiserId + detailJson.getLong("creative_id"));
                                     creative.setAccountId(advertiserId);
-                                    creative.setStatus(detailJson.getInteger("status"));
                                     creative.setCampaignId(detailJson.getLong("campaign_id"));
                                     creative.setUnitId(detailJson.getLong("unit_id"));
                                     creative.setCreativeId(detailJson.getLong("creative_id"));
                                     creative.setCreativeName(detailJson.getString("creative_name"));
+                                    creative.setCreativeMaterialType(detailJson.getInteger("creative_material_type"));
                                     creative.setPhotoId(detailJson.getString("photo_id"));
+                                    if (!Check.isNull(detailJson.getJSONArray("material_url"))) {
+                                        creative.setMaterialUrl(detailJson.getJSONArray("material_url").toJSONString());
+                                    }
+
+                                    if (!Check.isNull(detailJson.getJSONArray("image_tokens"))) {
+                                        creative.setImageTokens(detailJson.getJSONArray("image_tokens").toJSONString());
+                                    }
+                                    creative.setStatus(detailJson.getInteger("status"));
+                                    creative.setPutStatus(detailJson.getInteger("put_status"));
+                                    creative.setCreateChannel(detailJson.getInteger("create_channel"));
                                     creative.setReviewDetail(detailJson.getString("review_detail"));
                                     creative.setCoverUrl(detailJson.getString("cover_url"));
-                                    creative.setCoverHeight(detailJson.getString("cover_height"));
+                                    creative.setImageToken(detailJson.getString("image_token"));
                                     creative.setCoverWidth(detailJson.getString("cover_width"));
+                                    creative.setCoverHeight(detailJson.getString("cover_height"));
+                                    creative.setOverlayBgUrl(detailJson.getString("overlay_bg_url"));
+                                    creative.setOverlayBgImageToken(detailJson.getString("overlay_bg_image_token"));
+                                    creative.setStickerTitle(detailJson.getString("sticker_title"));
+                                    creative.setOverlayType(detailJson.getString("overlay_type"));
                                     creative.setClickTrackUrl(detailJson.getString("click_track_url"));
+                                    creative.setImpressionUrl(detailJson.getString("impression_url"));
+                                    creative.setAdPhotoPlayedT3sUrl(detailJson.getString("ad_photo_played_t3s_url"));
                                     JSONObject displayInfoJson = detailJson.getJSONObject("display_info");
                                     if (!Check.isNull(displayInfoJson)) {
                                         creative.setDescription(displayInfoJson.getString("description"));
                                         creative.setActionBarText(displayInfoJson.getString("action_bar_text"));
                                     }
+                                    creative.setCreateTime(new Date());
+                                    creative.setUpdateTime(new Date());
                                     creativeService.saveOrUpdate(creative);
                                 }
 
@@ -1839,6 +1861,99 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
         }
     }
 
+
+    /**
+     * 获取 创意信息
+     *
+     * @param accessToken
+     * @param advertiserId
+     */
+    @Override
+    public void getCreativeByCreativeId(String accessToken, Long advertiserId, Date startDate, Date endDate, Integer page, Long creativeId) {
+        String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.CREATIVE_LIST;
+        Map<String, String> headers = new HashMap<String, String>();
+        headers.put("Content-Type", " application/json");
+        headers.put("Access-Token", accessToken);
+        JSONObject param = new JSONObject();
+        param.put("advertiser_id", advertiserId);
+        param.put("creative_id", creativeId);
+        if (startDate != null && endDate != null) {
+            param.put("start_date", DateUtils.formatDate(startDate));
+            param.put("end_date", DateUtils.formatDate(endDate));
+        }
+        param.put("page_size", 200);
+        param.put("page", page);
+        try {
+            String result = HttpUtils.kuaiShouhttpPostRequest(url, param.toJSONString(), headers);
+            JSONObject resultJson = JSONObject.parseObject(result);
+            if (!Check.isNull(resultJson)) {
+                Integer code = resultJson.getInteger("code");
+                if (code == 0) {
+                    JSONObject dataJson = resultJson.getJSONObject("data");
+                    if (!Check.isNull(dataJson)) {
+                        JSONArray details = dataJson.getJSONArray("details");
+                        if (!Check.isNull(details)) {
+                            for (int i = 0; i < details.size(); i++) {
+                                JSONObject detailJson = JSONObject.parseObject(details.get(i).toString());
+                                if (!Check.isNull(detailJson)) {
+                                    KuaiShouCreative creative = new KuaiShouCreative();
+                                    creative.setId("" + advertiserId + detailJson.getLong("creative_id"));
+                                    creative.setAccountId(advertiserId);
+                                    creative.setCampaignId(detailJson.getLong("campaign_id"));
+                                    creative.setUnitId(detailJson.getLong("unit_id"));
+                                    creative.setCreativeId(detailJson.getLong("creative_id"));
+                                    creative.setCreativeName(detailJson.getString("creative_name"));
+                                    creative.setCreativeMaterialType(detailJson.getInteger("creative_material_type"));
+                                    creative.setPhotoId(detailJson.getString("photo_id"));
+                                    if (!Check.isNull(detailJson.getJSONArray("material_url"))) {
+                                        creative.setMaterialUrl(detailJson.getJSONArray("material_url").toJSONString());
+                                    }
+
+                                    if (!Check.isNull(detailJson.getJSONArray("image_tokens"))) {
+                                        creative.setImageTokens(detailJson.getJSONArray("image_tokens").toJSONString());
+                                    }
+                                    creative.setStatus(detailJson.getInteger("status"));
+                                    creative.setPutStatus(detailJson.getInteger("put_status"));
+                                    creative.setCreateChannel(detailJson.getInteger("create_channel"));
+                                    creative.setReviewDetail(detailJson.getString("review_detail"));
+                                    creative.setCoverUrl(detailJson.getString("cover_url"));
+                                    creative.setImageToken(detailJson.getString("image_token"));
+                                    creative.setCoverWidth(detailJson.getString("cover_width"));
+                                    creative.setCoverHeight(detailJson.getString("cover_height"));
+                                    creative.setOverlayBgUrl(detailJson.getString("overlay_bg_url"));
+                                    creative.setOverlayBgImageToken(detailJson.getString("overlay_bg_image_token"));
+                                    creative.setStickerTitle(detailJson.getString("sticker_title"));
+                                    creative.setOverlayType(detailJson.getString("overlay_type"));
+                                    creative.setClickTrackUrl(detailJson.getString("click_track_url"));
+                                    creative.setImpressionUrl(detailJson.getString("impression_url"));
+                                    creative.setAdPhotoPlayedT3sUrl(detailJson.getString("ad_photo_played_t3s_url"));
+                                    JSONObject displayInfoJson = detailJson.getJSONObject("display_info");
+                                    if (!Check.isNull(displayInfoJson)) {
+                                        creative.setDescription(displayInfoJson.getString("description"));
+                                        creative.setActionBarText(displayInfoJson.getString("action_bar_text"));
+                                    }
+                                    creative.setCreateTime(new Date());
+                                    creative.setUpdateTime(new Date());
+                                    creativeService.saveOrUpdate(creative);
+                                }
+
+                            }
+
+                        }
+                    }
+                } else {
+                    log.error("获取广告创意组返回结果异常,advertiserId:{},异常信息:{}", advertiserId, resultJson);
+                }
+
+            } else {
+                log.error("获取广告创意返回结果异常,advertiserId:{},异常信息:{}", advertiserId, resultJson);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
     /**
      * 获取token
      *
@@ -2005,23 +2120,20 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                 if (code == 0) {
                     JSONObject dataJson = resultJson.getJSONObject("data");
                     if (!Check.isNull(dataJson)) {
-                        KuaiShouCreativeCreate creativeCreate = new KuaiShouCreativeCreate();
-                        creativeCreate.setCreativeId(dataJson.getLong("creative_id"));
-                        creativeCreate.setAccountId(advertiserId);
-                        creativeCreate.setUnitId(requestJson.getLong("unit_id"));
-                        creativeCreate.setCreativeName(requestJson.getString("creative_name"));
-                        creativeCreate.setPhotoId(requestJson.getString("photo_id"));
-                        creativeCreate.setImageToken(requestJson.getString("image_token"));
-                        creativeCreate.setActionBarText(requestJson.getString("action_bar_text"));
-                        creativeCreate.setDescription(requestJson.getString("description"));
-                        creativeCreate.setClickTrackUrl(requestJson.getString("click_track_url"));
-                        int i = creativeCreateMapper.insert(creativeCreate);
-                        if (i > 0) {
-                            log.info("创建广告创意入库完成,advertiser_id:{}", advertiserId);
-                        }
+                        Long creativeId = dataJson.getLong("creative_id");
+                        Thread thread = new Thread() {
+                            @Override
+                            public void run() {
+                                getCreativeByCreativeId(accessToken, advertiserId, null, null, 1, creativeId);
+                            }
+
+                        };
+                        thread.start();
                         returnMap.put("code", 0);
                         returnMap.put("message", "success");
                         returnMap.put("success", true);
+
+
                     }
                 } else {
                     log.error("创建广告创意失败,advertiser_id:{},返回信息:{},入参:{}", advertiserId, resultJson, requestJson);

+ 16 - 2
module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/AccountReportMapper.xml

@@ -423,7 +423,14 @@
         ELSE
         0
         END
-        ) discountConversionPrice
+        ) discountConversionPrice,
+        sum(event_register) eventRegister, -- 注册数
+        (case
+        when sum(event_register) != 0
+        then (sum(charge) / sum(event_register))
+        else 0
+        end
+        ) eventRegisterCost, -- 注册成本
 
         from
         ctop_kuaishou_report_daily_account
@@ -517,7 +524,14 @@
         ELSE
         0
         END
-        ) discountConversionPrice
+        ) discountConversionPrice,
+        sum(event_register) eventRegister, -- 注册数
+        (case
+        when sum(event_register) != 0
+        then (sum(charge) / sum(event_register))
+        else 0
+        end
+        ) eventRegisterCost -- 注册成本
 
         from
         ctop_kuaishou_report_hourly_account