Przeglądaj źródła

添加深度转化类型字段

syh 4 lat temu
rodzic
commit
7e600e33a3

+ 1 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/RuleDataPlan.java

@@ -35,6 +35,7 @@ public class RuleDataPlan {
 	private BigDecimal cost;
 	private Long convertNum;
 	private Long convertId;
+	private String deepConvertTarget;
 	private BigDecimal convertCost;
 	private BigDecimal nextDayOpenRate;
 	private BigDecimal nextDayOpenCost;

+ 28 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/ReportServiceImpl.java

@@ -205,7 +205,14 @@ public class ReportServiceImpl implements IReportService {
                 ruleDataPlan.setPricing(plan.getPricing());
                 ruleDataPlan.setCpaBid(plan.getCpaBid());
                 ruleDataPlan.setDeepCpabid(plan.getDeepCpaBid());
-                ruleDataPlan.setConvertId(plan.getConvertId());
+                Long convertId = plan.getConvertId();
+                if(null!=convertId&&convertId!=0){
+                    ruleDataPlan.setConvertId(plan.getConvertId());
+                    String deepConvertTarget = readAdConvert(token,plan.getConvertId());
+                    if(null!=deepConvertTarget){
+                        ruleDataPlan.setDeepConvertTarget(deepConvertTarget);
+                    }
+                }
                 RuleDataTarget target = new RuleDataTarget();
                 JSONObject audienceObject = JSONObject.parseObject(plan.getAudience());
                 target.setAccountId(token.getAccountId());
@@ -288,6 +295,26 @@ public class ReportServiceImpl implements IReportService {
         }
     }
 
+
+    public String readAdConvert(CtopOauthToken token,Long convertId) {
+        String url = "https://ad.oceanengine.com/open_api/2/tools/ad_convert/read/";
+        JSONObject params = new JSONObject();
+        params.put("advertiser_id", token.getAccountId());
+        params.put("convert_id", convertId);
+        JSONObject result = HttpUtils.bytedanceGetRequest(token.getAccessToken(),url,params);
+        Integer code = result.getInteger("code");
+        String message = result.getString("message");
+        if (null == code || code != 0) {
+            log.error("获取转化数据异常=》account:{};convertId:{};message:{}", token.getAccountId(), convertId,message);
+            return  null;
+        }
+        if(null!=result.getJSONObject("data")&&null!=result.getJSONObject("data").getString("deep_external_action")&&!"".equals(result.getJSONObject("data").getString("deep_external_action"))){
+            return result.getJSONObject("data").getString("deep_external_action");
+        }
+        return null;
+    }
+
+
     @Autowired
     private IByteDanceCreativeService creativeService;
     @Autowired