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