wangyunpeng 1 месяц назад
Родитель
Сommit
5e9aa99141

+ 19 - 2
api-module/src/main/java/com/tzld/piaoquan/api/component/AdApiService.java

@@ -110,6 +110,23 @@ public class AdApiService {
         return null;
     }
 
+    /**
+     * 根据创意ID获取素材分析信息
+     */
+    public AdPutTencentCreative getCreative(Long creativeId) {
+        try {
+            String url = adApiHost + "/put/tencent/getCreative?creativeId=" + creativeId;
+            String response = httpPoolClient.get(url);
+            JSONObject res = JSONObject.parseObject(response);
+            if (res.getInteger("code") == 0 && res.getJSONObject("data") != null) {
+                return res.getJSONObject("data").toJavaObject(AdPutTencentCreative.class);
+            }
+        } catch (Exception e) {
+            log.error("获取素材分析信息失败, creativeId={}", creativeId, e);
+        }
+        return null;
+    }
+
     /**
      * 根据创意ID获取人群包ID
      */
@@ -118,8 +135,8 @@ public class AdApiService {
             String url = adApiHost + "/put/tencent/getPackageIdByAdId?adId=" + adId;
             String response = httpPoolClient.get(url);
             JSONObject res = JSONObject.parseObject(response);
-            if (res.getInteger("code") == 0 && res.getJSONObject("data") != null) {
-                return res.getJSONObject("data").getJSONArray("packageId").toJavaList(Long.class);
+            if (res.getInteger("code") == 0 && res.get("data") != null) {
+                return res.getJSONArray("data").toJavaList(Long.class);
             }
         } catch (Exception e) {
             log.error("获取人群包信息失败, adId={}", adId, e);

+ 1 - 1
api-module/src/main/java/com/tzld/piaoquan/api/component/AigcApiService.java

@@ -349,7 +349,7 @@ public class AigcApiService {
             String url = aigcApiHost + "/publish/content/replyMsg/getCreativeIdByRootSourceIdAndGhId?ghId=" + ghId + "&rootSourceId=" + rootSourceId;
             String response = httpPoolClient.get(url);
             JSONObject res = JSONObject.parseObject(response);
-            if (res.getInteger("code") == 0 && res.getJSONObject("data") != null) {
+            if (res.getInteger("code") == 0 && res.getString("data") != null) {
                 return res.getString("data");
             }
         } catch (Exception e) {

+ 1 - 1
api-module/src/main/java/com/tzld/piaoquan/api/component/RecommendApiService.java

@@ -44,7 +44,7 @@ public class RecommendApiService {
             String url = recommendApiHost + "/article/cooperate/getArticleIdByRootSourceId?rootSourceId=" + rootSourceId;
             String response = httpPoolClient.get(url);
             JSONObject res = JSONObject.parseObject(response);
-            if (res.getInteger("code") == 0 && res.getJSONObject("data") != null) {
+            if (res.getInteger("code") == 0 && res.getString("data") != null) {
                 return res.getString("data");
             }
         } catch (Exception e) {

+ 17 - 15
api-module/src/main/java/com/tzld/piaoquan/api/job/ExternalChannelProcessJob.java

@@ -8,7 +8,6 @@ import com.tzld.piaoquan.api.component.AigcApiService;
 import com.tzld.piaoquan.api.component.RecommendApiService;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.*;
 import com.tzld.piaoquan.api.model.bo.AdPutTencentCreative;
-import com.tzld.piaoquan.api.model.bo.AdPutTencentCreativeAnalysis;
 import com.tzld.piaoquan.api.model.po.contentplatform.*;
 import com.tzld.piaoquan.api.service.CgiReplyService;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformPlanService;
@@ -88,6 +87,7 @@ public class ExternalChannelProcessJob {
     private static final String PREFIX_FWHHZDYy = "fwhhzdyy_";
     private static final String PREFIX_FWHDYY = "fwhdyy_";
     private static final String PREFIX_FWHTOULIU_TENCENTGZH = "fwhtouliu_tencentgzh";
+    private static final String PREFIX_FWHTOULIU = "fwhtouliu_";
     private static final String PREFIX_LONGARTICLES = "longArticles_";
     private static final String PREFIX_LONGARTICLES_OUTER = "longArticles_outer";
     private static final String PREFIX_LONGARTICLES_INNER = "longArticles_inner_";
@@ -250,6 +250,8 @@ public class ExternalChannelProcessJob {
         } else if (rootSourceId.startsWith(PREFIX_FWHHZDYy) || rootSourceId.startsWith(PREFIX_FWHDYY)) {
             return ChannelType.FWH_COOPERATE_DAILY;
         } else if (rootSourceId.startsWith(PREFIX_FWHTOULIU_TENCENTGZH)) {
+            return ChannelType.FWH_TOULIU_REPLY;
+        } else if (rootSourceId.startsWith(PREFIX_FWHTOULIU)) {
             // 服务号投流需要通过接口判断是daily还是reply
             return determineFwhTouliuType(rootSourceId);
         } else if (rootSourceId.startsWith(PREFIX_LONGARTICLES)) {
@@ -505,10 +507,13 @@ public class ExternalChannelProcessJob {
                 if (StringUtils.isNotBlank(creativeId)) {
                     record.setCreativeId(creativeId);
 
-                    // 获取人群包信息
-                    List<Long> packageIds = adApiService.getPackageIdByAdId(Long.valueOf(creativeId));
-                    if (packageIds != null && !packageIds.isEmpty()) {
-                        record.setPackageId(JSONObject.toJSONString(packageIds.get(0)));
+                    // 获取人群包信息:先根据creativeId获取创意信息,再用其中的adId查询人群包
+                    AdPutTencentCreative creativeInfo = adApiService.getCreative(Long.valueOf(creativeId));
+                    if (creativeInfo != null && creativeInfo.getAdId() != null) {
+                        List<Long> packageIds = adApiService.getPackageIdByAdId(creativeInfo.getAdId());
+                        if (packageIds != null && !packageIds.isEmpty()) {
+                            record.setPackageId(JSONObject.toJSONString(packageIds.get(0)));
+                        }
                     }
                 }
             }
@@ -631,16 +636,13 @@ public class ExternalChannelProcessJob {
                 if (StringUtils.isNotBlank(creativeId)) {
                     record.setCreativeId(creativeId);
 
-                    // 获取素材信息
-                    AdPutTencentCreativeAnalysis analysis = adApiService.getCreativeAnalysis(Long.valueOf(creativeId));
-                    if (analysis != null) {
-                        record.setArticleId(String.valueOf(analysis.getId()));
-                    }
-
-                    // 获取人群包信息
-                    List<Long> packageIds = adApiService.getPackageIdByAdId(Long.valueOf(creativeId));
-                    if (packageIds != null && !packageIds.isEmpty()) {
-                        record.setPackageId(JSONObject.toJSONString(packageIds.get(0)));
+                    // 获取人群包信息:先根据creativeId获取创意信息,再用其中的adId查询人群包
+                    AdPutTencentCreative creativeInfo = adApiService.getCreative(Long.valueOf(creativeId));
+                    if (creativeInfo != null && creativeInfo.getAdId() != null) {
+                        List<Long> packageIds = adApiService.getPackageIdByAdId(creativeInfo.getAdId());
+                        if (packageIds != null && !packageIds.isEmpty()) {
+                            record.setPackageId(JSONObject.toJSONString(packageIds.get(0)));
+                        }
                     }
                 }
             }

+ 1 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/bo/AdPutTencentCreative.java

@@ -12,4 +12,5 @@ public class AdPutTencentCreative {
     private Long adId;
     private Long accountId;
     private String creativeComponents;
+    private String rootSourceId;
 }