Ver código fonte

Refactor: Normalize ad profession name in RankStrategyBasic and subclasses

jiandong.liu 3 semanas atrás
pai
commit
4dddc948a0

+ 1 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/FeaturePrinterStrategy.java

@@ -18,6 +18,7 @@ import java.util.Set;
 public class FeaturePrinterStrategy extends RankStrategyBasic {
     @Override
     public List<AdRankItem> adItemRank(RankRecommendRequestParam request, ScoreParam scoreParam) {
+        normalizeAdProfessionName(request);
         Set<String> noApiAdVerIds = getNoApiAdVerIds();
         long ts = System.currentTimeMillis() / 1000;
 

+ 15 - 16
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyBasic.java

@@ -358,12 +358,7 @@ public abstract class RankStrategyBasic implements RankStrategy {
     }
 
     protected void filterRequestAdList(RankRecommendRequestParam request, ScoreParam scoreParam) {
-        // adProfessionName 覆盖 profession(上游逐步废弃 profession,统一用 adProfessionName)
-        for (AdPlatformCreativeDTO dto : request.getAdIdList()) {
-            if (StringUtils.isNotBlank(dto.getAdProfessionName())) {
-                dto.setProfession(dto.getAdProfessionName());
-            }
-        }
+        normalizeAdProfessionName(request);
         Map<String, String> userLayer = this.getUserLayer(request.getMid());
         String layer;
         String clazz;
@@ -437,6 +432,18 @@ public abstract class RankStrategyBasic implements RankStrategy {
         }
     }
 
+    protected void normalizeAdProfessionName(RankRecommendRequestParam request) {
+        if (request == null || CollectionUtils.isEmpty(request.getAdIdList())) {
+            return;
+        }
+        // adProfessionName 覆盖 profession(上游逐步废弃 profession,统一用 adProfessionName)
+        for (AdPlatformCreativeDTO dto : request.getAdIdList()) {
+            if (StringUtils.isNotBlank(dto.getAdProfessionName())) {
+                dto.setProfession(dto.getAdProfessionName());
+            }
+        }
+    }
+
 
     protected boolean getIsGuaranteedFlow(ScoreParam scoreParam) {
         // 817实验不要保量
@@ -927,15 +934,7 @@ public abstract class RankStrategyBasic implements RankStrategy {
         adRankItem.setAdSkuId(dto.getAdSkuId());
         adRankItem.setAdCategoryName(dto.getAdCategoryName());
         adRankItem.setAdCategoryId(dto.getAdCategoryId() != null ? String.valueOf(dto.getAdCategoryId()) : null);
-        if (StringUtils.isNotBlank(dto.getAdSkuCode())) {
-            try {
-                Long adSkuCode = Long.valueOf(dto.getAdSkuCode());
-                if (dto.getAdSkuCode().equals(String.valueOf(adSkuCode))) {
-                    adRankItem.setAdSkuCode(adSkuCode);
-                }
-            } catch (NumberFormatException ignored) {
-            }
-        }
+        adRankItem.setAdSkuCode(dto.getAdSkuCode());
         adRankItem.setAdSkuName(dto.getAdSkuName());
         adRankItem.getExt().put("categoryName", StringUtils.defaultString(dto.getCategoryName()));
         adRankItem.getExt().put("adCategoryName", StringUtils.defaultString(dto.getAdCategoryName()));
@@ -1214,4 +1213,4 @@ public abstract class RankStrategyBasic implements RankStrategy {
             return false;
         }
     }
-}
+}

+ 1 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyByWeight.java

@@ -22,6 +22,7 @@ public class RankStrategyByWeight extends RankStrategyBasic {
 
     @Override
     public List<AdRankItem> adItemRank(RankRecommendRequestParam request, ScoreParam scoreParam) {
+        normalizeAdProfessionName(request);
         Set<String> noApiAdVerIds = getNoApiAdVerIds();
 
         List<AdPlatformCreativeDTO> creativeDTOS = request.getAdIdList();