yumeng hace 2 días
padre
commit
7492c7bfd6

+ 10 - 2
src/main/java/com/adx/tencent/conversionsync/ConversionSyncService.java

@@ -600,7 +600,7 @@ public class ConversionSyncService {
             return true;
         }
         String version = bid.getMediaParams().get(BidRecord.TRACKING_VERSION_KEY);
-        return "v2".equalsIgnoreCase(version);
+        return "v2".equalsIgnoreCase(version) || "v3".equalsIgnoreCase(version);
     }
 
     private int bucketOf(CallbackTask task) {
@@ -634,7 +634,7 @@ public class ConversionSyncService {
         record.setAttempt(1);
         record.setErrorMessage("deducted_by_new_link_rate");
         record.setDispatchStatus(MediaCallbackRecord.DISPATCH_STATUS_DEDUCTED);
-        record.setTrackingVersion(isNewTrackingLink(task.tencentBid) ? "v2" : "v1");
+        record.setTrackingVersion(resolveTrackingVersion(task.tencentBid));
         record.setCreatedAt(now);
         int deductionRate = resolveDeductionRate(task.tencentBid);
         log.info("[ConversionSync] 腾讯转化扣量 | qk={} | act={} | rate={} | tagId={} | bucket={} | callbackKey={}",
@@ -651,6 +651,14 @@ public class ConversionSyncService {
         return Math.max(count, 0);
     }
 
+    private static String resolveTrackingVersion(BidRecord bid) {
+        if (bid == null || bid.getMediaParams() == null) {
+            return "v1";
+        }
+        String version = bid.getMediaParams().get(BidRecord.TRACKING_VERSION_KEY);
+        return (version == null || version.isBlank()) ? "v1" : version;
+    }
+
     private int resolveDeductionRate(BidRecord bid) {
         if (bid == null || bid.getMediaParams() == null) {
             return 0;