Browse Source

homepage recommend

丁云鹏 1 year ago
parent
commit
3cbb52e0ba

+ 11 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/RecommendService.java

@@ -59,6 +59,8 @@ public class RecommendService {
 
     @ApolloJsonValue("${flow.pool.ids:[7, 8, 9, 10, 11, 12, 13, 14, 15, 16]}")
     private List<Integer> flowPoolIds;
+    @ApolloJsonValue("${city_code:[]}")
+    private Set<String> cityCodes;
 
     @Autowired
     private FlowPoolConfigService flowPoolConfigService;
@@ -300,8 +302,15 @@ public class RecommendService {
         recallParam.setAbCode(param.getAbCode());
         recallParam.setVideoId(param.getVideoId());
         recallParam.setFlowPoolAbtestGroup(param.getFlowPoolAbtestGroup());
-        recallParam.setProvinceCode(param.getProvinceCode());
-        recallParam.setCityCode(param.getCityCode());
+
+        String provinceCode = StringUtils.isNotBlank(param.getProvinceCode())
+                ? param.getProvinceCode()
+                : "";
+        String cityCode = StringUtils.isNotBlank(param.getCityCode())
+                ? param.getCityCode()
+                : "";
+        recallParam.setRegionCode(cityCodes.contains(cityCode) ? cityCode : provinceCode);
+        
         recallParam.setRuleKey(param.getRuleKey());
         recallParam.setDataKey(param.getDataKey());
         recallParam.setMid(param.getMid());

+ 1 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/RecallParam.java

@@ -7,8 +7,7 @@ import lombok.Data;
  */
 @Data
 public class RecallParam {
-    private String provinceCode;
-    private String cityCode;
+    private String regionCode;
     private String mid;
     private int appType;
     private String dataKey;

+ 8 - 18
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/RecallService.java

@@ -1,6 +1,5 @@
 package com.tzld.piaoquan.recommend.server.service.recall;
 
-import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
 import com.tzld.piaoquan.recommend.server.common.enums.AppTypeEnum;
 import com.tzld.piaoquan.recommend.server.model.Video;
 import com.tzld.piaoquan.recommend.server.service.ThreadPoolFactory;
@@ -16,7 +15,10 @@ import org.springframework.context.ApplicationContextAware;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Future;
@@ -32,8 +34,6 @@ public class RecallService implements ApplicationContextAware {
     private final Map<String, RecallStrategy> strategyMap = new HashMap<>();
     private ApplicationContext applicationContext;
     private ExecutorService pool = ThreadPoolFactory.recallPool();
-    @ApolloJsonValue("${city_code:[]}")
-    private Set<String> cityCodes;
 
     @PostConstruct
     public void init() {
@@ -84,7 +84,7 @@ public class RecallService implements ApplicationContextAware {
             strategies.add(strategyMap.get(SpecialRecallStrategy.class.getSimpleName()));
             return strategies;
         }
-        
+
         if (param.getAppType() == AppTypeEnum.LAO_HAO_KAN_VIDEO.getCode()
                 || param.getAppType() == AppTypeEnum.ZUI_JING_QI.getCode()) {
             strategies.addAll(getRegionRecallStrategy(param));
@@ -115,24 +115,14 @@ public class RecallService implements ApplicationContextAware {
     }
 
     private List<RecallStrategy> getRegionRecallStrategy(RecallParam param) {
-        String provinceCode = StringUtils.isNotBlank(param.getProvinceCode())
-                ? param.getProvinceCode()
-                : "-1";
-        String cityCode = StringUtils.isNotBlank(param.getCityCode())
-                ? param.getCityCode()
-                : "-1";
-        String regionCode = cityCodes.contains(cityCode) ? cityCode : provinceCode;
 
         List<RecallStrategy> strategies = new ArrayList<>();
-        if (regionCode.equals("-1")) {
-            strategies.add(strategyMap.get(RegionRelative24HRecallStrategy.class.getSimpleName()));
-            strategies.add(strategyMap.get(RegionRelative24HDupRecallStrategy.class.getSimpleName()));
-        } else {
+        if (StringUtils.isNotBlank(param.getRegionCode())) {
             strategies.add(strategyMap.get(RegionHRecallStrategy.class.getSimpleName()));
             strategies.add(strategyMap.get(Region24HRecallStrategy.class.getSimpleName()));
-            strategies.add(strategyMap.get(RegionRelative24HRecallStrategy.class.getSimpleName()));
-            strategies.add(strategyMap.get(RegionRelative24HDupRecallStrategy.class.getSimpleName()));
         }
+        strategies.add(strategyMap.get(RegionRelative24HRecallStrategy.class.getSimpleName()));
+        strategies.add(strategyMap.get(RegionRelative24HDupRecallStrategy.class.getSimpleName()));
 
         return strategies;
     }

+ 1 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/Region24HRecallStrategy.java

@@ -20,7 +20,7 @@ public class Region24HRecallStrategy extends AbstractRegionRecallStrategy {
 
     @Override
     protected String poolKey(RecallParam param, String now_dt, int h) {
-        return String.format("recall:item:score:region:dup1:region24h:%s:%s:%s:%s:%s", param.getProvinceCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
+        return String.format("recall:item:score:region:dup1:region24h:%s:%s:%s:%s:%s", param.getRegionCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
     }
 
     @Override

+ 1 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/RegionHRecallStrategy.java

@@ -20,7 +20,7 @@ public class RegionHRecallStrategy extends AbstractRegionRecallStrategy {
 
     @Override
     protected String poolKey(RecallParam param, String now_dt, int h) {
-        return String.format("recall:item:score:region:h:%s:%s:%s:%s:%s", param.getProvinceCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
+        return String.format("recall:item:score:region:h:%s:%s:%s:%s:%s", param.getRegionCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
     }
 
     @Override

+ 1 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/RegionRelative24HDupRecallStrategy.java

@@ -20,7 +20,7 @@ public class RegionRelative24HDupRecallStrategy extends AbstractRegionRecallStra
 
     @Override
     protected String poolKey(RecallParam param, String now_dt, int h) {
-        return String.format("recall:item:score:region:dup3:24h:%s:%s:%s:%s:%s", param.getProvinceCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
+        return String.format("recall:item:score:region:dup3:24h:%s:%s:%s:%s:%s", param.getRegionCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
     }
 
     @Override

+ 1 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/RegionRelative24HRecallStrategy.java

@@ -20,7 +20,7 @@ public class RegionRelative24HRecallStrategy extends AbstractRegionRecallStrateg
 
     @Override
     protected String poolKey(RecallParam param, String now_dt, int h) {
-        return String.format("recall:item:score:region:dup2:24h:%s:%s:%s:%s:%s", param.getProvinceCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
+        return String.format("recall:item:score:region:dup2:24h:%s:%s:%s:%s:%s", param.getRegionCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
     }
 
     @Override

+ 1 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/RegionRelative48HDupRecallStrategy.java

@@ -19,7 +19,7 @@ public class RegionRelative48HDupRecallStrategy extends AbstractRegionRecallStra
 
     @Override
     protected String poolKey(RecallParam param, String now_dt, int h) {
-        return String.format("recall:item:score:region:dup3:48h:%s:%s:%s:%s:%s", param.getProvinceCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
+        return String.format("recall:item:score:region:dup3:48h:%s:%s:%s:%s:%s", param.getRegionCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
     }
 
     @Override

+ 1 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/RegionRelative48HRecallStrategy.java

@@ -19,7 +19,7 @@ public class RegionRelative48HRecallStrategy extends AbstractRegionRecallStrateg
 
     @Override
     protected String poolKey(RecallParam param, String now_dt, int h) {
-        return String.format("recall:item:score:region:dup2:48h:%s:%s:%s:%s:%s", param.getProvinceCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
+        return String.format("recall:item:score:region:dup2:48h:%s:%s:%s:%s:%s", param.getRegionCode(), param.getDataKey(), param.getRuleKey(), now_dt, h);
     }
 
     @Override