Browse Source

切换人群

xueyiming 5 days ago
parent
commit
b2c9d38076

+ 6 - 6
ad-engine-server/src/main/java/com/tzld/piaoquan/ad/engine/server/controller/AdRecommendController.java

@@ -2,6 +2,7 @@ package com.tzld.piaoquan.ad.engine.server.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
 import com.tzld.piaoquan.ad.engine.commons.dto.AdPlatformCreativeDTO;
 import com.tzld.piaoquan.ad.engine.commons.enums.GuaranteedTypeEnum;
@@ -142,16 +143,15 @@ public class AdRecommendController {
         String value = algRedisHelper.get(key);
         if (StringUtils.isEmpty(value)) {
             result.put("layer", "无曝光");
+            result.put("layer_l4", "无曝光");
             return map;
         }
         try {
-            Map<String, String> layerMap = JSON.parseObject(value, new TypeReference<Map<String, String>>() {
-            });
-            String layer = layerMap.getOrDefault("layer", "无曝光");
-            if (Objects.equals(layer, "已转化")) {
-                layer = "有转化";
+            JSONObject jsonObject = JSONObject.parseObject(value);
+            result.put("layer", jsonObject.getString("layer"));
+            if (jsonObject.containsKey("basic_l4")) {
+                result.put("layer_l4", jsonObject.getJSONObject("basic_l4").getString("level"));
             }
-            result.put("layer", layer);
             return map;
         } catch (Exception e) {
             log.error("getMidWithLayer error. mid: {}, \n", request.getMid(), e);

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

@@ -217,26 +217,19 @@ public abstract class RankStrategyBasic implements RankStrategy {
                 map.put("root_source_channel", rootSourceChannel);
             }
         }
-        if (!checkoutLayer) {
-            Map<String, String> userLayer = getUserLayer(request.getMid());
-            String layer = userLayer.getOrDefault("layer", "无曝光");
-            String clazz = userLayer.getOrDefault("class", "近期未出现");
-            if (request.getIsFilterUser()) {
-                layer = layer + "-炸";
-            }
-            String userLayerClass = layer + "-" + clazz;
-            map.put("user_layer_class", userLayerClass);
-            map.put("layer", layer);
-            map.put("clazz", clazz);
-        } else {
-            Map<String, String> userLayer = getUserLayer(request.getMid());
-            String layer = userLayer.getOrDefault("layer_l4", "无曝光");
-            String clazz = userLayer.getOrDefault("class_l4", "近期未出现");
-            String userLayerClass = layer + "-" + clazz;
-            map.put("user_layer_class", userLayerClass);
-            map.put("layer", layer);
-            map.put("clazz", clazz);
-        }
+
+        Map<String, String> userLayer = getUserLayer(request.getMid());
+        String layer = userLayer.getOrDefault("layer", "无曝光");
+        String clazz = userLayer.getOrDefault("class", "近期未出现");
+        if (request.getIsFilterUser()) {
+            layer = layer + "-炸";
+        }
+        map.put("layer", layer);
+        map.put("clazz", clazz);
+        String layerL4 = userLayer.getOrDefault("layer_l4", "无曝光");
+        String clazzL4 = userLayer.getOrDefault("class_l4", "近期未出现");
+        map.put("layer_l4", layerL4);
+        map.put("clazz_l4", clazzL4);
         return map;
     }
 
@@ -702,8 +695,8 @@ public abstract class RankStrategyBasic implements RankStrategy {
             // 构建Key模板
             layerKeyTemplate = userLayerDataV2Key
                     .replace("{model}", modelName)
-                    .replace("{layer}", reqFeature.get("layer"))
-                    .replace("{class}", reqFeature.get("clazz"))
+                    .replace("{layer}", reqFeature.get("layer_l4"))
+                    .replace("{class}", reqFeature.get("clazz_l4"))
                     .replace("{type}", "profession");
         }
         List<String> professions = items.stream().map(AdRankItem::getProfession).filter(StringUtils::isNotEmpty).distinct().collect(Collectors.toList());
@@ -890,8 +883,8 @@ public abstract class RankStrategyBasic implements RankStrategy {
             // 构建Key模板
             layerKeyTemplate = realLayerCtcvrV2Key
                     .replace("{model}", modelName)
-                    .replace("{layer}", reqFeature.get("layer"))
-                    .replace("{class}", reqFeature.get("clazz"));
+                    .replace("{layer}", reqFeature.get("layer_l4"))
+                    .replace("{class}", reqFeature.get("clazz_l4"));
         }
         String value = adRedisHelper.get(layerKeyTemplate);
         JSONObject json = JSONObject.parseObject(value);