yumeng 3 tygodni temu
rodzic
commit
437a7bafde

+ 21 - 3
src/main/java/com/adx/tencent/conversionsync/ConversionSyncService.java

@@ -463,9 +463,14 @@ public class ConversionSyncService {
                 ? honorTagEventResolver.resolveConversionId(bid.getTagId(), payment.getAct())
                 : resolveHonorConversionIdFromDb(bid.getTagId(), payment.getAct());
         if (conversionId == null) {
-            log.warn("[ConversionSync] 荣耀 conversionId 未配置 | qk={} | tagId={} | act={}",
-                    payment.getQk(), bid.getTagId(), payment.getAct());
-            return null;
+            conversionId = fallbackHonorConversionId(payment.getAct());
+            if (conversionId == null) {
+                log.warn("[ConversionSync] 荣耀 conversionId 未配置且无兜底映射 | qk={} | tagId={} | act={}",
+                        payment.getQk(), bid.getTagId(), payment.getAct());
+                return null;
+            }
+            log.warn("[ConversionSync] 荣耀 conversionId 未配置, 启用兜底映射 | qk={} | tagId={} | act={} | conversionId={}",
+                    payment.getQk(), bid.getTagId(), payment.getAct(), conversionId);
         }
 
         return CallbackTask.honor(
@@ -476,6 +481,19 @@ public class ConversionSyncService {
         );
     }
 
+    private static Integer fallbackHonorConversionId(int baiduAct) {
+        return switch (baiduAct) {
+            case 1 -> 10001;      // 激活
+            case 2, 5 -> 10004;   // 付费
+            case 3 -> 10002;      // 注册
+            case 4 -> 10003;      // 次留
+            case 6, 2001 -> 10022;// 拉活
+            case 8 -> 10014;      // 7日留存
+            case 9 -> 10013;      // 3日留存
+            default -> null;
+        };
+    }
+
     private List<CallbackTask> buildKuaishouCallbackTasks(PaymentInfo payment, KuaishouBidRecord bid) {
         if (kuaishouColdStore == null && kuaishouTagEventResolver == null) {
             return List.of();